2

正如我们所知,当 ipn 通知来自 paypal 时,有一个自定义参数允许我们检索自定义数据。

而且,我在 notify_url 中使用了几个参数,这些参数有时会丢失,当贝宝向我发送 ipn 通知时,它没有这些参数之一。奇怪的是其中一个参数是正确的。

所以,第一个问题是:我可以在 notify_url 中使用自定义参数,例如:

 notify_url = "www.mydomain.com/paypal/ipn/?param1=one&param2=two"

我想我可以做到,因为它在我的应用程序上失败了 20 次中的 1 次,所以我不知道是不是因为某些浏览器不支持它或类似的东西,或者这是我应该戒掉的坏习惯.

有时贝宝会将 ipn 通知发送到:

 notify_url = "www.mydomain.com/paypal/ipn/?param1=one"

没有第二个参数...

如果我能做到,你对这里发生的事情有任何线索吗?

谢谢!

4

1 回答 1

4

我总是避免将数据作为 URL 参数发送到 IPN。它可能无法通过的原因有很多,这意味着不能保证它每次都能正常工作。

相反,请像您说的那样使用 CUSTOM 参数。如果您需要传递多个值,您可以将其作为 NVP 字符串发送,就像在您的 URL 上一样。然后只需将这些值从 IPN 脚本中的 CUSTOM 值中解析出来。

或者,您可以将需要的所有数据保存在数据库中,然后将 CUSTOM 参数中的记录 ID 发送到 PayPal。或者,如果这对您有意义,您可以使用 INVNUM 参数。

然后在您的 IPN 脚本中,您根据该记录 ID 将该数据从数据库中拉出。这样,您始终可以确定您将拥有它,并且不必担心在此过程中丢失 URL 参数。

于 2013-07-22T12:32:32.550 回答