我无法找到关于此的明确文件。
如果您使用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
所以你已付款了,你想要等到它被清除?你接下来应该做什么
更新一些(外部文档)我发现只有sugest你可以使用(IPN?)来处理待付款。
“如果快速结账付款PENDINGREASON响应是一个值 除了没有或已完成,付款尚待处理。通常情况下, 这意味着客户已经使用aneCheck付款。在这种情况下,资金 不保证,您不应该运送或交付物品或 服务直到付款成功完成。注:
PayPal建议您阻止eChecks作为付款方式 无法处理待处理的国家付款。要找出a的状态 待付款,您可以:提交查询交易。
使用PayPal Manager检查状态。请参阅PayPal Manager在线帮助 有关详细信息。“
paypal沙盒似乎可以选择检查快速结账类型的IPN消息。 DoExpressCheckoutPayment和IPN之间唯一的相关性(如果以这种方式使用)似乎可以使用“自定义”字段来跟踪待处理状态。 DoExpressCheckoutPayment(nvp)中未给出txn_id(ipn)。有没有人有这方面的经验?
答案 0 :(得分:13)
即使PAYMENTSTATUS = Pending,事务ID也绝对在DoExpressCheckoutPayment中给出。待付款仍是交易。
是的,当交易完成后,您将通过IPN收到通知。这通常需要几个工作日 完成后,您可以将DoExpressCheckoutPayment的交易与您通过IPN中的txn_id收到的IPN相关联。
注意:如果您想在PayPal沙盒中测试“待处理”付款,只需转到https://developer.paypal.com/>测试帐户,然后点击您正在测试的卖家帐户的“付款审核” 对该卖家帐户启用付款审核后,其收到的任何交易都将处于“待处理”状态 只需禁用付款审核即可在之后发布广告。
答案 1 :(得分:3)
我以为我会为此添加两便士的想法。
我通过dotNet SDK使用Express Checkout获得了待处理的退货状态,根据文档和示例我应该获得“已批准”状态。
我无法弄清楚原因,但结果却是因为我正在通过一种新货币,在我们的案例中是'GBP'。我必须以辅助器沙盒帐户登录并决定如何处理新货币..转换它或设置货币的新余额。完成此操作并将其设置为默认操作后,将不再发生挂起的返回状态。
希望能帮助别人!答案 2 :(得分:1)
这里没有注意到的一件事,我还没有发现其他任何事情需要确认..是Paypal Express API不支持使用代码传递NOTIFYURL。因此,您必须使用PayPal帐户中设置的硬编码IPN网址。这当然会导致问题,因为您需要一个可以重定向到各个付款选项的公共回调文件。
例如,如果您使用的是Paypal Express和Paypal Advanced ..这些都没有正确支持使用该代码传递的notifyurl。 Paypal Advanced声称,但它似乎不起作用。因此需要有一个通用的IPN回调文件来处理重定向到每个回调文件。
除非其他人可以确认可以在代码中传递的Express Checkout变量的工作通知URL吗?