sandbox 支払いテスト

sandbox 支払いテスト

支払い画面で
PayPal アカウントから支払うをクリック

Screenshot from 2016-10-13 23:40:52

sandbox アカウントで
PERSONAL type で作成したアカウントでログイン

カード入力画面になるので
テストアカウントなので
適当にカード番号などを入力
なお 4980 は VISA のときに使う番号

次の画面では確認のための画面なので
同意して支払うをクリック

Screenshot from 2016-10-14 00:15:55

次の画面で Test Store にもどるをクリック

Screenshot from 2016-10-14 00:16:36

しばらくすると
トップページにリダイレクトされ
購入時のステータスが表示される

Screenshot from 2016-10-14 00:17:32

なお、これらの情報に関しては
paypal develoer サイトで
Dashbord の中にある
Nortifications で確認が可能

Screenshot from 2016-10-14 00:20:48

paypal sandbox の使用

paypal sandbox の使用

まずは paypal developer account の取得

paypal に登録して
https://developer.paypal.com/
へアクセス

次にsandboxアカウントを作成ため
Dashbord をクリック

Screenshot from 2016-10-11 23:31:35

次に sandbox をクリックし
Create Account をクリック

Screenshot from 2016-10-11 23:35:27

paypal sandbox アカウントの作成でメルアド入力があるけど
テストなので実在しないもので適当でOKでした

PayPal Sandboxの使い方、テスト方法

を参考にさせていただきました

countryには Japan
Account Type には Business(Merchant Account)
Email にはメルアドで存在しないものでOKですが
ほかとかぶらないものでないとだめです
Password にはパスワードを設定します

Screenshot from 2016-10-11 23:53:56

これらを入力したら、下にスクロールして
Create Account をクリックします

Screenshot from 2016-10-12 00:00:26

同じ要領で buyer アカウントも作成します

異なるところは、Account Type を
Personal(buyer Account) にすることです

Screenshot from 2016-10-11 23:59:22

これで2つのテストアカウントができたら、次に
ngrockをインストールします

ubuntu の場合 パッケージマネージャーでインストールできるので

sudo apt-get install ngrok-client

でインストールします

これで準備はOKなので
まず Atom でターミナルを開けるので
こちらで

rails s

を実行します

次に ctrl + alt + t で端末を開けるので
こちらで

ngrok 3000

で ngrok を起動したのですが

Invalid address server_addr 'ngrokd.ngrok.com:443': lookup ngrokd.ngrok.com: no such host

とエラーがでるので検索

Testing PayPal with Rails

によると

The packaged version (1.6) no longer works, because service for ngrok 1.x was discontinued in April 2016.

The ngrok 1.X service has shut down and all users are encouraged to upgrade to ngrok 2.0.

The easiest way to continue using ngrok is to upgrade to 2.0. ngrok 2.0 has been available for nearly a year and it is a faster, more stable and more powerful tool. I hope that you’ll love it even more than the original.

とあり、

ngrokの1.Xサービスがシャットダウンし、
2.0アップグレードすることをお勧めする

とのことなので、ダウンロードページからダウンロード

現在のngrok のバージョンをみるには

ngrok version

でみれます

ubuntu 14.04 の場合は apt-get でいれると
ver1.6 でした

https://ngrok.com/
へアクセスし
Download をクリック

Screenshot from 2016-10-13 21:43:24

次に使用したいOSのところの Download をクリック
今回は Linux 64bit です

Screenshot from 2016-10-13 21:44:44

次にダウンロードしたファイルの解凍をします

unzip ~/ダウンロード/ngrok-stable-linux-amd64.zip 

ngrokの起動は

./ngrok http 3000

で行います
停止するには ctrl + c を行います

これで端末に表示されている
Forwarding のところにあるURLをコピーし
ブラウザからアクセスします

Screenshot from 2016-10-13 21:59:09

すると、localhost:3000 で起動したデモと同じ画面がでるので
どれでも好きなコースをクリックします
今回は
Register($475) を選択しました

Screenshot from 2016-10-13 22:02:15

すると登録画面がでてくるので
Full name は適当に
Company も適当に
Email と telephone には
sandbox アカウントで
PERSONAL type で作成したアカウントのものを使います

入力したら、Registration Payment をクリックします

Screenshot from 2016-10-13 23:39:31

これで実行したけどエラー

Screenshot from 2016-10-13 22:14:36

参考サイトをよく見たら、モデルの属性を追加するため

rails g migration add_params_status_transaction_id_purchased_at_to_registrations notification_params:text status:string transaction_id:string purchased_at:datetime

