2

您应该将哪些从 IPN 获得的信息保存在本地数据库中?

$_POST['txn_id']字段是否是确保您从贝宝重新跟踪所有交易信息所需的唯一字段?还是插入从 IPN/PDT 回发获得的所有信息更好?

基本上,我试图找出在出现交易问题和/或用户投诉时需要存储的信息。

4

1 回答 1

0

不,这txn_id还不够。根据 PayPal 在其介绍 IPN页面上提供的文档

验证 IPN 不是重复的。为此,请将每条 IPN 消息中的交易 ID 和最后付款状态保存在数据库中,并验证这些字段的当前 IPN 值是否已在此数据库中。注意:您不能仅依靠交易 ID 来筛选重复项,如本场景所示: 1) PayPal 向您发送一个 IPN,通知您有待付款。2) PayPal 稍后会向您发送第二个 IPN,告诉您付款已完成。但是,两个 IPN 包含相同的事务 ID;因此,如果您仅使用交易 ID 来识别 IPN,您会将“已完成付款”IPN 视为重复。

至少,据此您需要记录交易 ID最后付款状态。如果您收到的付款与您认为应该收到的付款有差异,存储您可能需要针对 PayPal 进行审计的信息也是一个好主意。

于 2013-10-16T13:22:59.067 回答