订单捕获后PayPal支付状态'PENDING''COMPLETED'(原因:单方面)
PayPal payment status 'PENDING' after order capture 'COMPLETED' (reason: unilateral)
我正在尝试在我们的网站上集成 PayPal,我们允许商家使用 PayPal Connect 连接他们的帐户。一旦我有了商家访问令牌,我就会获取他们的帐户 ID,我将其用作商家 ID 以直接处理对他们帐户的付款。
在前端,我使用 link 允许客户向商家付款。我使用以下正文在后端生成订单 ID,并将此 orderId return 发送到前端:
request.requestBody({
intent: 'CAPTURE',
purchase_units: [{
amount: {
currency_code: currency,
value: amount
},
payee: {
merchant_id: accountId
}
}]
});
客户付款后,我收到 CHECKOUT.ORDER.APPROVED
网络钩子通知,我在该通知上尝试使用订单 ID CAPTURE
订单并获得以下响应
Paypal 订单捕获 COMPLETED
但 purchase_units[0].payments.capture[0].status
是 PENDING
当我看到付款的客户沙盒帐户时,我看到一个条目 -3000 INR 等待卖家索赔。
在我的开发者帐户的“通知”下,我确实看到商家收到了索取金额的通知。
但是当我登录我的商户沙盒帐户时,我没有看到任何 activity。即使在捕获订单后,总金额仍然保持不变。
在前端,我已将以下参数传递给脚本
https://www.paypal.com/sdk/js?client-id=abcd¤cy=INR&intent=capture&merchant-id=ABCDEFGHIJKLI
我在后端使用 Node JS @paypal/checkout-server-sdk
待处理的原因是 'UNILATERAL'。
您显然是在沙盒模式下处理一笔付款,收款人是沙盒收件人电子邮件地址或商户 ID,但目前不对应任何帐户,或未在帐户上确认。您需要使用该电子邮件地址创建一个沙盒企业帐户,或者在该沙盒企业帐户的 https://www.sandbox.paypal.com 界面中添加并使用现有帐户进行确认,以便在沙盒中接受付款。
如果它存在于 https://www.sandbox.paypal.com/businessprofile/settings/email but is not confirmed (likely due to a Sandbox bug during the period you created this account), send a new confirmation message and confirm it via https://www.paypal.com/signin?intent=developer&returnUri=https%3A%2F%2Fdeveloper.paypal.com%2Fdeveloper%2Fnotifications%2F
的帐户中
顺便说一下,INR 付款只能由印度买家发送。来自印度以外的付款人无法完成 INR 结账,此货币受到限制。
我正在尝试在我们的网站上集成 PayPal,我们允许商家使用 PayPal Connect 连接他们的帐户。一旦我有了商家访问令牌,我就会获取他们的帐户 ID,我将其用作商家 ID 以直接处理对他们帐户的付款。
在前端,我使用 link 允许客户向商家付款。我使用以下正文在后端生成订单 ID,并将此 orderId return 发送到前端:
request.requestBody({
intent: 'CAPTURE',
purchase_units: [{
amount: {
currency_code: currency,
value: amount
},
payee: {
merchant_id: accountId
}
}]
});
客户付款后,我收到 CHECKOUT.ORDER.APPROVED
网络钩子通知,我在该通知上尝试使用订单 ID CAPTURE
订单并获得以下响应
Paypal 订单捕获 COMPLETED
但 purchase_units[0].payments.capture[0].status
是 PENDING
当我看到付款的客户沙盒帐户时,我看到一个条目 -3000 INR 等待卖家索赔。
在我的开发者帐户的“通知”下,我确实看到商家收到了索取金额的通知。
但是当我登录我的商户沙盒帐户时,我没有看到任何 activity。即使在捕获订单后,总金额仍然保持不变。
在前端,我已将以下参数传递给脚本
https://www.paypal.com/sdk/js?client-id=abcd¤cy=INR&intent=capture&merchant-id=ABCDEFGHIJKLI
我在后端使用 Node JS @paypal/checkout-server-sdk
待处理的原因是 'UNILATERAL'。
您显然是在沙盒模式下处理一笔付款,收款人是沙盒收件人电子邮件地址或商户 ID,但目前不对应任何帐户,或未在帐户上确认。您需要使用该电子邮件地址创建一个沙盒企业帐户,或者在该沙盒企业帐户的 https://www.sandbox.paypal.com 界面中添加并使用现有帐户进行确认,以便在沙盒中接受付款。
如果它存在于 https://www.sandbox.paypal.com/businessprofile/settings/email but is not confirmed (likely due to a Sandbox bug during the period you created this account), send a new confirmation message and confirm it via https://www.paypal.com/signin?intent=developer&returnUri=https%3A%2F%2Fdeveloper.paypal.com%2Fdeveloper%2Fnotifications%2F
的帐户中顺便说一下,INR 付款只能由印度买家发送。来自印度以外的付款人无法完成 INR 结账,此货币受到限制。