从IPN获取的哪些信息应保留在本地数据库中?
$_POST['txn_id']
字段是否是确保您从paypal获取所有交易信息所需的唯一字段?或者更好地插入从IPN / PDT回发中获得的所有信息?
基本上我正试图找出在交易问题和/或用户投诉时需要存储的信息。
答案 0 :(得分:0)
不,txn_id
还不够。根据PayPal在Introducing IPN页面上提供的文档
验证IPN不是重复的。为此,请保存 a中每条IPN消息中的交易ID和最后付款状态 数据库并验证这些字段的当前IPN值是否为 尚未在此数据库中。注意:您不能依赖交易ID 单独筛选重复项,如此方案显示:1)PayPal 向您发送IPN,通知您待付款。 2)PayPal以后 向您发送第二个IPN,告诉您付款已完成。 但是,两个IPN都包含相同的事务ID;因此,如果你 只使用事务ID来识别IPN,你会对待 “已完成付款”IPN为重复。
根据这一点,您需要了解交易ID 和上次付款状态。如果您收到的差异付款与您认为应该收到的差异付款,那么存储您可能需要对PayPal进行审计的信息也是一个好主意。