以下の順でインストールするとうまくいくらしい。
Math::BigInt
Math::BigInt::GMP
Crypt::DH
Net::OpenID::Consumer
Net::OpenID::Consumerをインストール時にXML::Simpleが足りなかったので先にインストールした。
参考:http://www.atmarkit.co.jp/fsecurity/rensai/openid03/openid01.html
以下の順でインストールするとうまくいくらしい。
Math::BigInt
Math::BigInt::GMP
Crypt::DH
Net::OpenID::Consumer
Net::OpenID::Consumerをインストール時にXML::Simpleが足りなかったので先にインストールした。
参考:http://www.atmarkit.co.jp/fsecurity/rensai/openid03/openid01.html
以前作ったsandboxでのテスト環境を使って、別の事業を構築する為のテストを行ったらエラーに悩まされた。
IPNで通知される状態が
payment_status=Pending pending_reason=paymentreview
となってしまう。悩んだあげく、受取人のアカウント設定がおかしいのに気付く。
前にいろいろいじったアカウントを受取人に設定したせいかも。
とりあえず変更してみる。
Selling Preferences -> Website Payment Preferences から行う。
各項目は以下の通り。
Auto Return: Off
Return URL: 無し
自動復帰はフォームパラメーターで渡せるのでOff。
事業が1つしか無い場合を除き自動復帰URLをケースによって変えたい場合があるので。
Payment Data Transfer: Off
これもフォームで渡せるので。
Block Non-encrypted Website Payment: Off
フォームパラメータの暗号化(SSLではない)されていない場合も受け取るようにする。
PayPal Account Optional: On
これが Off だとPayPalアカウントを持っていないと決済出来ない。
持っていない場合、PayPalへの登録が必須となってしまう。
Contact Telephone: Off
Support giropay and bank transfer payments: No
とりあえず設定はしてみたものの、IPNで返されるパラメーターは
payment_status=Pending
pending_reason=paymentreview
のままなので、テストではPendingの場合はエラーとしないで(当然 payment_statusもCompletedにならない)処理するしかないか??