贝宝 IPN 验证
Posted
技术标签:
【中文标题】贝宝 IPN 验证【英文标题】:PayPal IPN validation 【发布时间】:2011-02-17 14:41:15 【问题描述】:以下来自 PayPal 订单管理集成指南:
处理 PayPal 对您的回发的回复
PayPal 在回复正文中使用一个词来回复您的回发:已验证 或无效。
当您收到 VERIFIED 回发响应时,请对 IPN:
-
检查 payment_status 是否已完成。
如果 payment_status 已完成,请对照之前的 PayPal 检查 txn_id
您处理的交易以确保它不是重复的。
检查 receiver_email 是否是在您的 PayPal 帐户中注册的电子邮件地址。
检查以 mc_gross 表示的价格和以 mc_currency 表示的货币对于 item_name 或 item_number 中的项目是否正确。
完成上述检查后,通知验证完成。您可以使用提供的信息更新您的数据库,并且可以启动其他适当的自动化后端处理。
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_cart" />
<input type="hidden" name="upload" value="1" />
<input type="hidden" name="business" value="GXLC9H9VFPLQE">
.....
<input type="submit" name="Submit" value="Submit" />
</form>
在第 3 步中,我应该检查 receiver_email,但我不想这样做。
我不想在我的应用程序中保留我的 paypal 帐户电子邮件。
我的问题是:我可以改为检查 business 变量吗?
【问题讨论】:
【参考方案1】:我有答案here:
提供的“检查”只是建议,并非使用 IPN 的要求。您可以检查“business”而不是“receiver_email”。但是,如果您在表单中传递,IPN 中返回给您的“business”的值将是您帐户上的商家电子邮件地址,而“receiver_id”的值将是 GXLC9H9VFPLQE。
因此,如果您想检查您的商家 ID 而不是电子邮件地址,请检查“receiver_id”。
【讨论】:
“如果您通过表单”是什么意思?还有一个链接还活着吗?以上是关于贝宝 IPN 验证的主要内容,如果未能解决你的问题,请参考以下文章