2016-02-14 30 views
-2

我打算使用PDT處理通過我的網站上的付款按鈕進行的​​一次性付款(PayPal付款標準)。其實我也會用IPN,但問題是關於PDT。 PayPal在他們的回覆中向我們發送的PDT消息中允許「payment_status」變量的值是什麼?在我看來,並非所有的值都可能在PDT消息中,因此不是所有的值都應該在我的代碼中處理。PayPal PDT中可能有哪些付款狀態?

我沒有找到關於PDT的PayPal文件(及任何其他地方)在「PAYMENT_STATUS」的任何信息,所以我只好拿出我自己的想法。我決定,這些值是合法的PDT:

  • 完成
  • 加工
  • 待定
  • 失敗

,也可能是

  • 拒絕

因此,上述4(5)的狀態,我需要在我的PDT劇本,沒有人來處理。我認爲其他人:

  • Canceled_Reversal
  • 過期
  • 退款
  • 作廢

涉及到IPN(不PDT)。我的猜測是正確的嗎?

謝謝。

回答

1

沒錯,IPN將異步通知您某些事件,如退款,逆轉,持有等,因此,如果您正在使用IPN您可能會收到這些狀態如先前完成的交易「更新」。

但是,只有當集成的返回URL發送針對https://www.paypal.com/cgi-bin/webscr的POST時,PDT變量纔會與您的PDT令牌和事務ID(「tx」)一起傳遞「cmd = _notify-synch」成功交易的狀態,即「已完成」(如果paymentaction =銷售)或「待處理」(如果paymentaction =授權/訂單)。

您應該不會收到拒絕/失敗/加工付款狀態要麼,因爲這些通常是指MassPay互穿網絡。