我花了大部分时间来处理这个问题,所以感谢任何帮助。
我正在使用ActiveMerchant和active_paypal_adaptive_payment网关,我遇到了一些问题。首先,我没有应用程序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页面。用户登录,查看他们的信息,然后点击“付款”,此时他们会遇到此错误:
您的付款无法完成。请返回参与网站,然后重试。
我甚至上传到临时环境以查看IPN是否被触发但是不是,我认为这是因为付款从未实际完成。我希望我能看到PayPal结束时发生了什么,但我认为他们没有提供任何工具来做到这一点。
有没有人见过类似的错误?关于下一步该进行的任何建议?
答案 0 :(得分:5)
问题实际上是缺少App ID。经过一番挖掘后,我发现Sandbox Global APP ID为APP-80W284485P519543T。这使它现在有效,直到我得到一个真正的应用程序ID。