PayPal PDT可以使用哪些付款状态?

时间:2016-02-14 21:18:05

标签: php paypal

我将使用PDT处理通过我网站上的付款按钮进行的​​一次性付款(PayPal付款标准)。事实上,我也会使用IPN,但问题是关于PDT。 PayPal在响应中向我们发送的PDT消息中允许使用“payment_status”变量的值是多少?在我看来,并非PDT消息中的所有值都是可能的,因此并非所有值都应该在我的代码中处理。

我没有在PayPal文档(以及任何其他地方)中找到关于PDT的'payment_status'的任何信息,所以我不得不提出自己的想法。我认为这些值对PDT来说是合法的:

  • 已完成
  • 加工
  • 失败

也可能

  • 拒绝

所以,我需要在我的PDT脚本中处理上述4(5)个状态而不是其他状态。我想其他人:

  • Canceled_Reversal
  • 过期
  • 退款
  • 反相
  • 空隙化

与IPN(不是PDT)有关。我的猜测是否正确?

谢谢。

1 个答案:

答案 0 :(得分:1)

确切地说,IPN会异步通知您某些事件,如退款,撤销,保留等,因此,如果您使用IPN,您可能会收到这些状态,作为以前完成的交易的“更新”。

但是,只有当您的集成返回URL针对https://www.paypal.com/cgi-bin/webscr发送POST并传递“cmd = _notify-synch”以及您的PDT令牌和事务ID(“tx”)时,才会发回PDT变量,因此您只会收到成功交易的状态,即“已完成”(如果是payaction = sale)或“待定”(如果payaction =授权/订单)。

您也不应该收到拒绝/失败/已处理的付款状态,因为这些通常是指MassPay IPN。