2012-05-30 105 views
1

我即將將Paypal Express Checkout集成到在線食品訂購系統中。我目前的流程如下:PayPal Express Checkout API:可以DoExpressCheckoutPayment失敗?

  • SetExpressCheckout被調用,並且客戶被重定向到帶有令牌的Paypal。
  • 一旦客戶批准付款,他將被重定向到一個等待頁面,在該命令被送到餐廳。
  • 在餐廳響應時,會發生以下情況:
    • 如果訂單被批准,DoExpressCheckoutPayment被稱爲和支付完畢;
    • 如果訂單被拒絕,付款永遠不會完成。

這使我不知道,有沒有可能是DoExpressCheckoutPayment失敗,不能採取任何理由的資金?因爲在我的情況下,取消已經發送到餐廳的訂單已經太遲了。

我應該使用PAYMENTACTION=Authorization代替,然後捕獲/無效的授權?由於資金可以持有3天,而我只需要幾分鐘的時間來決定,這看起來有點矯枉過正。

回答

3

是的,DoExpressCheckoutPayment API調用可以肯定會失敗。
你應該做的是設置PAYMENTACTION =授權在您的SetExpressCheckout和DoExpressCheckoutPayment API調用,以及 - 一旦餐廳已確認訂單 - 調用API DoCapture從授權獲取資金。
資金兌現3天,並授權可達29天。

另外;設計失敗。保持後備。以防萬一DoCapture 確實失敗。它不應該,但你永遠不知道。因此仔細檢查DoCapture API響應中'PAYMENTSTATUS'是'已完成'且'TRANSACTIONID'不是空的。

+0

謝謝,這回答我的問題! – Benjamin

相關問題