午後の大部分をこの問題に対処するのに費やしたので、助けていただければ幸いです。
Active_paypal_adaptive_payment ゲートウェイで ActiveMerchant を使用していますが、いくつか問題が発生しています。まず、私はアプリ ID を持っていません。また、どこで取得すればよいかわかりません。これが私の問題なのだろうかと思っています。
私の目標は、Adaptive API を使用して、あるユーザーの PayPal アカウントから別のユーザーに送金することです。ActiveMerchant Gateway が正しい XML を生成していると確信できるところまでデバッグしました。
<?xml version="1.0" encoding="UTF-8"?>
<PayRequest>
<requestEnvelope>
<detailLevel>ReturnAll</detailLevel>
<errorLanguage>en_US</errorLanguage>
</requestEnvelope>
<actionType>PAY</actionType>
<cancelUrl>http://localhost:3000/.../</cancelUrl>
<returnUrl>http://localhost:3000/.../</returnUrl>
<ipnNotificationUrl>http://localhost:3000/.../</ipnNotificationUrl>
<currencyCode>USD</currencyCode>
<receiverList>
<receiver>
<email>sandbox_account@gmail.com</email>
<amount>100.0</amount>
</receiver>
</receiverList>
<reverseAllParallelPaymentsOnError>false</reverseAllParallelPaymentsOnError>
</PayRequest>
PayPal は次のように応答します。
response_rash: !ruby/hash:Hashie::Rash
response_envelope: !ruby/hash:Hashie::Rash
timestamp: '2012-05-28T15:02:43.381-07:00'
ack: Success
correlation_id: 881baf8e93444
build: '2945555'
pay_key: AP-879734246V2339109
payment_exec_status: CREATED
次に、ユーザーを正しい PayPal ページにリダイレクトします。ユーザーがログインして情報を確認し、[Pay] をクリックすると、次のエラーが表示されます。
お支払いを完了できません。参加している Web サイトに戻って、もう一度やり直してください。
ステージング環境にアップロードして、IPN がトリガーされるかどうかを確認しましたが、そうではありません。これは、支払いが実際に完了していないためだと思います。PayPal 側で何が起こっているのかを知りたいのですが、それを行うためのツールは提供されていないと思います。
誰かが同様のエラーを見たことがありますか? 次にどこに進むべきかについて何かアドバイスはありますか?