我已经为我们的网站设置了PayPal IPN并且工作正常但是如果有人在其PayPal帐户电子邮件地址使用不同的电子邮件地址,我将无法将其与IPN消息相匹配并将其标记为付费。
其他人如何解决这个问题?我并不特别想要花时间,以防有两个人同时注册。
---解决方案:使用自定义按钮在表单内<input type="hidden" name="custom" value="<?php echo $rand ?>" />
。 POST选择了这个并发送到IPN消息。
答案 0 :(得分:0)
您最好的选择是(a)在交易中添加发票ID,或(b)在交易中添加自定义值。几乎所有的PayPal支付产品都允许这样做。 (例如,在PayPal付款标准中,参数名称为invnum
用于发票ID,或custom
用于自定义值。在Express Checkout中,它是PAYMENTREQUEST_0_INVNUM
和PAYMENTREQUEST_0_CUSTOM
。)数据包含在IPN回发中,因此您可以使用它来匹配记录中的付款。两者之间的区别在于,PayPal将阻止使用与先前交易相同的发票ID的交易(只要商家没有为其设置关闭),而自定义值只是在未经检查的情况下通过。