PayPal sandboxでの環境設定
IPN(即時支払い通知)のシステム構築
以前作ったsandboxでのテスト環境を使って、別の事業を構築する為のテストを行ったらエラーに悩まされた。
IPNで通知される状態が
payment_status=Pending pending_reason=paymentreview
となってしまう。悩んだあげく、受取人のアカウント設定がおかしいのに気付く。
前にいろいろいじったアカウントを受取人に設定したせいかも。
とりあえず変更してみる。
主要通貨を変更
- Profile -> Financial InformationのCurrency Balances から
- セレクトボックス(Select new currency)から Japanese Yen を選択し、Add Currencyボタンで追加する
- 追加された一覧の Japanese Yen のラジオボタンと選択し、Make Primaryボタンを押す。
ウェブ ペイメントの設定
Selling Preferences -> Website Payment Preferences から行う。
各項目は以下の通り。
Auto Return for Website Payments
Auto Return: Off
Return URL: 無し
自動復帰はフォームパラメーターで渡せるのでOff。
事業が1つしか無い場合を除き自動復帰URLをケースによって変えたい場合があるので。
Payment Data Transfer (optional)
Payment Data Transfer: Off
これもフォームで渡せるので。
Encrypted Website Payments
Block Non-encrypted Website Payment: Off
フォームパラメータの暗号化(SSLではない)されていない場合も受け取るようにする。
PayPal Account Optional
PayPal Account Optional: On
これが Off だとPayPalアカウントを持っていないと決済出来ない。
持っていない場合、PayPalへの登録が必須となってしまう。
Contact Telephone Number
Contact Telephone: Off
Express Checkout Settings
Support giropay and bank transfer payments: No
とりあえず設定はしてみたものの、IPNで返されるパラメーターは
payment_status=Pending
pending_reason=paymentreview
のままなので、テストではPendingの場合はエラーとしないで(当然 payment_statusもCompletedにならない)処理するしかないか??
-
前の記事
LWP::SimpleでUserAgentを指定する 2009.11.12
-
次の記事
OpenIDを使う為のPerlモジュールをインストール 2009.12.24