PayPal IPN - 使用不同的电子邮件将用户注册到 PayPal 帐户

Posted

技术标签:

【中文标题】PayPal IPN - 使用不同的电子邮件将用户注册到 PayPal 帐户【英文标题】:PayPal IPN - using different email for user registration to PayPal Account 【发布时间】:2017-10-06 19:56:33 【问题描述】:

我已经为我们的网站设置了一个 PayPal IPN,并且工作正常,但是如果有人使用与其 PayPal 帐户电子邮件地址不同的电子邮件地址,我无法将其与 IPN 消息匹配并将其标记为已付款。

其他人是如何解决这个问题的?我不想特别花时间以防两个人同时注册。

--- 分辨率:<input type="hidden" name="custom" value="<?php echo $rand ?>" /> 在带有自定义按钮的表单内。 POST 将其拾取并发送到 IPN 消息。

【问题讨论】:

您应该使用交易ID,而不是电子邮件地址来识别付款,并且绝对而不是时间。 【参考方案1】:

您最好的选择是 (a) 向交易添加发票 ID,或 (b) 向交易添加自定义值。几乎所有的 PayPal 支付产品都允许这样做。 (例如,在 PayPal Payments Standard 中,发票 ID 的参数名称为 invnum,或自定义值的参数名称为 custom。在 Express Checkout 中,它是 PAYMENTREQUEST_0_INVNUMPAYMENTREQUEST_0_CUSTOM。)数据包含在IPN 回发,因此您可以使用它来匹配您记录中的付款。两者之间的区别在于,PayPal 将阻止使用与先前交易相同的发票 ID 的交易(只要商家没有关闭它的设置),而自定义值只是通过而不被检查。

【讨论】:

感谢您指出正确的方向我使用了自定义字段隐藏输入字段。

以上是关于PayPal IPN - 使用不同的电子邮件将用户注册到 PayPal 帐户的主要内容,如果未能解决你的问题,请参考以下文章

使用PayPal IPN发送特定于交易的电子邮件

使用 PayPal IPN 发送特定于交易的电子邮件

带有 IPN 的 PayPal 用户输入表单

Paypal (+ Paypal IPN) - 如何更改用户的订阅?

PayPal IPN 账户跟踪,它是如何实现的?

PayPal IPN 反复运行