paypal 是否会更改每个 IPN 通知中 POST 字段的顺序?

Does paypal changes the order of POST fields in every IPN notification?

我读到我需要向 paypal 发送确认,其中的字段顺序相同,加上 cmd=_notify-validate 字段。我知道对于某些事件,字段会有所不同,但是例如对于使用 paypal 按钮支付的通知,参数是否总是以相同的顺序排列?

由于某些限制,我无法获取整个 POST 字段数组(我只能通过显式调用密钥来获取它们),因此一个选项是将确认请求中的每个字段设置为 paypal。

是否总是相同的顺序无关紧要。你应该按照他们到达的相同顺序将它们送回,无论那是什么。

但我不认为在验证请求中遵守相同的顺序是必要的,并且在某些语言中,例如Java,这甚至是不可能的,因为没有保留顺序。我已经 运行 IPN 好几年了,却没有遵守这一限制,而且我只遇到过一次来自土耳其的验证失败,这仍然无法解释,但可以说是字符集问题。

请注意,PayPal 在某处为 Java 提供了示例代码,因此也没有遵守约束条件。人们认为它已经过测试并通过了审查...