繁体   English   中英

什么是paypal api的txn_id以及为什么要检查它以及如何检查?

[英]What is txn_id of paypal api and why it should be checked and how?

我目前正在使用paypal的api来检查使用IPN检查的付款。 在paypal检查付款是否经过验证的方法中,有评论说:

//检查先前没有处理过txn_id

但我无法理解txn_id是什么,它做了什么,为什么我需要检查它以及如何检查它。

提前致谢,

这是由PayPal生成的唯一交易ID。

您将其与您的订单连接,并将paypal报告给您,并附上此订单的结果。

您可以使用它来防止欺诈 ,例如您所做的,当您确认订单没问题时,您读取该号码并搜索您的数据库以查看它是否与其他订单相关联。 如果你再次发现它,意味着潜在的欺诈正在进行中,有些是从你那里买的东西,比如5欧元的物品,几个月之后,就试着向你订购100欧元的物品,还有一些如何重播给你使用旧的验证状态ID - 尝试重用旧的完整事务 但因为那个身份证是唯一的,所以你会抓住他。

要使用它,请将该ID与订单的唯一ID相关联,并保留该连接以进行检查。

txn_id是原始交易的PayPal分配的唯一标识符。

该事务的所有后续IPN消息都将使用该txn_id以便您可以将它们绑定到原始消息。 确保使用其适用的订单数据进行保存。

Completed IPN消息是你必须处理的只有一个,因为它是确认支付已完成消息。 否则,为什么你需要担心IPN呢? 带有该消息的POST变量将具有足够的客户详细信息,供您用于生成发票和交货凭证/标签。

您可以选择处理其他IPN消息,但这取决于您要编程的程度。 基本上,只需处理Completed消息,您的大部分销售将得到顺利处理。 任何其他消息将与您将收到的普通电子邮件并行,您可能需要手动追踪其他任何内容,例如退款或争议。

为什么他们要求您检查以前是否已经处理过, 不是为了欺诈,而是为了确保您不再处理Completed IPN消息,因为最多可能会向您发送五个消息,直到一天之后,作为IPN流程弹性的一部分。

例如,如果您在收到Completed IPN消息时发送货物,则如果您获得具有相同txn_id另一个IPN Completed消息,则不希望再将其发送出去。

基本上,当您收到Completed IPN消息时,您需要检查一个使用该txn_id订单,如果找到,并且如果订单已经标记为已付并且已经处理,那么您可以忽略该消息,否则,处理它作为订单付款,并按照您通常在付款时执行的操作。

退款等都有自己的txn_id ,但是他们的IPN消息将包括parent_txn_id ,它保存原始交易的txn_id被退款。

请注意,PayPal希望您检查其他返回值的正确性,这些都是为了欺诈。 有些是:

  1. receiver_email字段与您用于访问PayPal帐户的主电子邮件地址相匹配。 它不一定是付款按钮使用的那个。
  2. 确保消息中返回的项目成本和其他详细信息对于项目是正确的。 这可以防止客户给自己打折。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM