付款状态保持“待处理”
Posted
技术标签:
【中文标题】付款状态保持“待处理”【英文标题】:Payment status remains "Pending" 【发布时间】:2013-06-30 21:24:11 【问题描述】:我在我的网上商店中集成了 PayPal,以便通过自动产品交付实现即时付款(之前已经有此功能,但只能通过 sofort.com 进行即时电汇)。我在 PayPal 提供的示例的帮助下集成了它(我正在使用 ReviewOrder.php、GetExpressCheckoutDetails 和 DoExpressCheckoutPayment)。
如果他们使用 PayPal 余额或关联的信用卡付款,效果会很好。然而,一些来自德国的客户在他们的账户中没有余额,而只有一个与他们的账户相关联的银行账户。付款通过并且他们收到了他们的产品,但是我注意到付款状态将保持“待处理”1 个月,然后更改为“已过期”,因此实际上没有钱到账。
为什么会这样?或者有什么方法可以拒绝此类付款? (备用资金支付)
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:如果您尝试以您帐户的其他币种接受付款,也会发生这种情况。为避免这种情况,您必须以付款货币创建“PayPal 余额”。 在这种情况下,IPN 也给出了关于未决原因的提示: [pending_reason] => 多种货币
【讨论】:
【参考方案2】:嘿,伙计们,我终于找到了解决这个奇怪问题的方法。
事实证明,在我实际初始化付款流程的实现中,我有以下代码:
$_REQUEST['paymentType'] = "Order";
这是一个错误,因为这种付款类型不会冻结资金,如果 DoCapture 调用从未被调用,则此付款将保持等待大约一个月,然后完全过期(如我的问题中所述,所以这就是我实际发生的事情)。糟糕的是,这种付款甚至无法在 PayPal 内手动接受(甚至本地 PayPal 电话支持也无法/想要接受这些付款,原因不明,因为他们告诉我他们会想出一个解决方案并且在 24 小时内通过电子邮件与我联系,但他们从未这样做过)。
因此,为了解决此问题,我将付款类型更改为“销售”,它会立即捕获付款,而不是等待某种批准或捕获调用。两周前它运行良好,我想我现在就这样吧。
$_REQUEST['paymentType'] = "Sale";
我损失了大约 110 欧元,因为这个愚蠢的琐碎细节,但至少它现在工作正常,我能够重新启用 PayPal 作为付款方式。我希望如果 DoCapture 调用没有实现,他们至少会添加一个手动接受这些付款的选项,因为在没有它的情况下大多数付款也可以正常工作,毕竟这仍然是关于真钱的,所以这绝对是必不可少的东西......
【讨论】:
【参考方案3】:没有专门查看交易的情况下,它是今天的野兔。但是有几件事可能会导致您的付款处于待处理状态,例如您可能在帐户中设置的偏好。在接受以您不持有的货币付款之前,请检查以确保您没有设置偏好来询问我。买家是否使用电子支票付款?如果是这样,它可能正在等待付款清算。如果这是在沙箱中,您必须手动清除付款。如果您仍然无法确定待付款的原因,如果您提供交易ID,我会检查它。
【讨论】:
我不知道。但我猜他只是过去再次通过德国银行账户发送付款。但我想这要么是错误的设置,要么是 API 的错误实现。大约有 10 笔交易存在同样的问题(由于我们现在禁用 PayPal 一个月,这些交易已经过期),但这是最新的 ID:O-9PR33160TM334903W以上是关于付款状态保持“待处理”的主要内容,如果未能解决你的问题,请参考以下文章
Paypal Express Checkout 付款仍处于待处理状态,然后到期。确认返回 PENDINGREASON=order。