PayPal使用IPN快速结账处理"待付款"

Rob*_*Rob 7 paypal paypal-ipn

我无法找到关于此的明确文件.
如果您使用paypal快速结账,当付款待处理时接下来会发生什么?
如果状态发生变化,PayPal会通过IPN向您发送更新,您有选择吗?

假设你做一个DoExpressCheckoutPayment(使用NVP),你得到这个:

&PAYMENTSTATUS=Pending 
&PENDINGREASON= ECHECK //The payment is pending because it was made by an eCheck that has not yet cleared. 
&REASONCODE=None
Run Code Online (Sandbox Code Playgroud)

所以你已经付款了,你想要等到它被清除?你接下来应该做什么

更新一些(外部文档)我发现只有sugest你可以使用(IPN?)处理待付款.

"如果快速结账付款PENDINGREASON回复是非零或已完成的回复,则付款正在等待.通常,这意味着客户已使用aneCheck付款.在这种情况下,资金不能保证,您不应该发货或提供的物品或服务,直到付款成功完成注:
PayPal建议您阻止eChecks作为付款方式,如果你无法tohandle挂起状态payments.To找出待处理的支付状态,您可以:

提交查询交易.

使用PayPal Manager检查状态.有关详细信息,请参阅PayPal Manager在线帮助."

paypal沙盒似乎可以选择检查快速结账类型的IPN消息.DoExpressCheckoutPayment和IPN之间唯一的相关性(如果以这种方式使用)似乎可以使用"自定义"字段来跟踪待处理状态.DoExpressCheckoutPayment(nvp)中未给出txn_id(ipn).有人对这个有经验么?

Rob*_*ert 13

即使PAYMENTSTATUS = Pending,事务ID也绝对在DoExpressCheckoutPayment中给出.待付款仍是交易.

所以是的,当交易完成时,您将通过IPN得到通知.这通常需要几个工作日.
完成后,您可以将DoExpressCheckoutPayment的交易与您通过IPN中的txn_id收到的IPN相关联.

注意:如果您想在PayPal沙盒中测试"待处理"付款,只需访问https://developer.paypal.com/ >测试帐户,然后点击您正在测试的卖家帐户的"付款审核".
在该卖家帐户上启用付款审核后,其收到的任何交易都将处于"待处理"状态.
只需禁用付款审核即可在之后发布促销活动.