我一直认为txn_id用IPN消息发送是唯一的.PayPal指南似乎支持这个想法 - https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_admin_IPNIntro
避免重复的IPN消息.检查您是否尚未处理由IPN消息中返回的事务ID标识的事务.您可能需要将IPN消息返回的事务ID存储在文件或数据库中,以便检查重复项.如果PayPal发送的交易ID是重复的,则不应再次处理.
但是我发现PayPal的eCheck支付IPN使用相同的交易ID发送两次.在初始付款期间,一旦payment_status处于"待定"状态,并且在几天后eCheck实际处理payment_status为"已完成" 时再次进行.
我想存储两个事务,但仍希望避免存储重复项.在IPN中还有另一个字段被调用,ipn_track_id并且它对于这两个事务都是不同的,但我找不到它的文档,除了这个模糊的描述:
内部; 仅供MTS和DTS使用
其他人正在使用ipn_track_id唯一标识IPN消息?