正如我们所知,有一个自定义参数允许我们在来自paypal的ipn通知时检索自定义数据。
但是,我在notify_url中使用了几个参数,这些参数有时会丢失,当paypal向我发送ipn通知时,它没有一个参数。奇怪的是,其中一个参数正确。
所以,第一个问题是:我可以在notify_url中使用自定义参数:
notify_url = "www.mydomain.com/paypal/ipn/?param1=one¶m2=two"
我想我可以这样做,因为它在我的应用程序中失败了20次,所以我不知道是不是因为某些浏览器不支持它,或者这可能是一个坏习惯我应该放弃。
有时paypal会将ipn通知发送到:
notify_url = "www.mydomain.com/paypal/ipn/?param1=one"
没有第二个参数...
如果我能做到,你对这里发生的事情有任何线索......
谢谢!
答案 0 :(得分:4)
我总是避免将数据作为URL参数发送到IPN。它可能有多种原因无法通过,这意味着无法保证它每次都能正常工作。
相反,请像你说的那样使用CUSTOM参数。如果您需要传递多个值,则可以将其作为NVP字符串发送,就像在URL上一样。然后只需将这些值从IPN脚本中的CUSTOM值中解析出来。
或者,您可以保存数据库中所需的所有数据,然后将CUSTOM参数中的记录ID发送到PayPal。或者你可以使用INVNUM参数,如果这对你有意义的话。
然后在您的IPN脚本中,根据该记录ID将数据从数据库中拉回。通过这种方式,您始终可以确保自己可以使用它,并且不必担心在此过程中丢失URL参数。