PayPal自适应付款 - 在PayPal网站上失败

时间:2012-05-28 22:12:56

标签: ruby-on-rails ruby paypal activemerchant

我花了大部分时间来处理这个问题,所以感谢任何帮助。

我正在使用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结束时发生了什么,但我认为他们没有提供任何工具来做到这一点。

有没有人见过类似的错误?关于下一步该进行的任何建议?

1 个答案:

答案 0 :(得分:5)

问题实际上是缺少App ID。经过一番挖掘后,我发现Sandbox Global APP ID为APP-80W284485P519543T。这使它现在有效,直到我得到一个真正的应用程序ID。