我将PayPal集成到我的网上商店,以便通过自动产品交付进行即时付款(之前已经有过这种情况,但只能通过sofort.com进行即时电汇)。我在PayPal提供的示例的帮助下集成了它(我正在使用ReviewOrder.php,GetExpressCheckoutDetails和DoExpressCheckoutPayment)。
如果他们使用PayPal余额或链接的信用卡付款,那就太棒了。但是,德国的一些客户在其帐户中没有余额,只有与其帐户关联的银行帐户。付款通过,他们收到他们的产品,但我注意到付款状态将保持“待定”1个月,然后更改为“过期”,所以实际上没有钱到货。
为什么会这样?或者有没有办法否认这种付款? (来自备用资金的付款)
任何帮助都将不胜感激。
答案 0 :(得分:1)
它的野蛮一天没有具体看待交易。但有几件事可能会导致您的付款处于待处理状态,例如您在帐户中设置的偏好设置。检查以确保您没有将您的偏好设置为在接受您未持有的货币付款之前询问我。买方是否支付了eCheck?如果是这样,它可能正在等待付款清算。如果这是在沙箱中,您必须手动清除付款。如果您仍然无法确定待付款的原因,如果您提供了交易ID,我会在我的结尾处进行检查。
答案 1 :(得分:0)
嘿伙计们,我设法找到解决这个奇怪问题的方法。
事实证明,在我的实施中,我实际初始化了付款流程,但是我有以下代码:
$_REQUEST['paymentType'] = "Order";
这是一个错误,因为这种付款类型不会暂停资金,如果从未调用过DoCapture电话,这笔付款将保持等待一个月左右,然后完全过期(如我的问题所述,所以这就是我实际发生的事情)。不好的是,这样的付款甚至不可能从PayPal手动接受它们(甚至当地的PayPal电话支持也不能接受这些付款的原因不明,因为他们告诉我他们会提出解决方案,请在24小时内通过电子邮件与我联系,但他们从未这样做过。)
因此,为了解决这个问题,我将支付类型更改为Sale,立即捕获付款,而不是等待某种批准或捕获电话。它现在工作了好两个星期,我想我现在就这样离开了。
$_REQUEST['paymentType'] = "Sale";
我输了大约110欧元,因为这个愚蠢的细节,但至少现在工作正常,我能够重新启用PayPal作为付款方式。我希望他们至少会添加一个选项来手动接受这些付款,如果没有实施DoCapture调用,因为它没有大部分付款也能正常工作,毕竟这仍然是真钱,所以这绝对是一件必不可少的事......
答案 2 :(得分:0)
如果您尝试接受帐户的其他货币付款,也会发生这种情况。为避免这种情况,您必须使用付款货币创建“PayPal余额”。 在这种情况下,IPN还提供了有关未决原因的提示: [pending_reason] => multi_currency