沙盒环境下的一切都很好,但在生产环境中出了点问题。
首先,我创建了一个包含足够信息的付款。还是不错的。
其次,我重定向到最终用户的批准网址,用户接受付款。
最后,我在 payerId 内发出请求执行付款,但收到响应错误,返回 400 和消息名称 TRANSACTION_REFUSED。 谁来帮帮我!
明细付款:here
细节错误:here
答案 0 :(得分:0)
付款尝试被 PayPal 拒绝。此错误是付款被拒绝时的正常行为。
让用户使用不同的帐户或付款方式。
与拒绝问题无关,您使用的是已弃用的 v1/payments API,不应将其用于任何新的集成。以下是如何更改为当前的 v2/checkout/orders 集成:
在您的服务器上创建两条路由,一条用于“创建订单”,另一条用于“捕获订单”,documented here。这些路由应该只返回 JSON 数据(没有 HTML 或文本)。后者应该(成功时)在返回之前将付款详细信息存储在您的数据库中(特别是 purchase_units[0].payments.captures[0].id
,PayPal 交易 ID)
将这两条路线与以下审批流程配对:https://developer.paypal.com/demo/checkout/#/pattern/server