【发布时间】:2011-12-11 14:41:12
【问题描述】:
我正在实施 IPN + PDT 的情况是:
IPN 来自贝宝,之后我验证 IPN 将其发送回贝宝(验证需要一些时间),如果一切顺利,我将在数据库中设置 IPN 正常的标志(交易仍未支付)。当用户从贝宝登陆我的状态时,PDT 会被解雇,并且只有在我验证交易 ID 并检查该翻译的 IPN 状态是否正常后,我才会将当前交易设置为已付款。
所以,到目前为止,在开发环境(我的开发 PC + paypal 沙箱)中一切看起来都不错,但理论上它可能发生在 IPN 处理/完成之前(IPN 验证延迟,由于某种原因需要更多时间)PDT 可能是被解雇,因此交易无法标记为已付款,这将是一个问题。
我在谷歌上搜索了一下,发现 What is the sequence of Event Firing - IPN & PDT 说:
因此,显然 IPN 在 PDT 之前触发。但有时,PayPal 收不到 来自您的网站的 http 200 ok(出于某种原因)然后贝宝认为 IPN 未正确触发,然后 PayPal 再次发送 IPN 尽管。在这种情况下,有机会在 IPN 之前触发 PDT。
有人可以确认一下吗:
- 是否有经验丰富的 PDT 在 IPN 完成之前发送?
如果上一个问题的答案是“是” - 在这种情况下,我的第二个问题: - 有什么方法可以同步 IPN 和 PDT(延迟 PDT 直到 IPN 完成)?
【问题讨论】:
标签: asp.net-mvc-3 paypal