の実行が必要

そして、app/models/registration.rb の
9行目の

 business: "merchant@gotealeaf.com",

の中のメールアドレス
を BUSINESS で登録したテストアカウントのメールアドレスに変更します

さらに、/config/secrets.yml の
16行目の

 app_host: http://3c99b47d.ngrok.com

のURL部分を ngrok で表示されたURLに変更します

これで再度 ngrok のURLへブラウザでアクセスし
Registration Payment をクリックすると
paypal の支払い画面がでてきます

Screenshot from 2016-10-13 23:39:31

Screenshot from 2016-10-13 23:40:52

テストモードかを調べるには
URL部分が
https://www.sandbox.paypal.com/
となっているのでわかります

とりあえずここまでできたので続きは次回にします

rails で paypal を使ってみた

rails で paypal を使ってみた

Process Payments With Paypal in Rails, Part 1 – Basic Checkout

にやり方が載っていたので実験

git clone https://github.com/gotealeaf/paypal-basics

git clone
cd paypal-basics/

で移動

rake db:create

を実行したら

rbenv: version `2.1.2' is not installed (set by /home/snowpool/ekitika/paypal-basics/.ruby-version)

となったため検索


rbenvのよく使うコマンドまとめ

を参考に対処

まずは

rbenv -v

でバージョン確認

現在のバージョンは
rbenv 1.0.0-19-g29b4da7

次に
インストール可能なバージョンを確認

rbenv install -l

これでインストール可能なものの中に
今回必要とされているバージョンがあったので
バージョン指定でインストール

rbenv install 2.1.2

少しここで時間がかかるため余裕のあるときに
実行したほうがいいかも

しかし

BUILD FAILED (Ubuntu 14.04 using ruby-build 20160330)

とエラーがでるため検索

Ruby 2.2.0をrbenvとruby-buildでインストール

を参考に対処

sudo apt-get install libffi-dev

を実行したけどすでにインストール済み

このため
rbenv と ruby-build のアップデートをすることに

rbenvを更新してRuby2.3をインストールする

を参考に
rbenv のアップデート

cd ~/.rbenv
git pull

これで rbenv の更新ができます

次に ruby-build の更新

cd ~/.rbenv/plugins/ruby-build/
git pull

で更新

しかし、結果は変わらず

make[2]: *** [ossl_ssl.o] エラー 1

のエラーログを元に
https://github.com/rbenv/ruby-build/wiki
を参考にパッケージをインストール

sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-devhttps://github.com/rbenv/ruby-build/wiki

でインストール

しかし、再度 rbenv で ruby 2.1.2 をインストールしようとすると

compiling raddrinfo.c
compiling ifaddr.c
linking shared-object socket.so
make[2]: ディレクトリ `/tmp/ruby-build.20161010213815.18285/ruby-2.1.2/ext/socket' から出ます
linking shared-object ripper.so
make[2]: ディレクトリ `/tmp/ruby-build.20161010213815.18285/ruby-2.1.2/ext/ripper' から出ます
linking shared-object zlib.so
make[2]: ディレクトリ `/tmp/ruby-build.20161010213815.18285/ruby-2.1.2/ext/zlib' から出ます
make[1]: ディレクトリ `/tmp/ruby-build.20161010213815.18285/ruby-2.1.2' から出ます
make: *** [build-ext] エラー 2


WARNING: ruby-2.1.2 is nearing its end of life.
It only receives critical security updates, no bug fixes.

がでるため
古いものは除外することに

とりあえず
.ruby-version の書き換え
2.1.2 では使えないため
2.3.0 に保存し

bundle update
bundle install

これで問題なく動いた

Screenshot from 2016-10-10 23:43:01

とりあえずデモは動いたので続きは次回

PayPal アカウント取得しました

WebサービスAPIの講習があり、決済に PayPal アカウントで行うか
もしくはゲスト扱いで、クレジットカードの情報を入力するかを
選ぶことになったので、この際、アカウントを作成することにしました
PayPalのアカウント取得と簡単な利用方法、使い方
を参考に、アカウントを取得しました
ちなみに、PayPal API を用いることで
決済方法として express checkout というものが使えるようになります
まだ詳しい情報は調べている途中ですが、
PayPalの使い方 その2 – Express Checkout APIによる課金システムの実装 解説
に解説が載っていましたので、今後使えるようにスキルアップしていこうと思います
ちなみに、express checkout の説明に関しては
エクスプレス チェックアウト
に掲載されています