我找不到关于此的任何明确文档。
如果您使用 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
所以你已经付款了,你想等到它被清除吗?接下来你应该做什么。
更新一些(外部文档)我发现只有建议你可以使用(IPN?)来处理待处理的付款。
"If the Do Express Checkout Payment PENDINGREASON response is a value other than none or completed , the payment is pending. Typically, this means the customer has paid with aneCheck. In such a case, funds are not guaranteed, and you should not ship or deliver items or services until the payment has successfully completed. NOTE:
PayPal recommends that you block eChecks as a payment method if you are unable tohandle pending state payments.To find out the status of a pending payment, you can:Submit an Inquiry transaction.
Check the status using PayPal Manager. See PayPal Manager online help for details."
paypal 沙盒似乎可以选择检查快速结帐类型的 IPN 消息。 DoExpressCheckoutPayment 和 IPN 之间唯一的相关性(如果以这种方式使用的话)似乎您可以使用“自定义”字段来跟踪待定状态。 DoExpressCheckoutPayment (nvp) 中未提供 txn_id (ipn)。有没有人有这方面的经验?
最佳答案
交易 ID 肯定在 DoExpressCheckoutPayment 中给出,即使 PAYMENTSTATUS=Pending。待处理的付款仍然是交易。
是的,当交易完成时,您会通过 IPN 收到通知。这通常需要几个工作日。
完成后,您可以将来自 DoExpressCheckoutPayment 的交易与您将通过 IPN 中的 txn_id 收到的 IPN 相关联。
注意:如果您想在 PayPal 沙盒中测试“待处理”付款,只需转至 https://developer.paypal.com/。 > 测试账户并点击您正在测试的卖家账户的“付款审核”。
在该卖家账户上启用付款审查后,它收到的任何交易都将处于“待处理”状态。
只需禁用付款审核即可在之后发布交易。
关于使用 IPN 处理 "pending payments"的 PayPal 快速结帐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9314031/