订单捕获为“已完成”后,贝宝的付款状态为“待处理”(原因:单方面)

时间:2020-09-19 12:53:41

标签: paypal paypal-sandbox paypal-rest-sdk

我正在尝试在我们的网站上集成PayPal,我们允许商家使用PayPal Connect连接他们的帐户。获得商户访问令牌后,我将获取他们的帐户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

贝宝订单捕获COMPLETED,但purchase_units[0].payments.capture[0].statusPENDING

当我看到付款的客户沙盒帐户时,我看到-3000 INR的条目等待卖方提出索赔。

在我的开发人员帐户的“通知”下,我确实看到商家收到通知以要求赔偿该金额。

但是,当我登录商人沙盒帐户时,我没有看到任何活动。即使在获得订单后,总金额仍保持不变。

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

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

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

1 个答案:

答案 0 :(得分:1)

待审核原因为“ UNILATERAL”。

您显然正在以沙箱模式处理向沙箱接收者的电子邮件或目前不与任何帐户对应的商人ID的付款。您需要使用该电子邮件地址创建一个沙箱企业帐户,或在该沙箱企业帐户的https://www.sandbox.paypal.com界面中使用现有帐户添加并确认该帐户,以便在沙箱中接受付款。

如果该帐户存在于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进行确认< / p>


顺便说一句,INR付款只能由印度买家发送。来自印度境外的付款人无法完成INR结帐,因此该货币受到限制。

相关问题