PayPal Payment Pro - 关于应该使用哪个字段来识别订单的明确答案

PayPal Payment Pro - definitive answer on which field should be used to identify the order

我目前正在为客户实施 PayPal 支付专业版,因此​​我正在配置 IPN 服务以在客户服务器上确认购买。我无法解决的是哪个字段应该用于 "carry" 要传递回 IPN 处理程序的订单 ID?

有的说发票字段,有的说自定义字段...

最佳做法是什么? (如果有的话)

我知道那里有一些类似的问题,但我正在寻找明确的最佳实践答案。

这正是发票字段的用途。这是最佳做法。

PayPal 至少对他们的某些产品也应用了基于发票而非自定义的重复支付测试。这通常是将您的唯一订单标识符放在发票字段中的一个很好的理由(您不希望用户为同一笔购买支付两次)但是如果出于某种原因,这与您处理订单 ID 的方式不一致那么您可以将您的订单 ID 放入非托管(通过 paypal)自定义字段中。

最佳做法是发票字段,请注意发票锁定的可能性 - 防止某人为同一张发票支付两次。

例如,两个人同时结帐,您将下一个发票 ID 传递给 Paypal - 因此两个用户都在尝试为同一张发票付款。一个人完成交易后,另一个人将收到重复发票错误。