订单捕获后 PayPal 付款状态 'PENDING' 'COMPLETED'(原因 : unilateral)

标签 paypal paypal-sandbox paypal-rest-sdk

我正在尝试将 PayPal 集成到我们的网站上,我们允许商家使用 PayPal Connect 连接他们的帐户。一旦我有了商家访问 token ,我就会获取他们的帐户 ID,并将其用作商家 ID 来直接处理向其帐户的付款。

在前端我用过link允许客户向商家付款。我使用以下正文在后端生成订单 ID,然后将此 orderId 返回到前端:

request.requestBody({

        intent: 'CAPTURE',
        purchase_units: [{
            amount: {
                currency_code: currency,
                value: amount
            },
            payee: {
                merchant_id: accountId
            }
        }]
    });

客户付款后,我收到 CHECKOUT.ORDER.APPROVED webhook 通知,我尝试使用订单 ID CAPTURE 订单并获取以下信息回应

enter image description here

Paypal 订单捕获已完成,但 purchase_units[0]. payments.capture[0].status待处理

当我看到进行付款的客户沙箱帐户时,我看到一个 -3000 INR 的条目等待卖家领取。

在我的开发者帐户中的“通知”下,我确实看到商家收到了领取金额的通知。

但是当我登录我的商家沙盒帐户时,我没有看到任何事件。即使在捕获订单后,总金额仍然保持不变。

在前端,我已将以下参数传递给脚本

https://www.paypal.com/sdk/js?client-id=abcd&currency=INR&intent=capture&merchant-id=ABCDEFGHIJKLI

我在后端使用 Node JS 和 @paypal/checkout-server-sdk

最佳答案

待处理的原因为“单边”。

您显然正在沙盒模式下处理向沙盒接收者电子邮件或商家 ID 的付款,该付款当前不对应于任何帐户,或者未在帐户上确认。您需要使用该电子邮件地址创建一个沙盒企业帐户,或者使用该沙盒企业帐户 https://www.sandbox.paypal.com 中的现有帐户添加并确认它。接口(interface),以便在Sandbox中接受付款。

如果它存在于 https://www.sandbox.paypal.com/businessprofile/settings/email 中的帐户中但尚未确认(可能是由于您创建此帐户期间的沙盒错误),请发送新的确认消息并通过 https://www.paypal.com/signin?intent=developer&returnUri=https%3A%2F%2Fdeveloper.paypal.com%2Fdeveloper%2Fnotifications%2F 进行确认


顺便说一句,印度卢比付款只能由印度买家发送。印度境外的付款人无法完成印度卢比结账,该货币受到限制。

关于订单捕获后 PayPal 付款状态 'PENDING' 'COMPLETED'(原因 : unilateral),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63969025/

相关文章:

Paypal IPN 协议(protocol) : Why is the empty HTTP 200 response not send in the examples?

PayPal ipn 主动退款或撤销?

Paypal 定期支付API

php - 执行付款 - PayPal REST API

Paypal 自适应支付调用者

php - 更改 Paypal 购物车/结帐输入标签、表单名称并删除数量输入

c# - 无法连接到 PayPal 沙盒以验证 IPN 监听器收到的消息

c# - Paypal 快速结账 : Notes not being returned

paypal - 使用 PayPal Adaptive Payments API 获取费用金额?

android - 付款创建错误paypal sdk android