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

Posted

技术标签:

【中文标题】PayPal 自适应支付 - 在 PayPal 网站上失败【英文标题】:PayPal Adaptive Payments - Failing on PayPal Website 【发布时间】:2012-06-03 04:35:36 【问题描述】:

我下午大部分时间都在处理这个问题,因此感谢您提供任何帮助。

我将 ActiveMerchant 与 active_paypal_adaptive_payment 网关一起使用,但遇到了一些问题。首先,我没有应用程序 ID,也不知道从哪里获得。我想知道这是不是我的问题。

我的目标是使用自适应 API 从一个用户的 PayPal 帐户向另一个用户汇款。我已经调试到可以确定 ActiveMerchant 网关正在生成正确的 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 到底发生了什么,但我认为他们没有提供任何工具来做到这一点。

有没有人看到类似的错误?关于下一步从哪里进行的任何建议?

【问题讨论】:

cancelUrlreturnUrlipnNotificationUrl 真的应该是 localhost 吗?似乎是一个容易犯的错误...... @sarnold 对于开发环境,这些 URL 工作正常 - 例如,取消 URL 返回工作正常。 【参考方案1】:

问题实际上是缺少 App ID。经过一番挖掘,我发现 Sandbox Global APP ID 是 APP-80W284485P519543T。在我获得真正的 App ID 之前,它现在可以正常工作。

【讨论】:

你刚刚把我从痛苦中拯救了出来 :)

以上是关于PayPal 自适应支付 - 在 PayPal 网站上失败的主要内容,如果未能解决你的问题,请参考以下文章

沙盒中的 PayPal 自适应链式支付

PayPal 自适应支付、链式支付、ngx-paypal

我如何获得 Paypal 自适应支付支付响应

PayPal 自适应支付与 Braintree 商家

PayPal自适应支付链式支付错误

PayPal 自适应支付表单提交错误