DoExpressCheckoutPayment或/execute交易始终处于待处理状态。为什么?

4

当我将PayPal与我的沙盒测试账户集成时,通过DoExpressCheckoutPayment API调用或PayPal的新/execute REST调用创建的所有交易都是挂起状态,我必须手动接受它们,或者等待3-5天。为什么?

1个回答

14

这可能会发生在测试和现实交易中,取决于多个因素。

如果满足以下条件,PayPal将把交易设置为“待处理”状态:

  1. 您发送交易的货币不是您账户上当前配置的货币
  2. 沙盒测试账户启用了“付款审核”功能
  3. PayPal认为需要由PayPal分析员进行手动审核
  4. 现实或测试交易符合您在账户中设置的欺诈管理过滤器之一,并且该过滤器的默认操作设置为“审核”。
  5. 您的买家使用非即时资金来源

1:

通常情况下,当您创建一个美国PayPal测试账户,并发送以英镑或欧元(或任何其他非美元货币)结算的交易时,就会出现这种情况。

默认情况下,美国账户已配置为接受美元,并询问您-商家-是否愿意接受任何其他货币的交易。对于非美国账户,它们通常配置为接受以美元和您注册国家的货币(例如,英国账户的美元和英镑,爱尔兰账户的美元和欧元)进行付款。

如果您想更改此行为,请登录您的测试或现实账户,进入个人资料,“接收付款首选项”,并从“询问我”更改为“否,接受并转换为[您的主要货币]。”

PayPal payment receiving preferences - accept currency screen

或者,您也可以进入“货币”并在您的账户中开设新的货币余额。

2:

为了方便挂起交易的测试,PayPal的开发者网站允许您为“支付审核”启用特定的沙盒(卖家)账户。
支付审核意味着发送到该账户的所有交易都将被手动审核。当关闭支付审核时,所有交易都将被释放并完成。
这是旨在模拟上述第3点中解释的实际行为的功能。

您可以通过https://developer.paypal.com > 应用程序 > 沙盒账户 > 单击商业账户的小箭头 > 配置文件 > 设置来启用或禁用付款审核功能。
对于实时交易,PayPal可能选择暂停某些交易以进行手动审核。这更多是一个政策问题,因此我不会深入探讨,但基本上PayPal认为这比其他交易风险更高,因此需要由PayPal分析师进行手动审核。完成审核后,付款将被接受或拒绝。最好使用PayPal即时付款通知进行集成,以便在此交易上发生任何操作时得到通知。
PayPal为PayPal网站支付Pro账户提供了一个名为“欺诈管理过滤器”的产品。该产品允许您有选择地将过滤器应用于Pro交易(通过DoDirectPayment API调用发起的交易)。例如,您可能希望自动拒绝或审核所有已知存在风险的IP地址的交易。如果您已启用此过滤器,并且该交易触发了此过滤器,则该交易可能会挂起,直到您对该交易采取行动(拒绝或接受)。有关PayPal欺诈管理过滤器的更多信息,请阅读我们开发者网站上的欺诈管理过滤器指南
您的买家可能使用了非即时资金来源,例如银行转账或电子支票。这可能需要3-5个工作日才能清算并标记为“已完成”的交易。如果您已经与PayPal IPN集成,那么在交易完成时,您将收到IPN消息。


非常好的答案,真的帮了很多忙! - MadDeveloper
非常感谢您的这篇文章,它节省了我们很多时间。 - Michael Samteladze

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接