贝宝 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 验证的主要内容,如果未能解决你的问题,请参考以下文章

无法在 IPN 上获得贝宝“已验证”或“无效”

贝宝集成 - IPN

IPN 验证 ipnSimulator INVALID

IPN 模拟器:“IPN 未发送,握手未验证。请查看您的信息”

贝宝沙盒 IPN 模拟器 - 没有得到响应

Paypal IPN 沙盒 - IPN 侦听器 - 未验证或无效