在处理之前如何确保贝宝 IPN 是唯一的?
Posted
技术标签:
【中文标题】在处理之前如何确保贝宝 IPN 是唯一的?【英文标题】:How to ensure paypal IPN's are unique before processing it? 【发布时间】:2012-03-09 16:02:24 【问题描述】:对于subscr_payment
和web_accept
,你必须检查txn_id
之前是否已经发送给你。
但是
subscr_cancel,
subscr_modify,
subscr_eot,
subscr_failed,
subscr_signup
哪里没有txn_id
?
如果我从贝宝收到subscr_modify
3 次,我的脚本如何知道是否发送了 3 次相同的 IPN,或者用户是否修改了他们的订阅 3 次?
有谁知道如果多次发送相同的 IPN 消息,ipn_track_id
是否保持不变?
【问题讨论】:
【参考方案1】:如果我从 paypal 获得 subscr_modify 3 次,我的脚本如何知道是否 相同的 IPN 被发送了 3 次,或者如果用户修改了他们的 订阅 3 次?
如果由于服务器 500 错误代码等原因,第一个未使用 Http 200 响应代码回答,或者没有回答,您只会从 PayPal 获得重复的 IPN 响应。
但是怎么样
subscr_cancel, subscr_modify, subscr_eot, subscr_failed, 订阅注册
哪里没有txn_id?
PayPal 文档确实晦涩难懂,但我发现了一个可能有用的链接,它显示了每种 IPN 响应中存在的每个变量的列表: https://www.paypalobjects.com/en_US/ebook/subscriptions/Appx-ipn_subscription_variables.html
subscr_id
可能是您正在寻找的东西,但我不确定它是否会随着每次回复而改变。
【讨论】:
以上是关于在处理之前如何确保贝宝 IPN 是唯一的?的主要内容,如果未能解决你的问题,请参考以下文章