決済処理が含まれるシステムを作ったとき、その動作確認のために本物のクレジットカードを使って何度も決済をするといのは少し躊躇われます。
そんな開発者のために、ペイパルでは決済サービスの動作確認ができるテスト環境として、Sandboxが用意されています。
テストのためのダミーアカウントはPayPal Developerにて簡単に作成できます。「Buyer(買い手)」アカウントと「Seller(売り手)」アカウントを作り、決済処理を簡単に確認、シミュレーションすることができます。
テスト環境 Sandbox
https://www.sandbox.paypal.com/jp/webapps/mpp/merchant
PayPal 開発者向けサイト
https://developer.paypal.com/classic-home/
PayPal Developerでダミーアカウントを作成
ペイパルの本番用アカウントはあらかじめ作っておきます。そのアカウントでPayPal Developerにログインします。
左メニューでSandbox>Accountsを選びます。
PayPal Japanの説明によると、デフォルトでPERSONALとBUSINESSのアカウントが1つずつ作成されていますが、これらのアカウントでログインするにはパスワードを自身で設定し直す必要があります。パスワードの設定方法は後述のProfileの設定を参照ください。とのこと。
あまり良くわかりませんがとても簡単にテストアカウントが作成できますので、購入者用と販売者用のアカウントを1つずつ作成しましょう。
Create Accountボタンをクリック。
購入者か販売者かを選び、また、CountryをJapanにしてCreateボタンを押すだけですぐに作成されます。
名前やメールアドレス、パスワードまで、すべての情報をとりあえずダミーで作成してくれるのでとても便利。特に変更する必要もないと思います。やることは、それぞれのアカウントでSandboxにログインするためのメールアドレスとパスワードをメモしておくくらいでしょうか。
アカウントの詳細情報は、Manage Accountsの「…」をクリックし「View/Edit Account」から閲覧できます。
PayPal テスト環境 Sandboxの使い方
https://qiita.com/PPJP/items/6ba65ed21da7fba65586
PayPal Sandbox用の決済ボタンを作成する
PayPal Developerで作成したBusiness(販売者)アカウントでログインします。
ヘッダーメニューのツールから、すべてのツールを選択。
左メニューからPayPalの統合を選び、決済ボタン「開く」を選択。
ハートのマークを選んでおくと、ツールメニュー直下に決済ボタンという項目が追加されます。
サービスの内容に合わせて、ボタンの種類を選びます。
特に難しいことはありません。最低限、商品の金額を設定しておけば動作するのではないかと思います。設定したら、「ボタンを作成」を押します。
購読、あるいは購入ボタンを設置するためのhtmlコードが発行されます。
決済ボタンにカスタム値を設定する
決済ボタン自体はPayPalにより簡単に作成することができますが、実際のWebサービスに導入するためには、どの会員が購入したのか、どの商品を購入したのか、などWebサービス内で運用しているパラメーターを追加しておかないと正確に把握することができません。
そこで、下記のようなタグでcustom値をFormタグ内に追加で設置します。
<input TYPE="hidden" name="custom" value="●●●●" >
valueで設定した値はPayPal決済処理のあとに即時払い通知が行われ、IPNリスナープログラムのほうで受け取ることができます。$_POST[“custom”]=●●●●という形でそのままの値が返されるので、例えばユーザーIDなどを設定しておき、決済後に有料会員フラグをONにする、などといった処理を行うことができます。
複数のパラメータを設定したい場合は、valueにAAA,BBBやuserid:123&planid:5のように記述しておき、$_POST[“custom”]で受け取ったあとに分解することで対応可能です。
paypal月額課金のIPN Listenerの実装
http://www.digitra.net/2016/01/paypalipn-listener.html
決済処理後のリダイレクトページの設定
PayPalの決済ボタンを設置して決済処理を行うと、自身のWebサービスからPayPalのサイトへとページ遷移してしまいます。
ユーザーにとって違和感なく使ってもらうため、決済処理のあと戻ってくるページを設定することができます。
設定ボタンからアカウント設定選択。
左メニューのウェブペイメントを選び、ウェブサイトの設定を開きます。
右側のフォームのボタンをONにし、復帰URLを設定して完了です。
IPNリスナーのURL設定
決済処理を行った後、通知を自身のウェブサービスで受け取るURLを設定します。
IPNシミュレーターで動作テストをした後、通知をもとにWebサービスで必要となる処理を加えたプログラムのURLを、ここで設定しておきます。
設定>アカウントの設定>ウェブペイメントを開き、即時支払い通知を選びます。
自身のWebサイトに設置したURLを入力して保存して完了です。
以上で設定は完了です。
自身のWebサービスから、PayPalの決済ボタンで決済処理をし(購入者アカウントでログイン)、きちんと設定した戻りURLにリダイレクトされるか、また、決済後のIPNをきちんと受け取って、必要な処理が行われているかを動作確認してみてください。
コメント