2014-04-20 42 views
0

Payal說IPN可能需要一段時間才能接到訂單。我想知道是否有與其他Paypal APIs的方式立即獲取有關訂單的信息,當用戶被重定向到我的網站的成功URL。Paypal:在IPN收到(Express checkout,PHP)之前獲得買方ID

問題是隻有兩個變量似乎被傳遞到查詢字符串到我的成功頁面:tokenPayerID

我想這樣做的原因是我希望允許用戶在不登錄我的網站的情況下完成結帳過程,但是一旦訂單完成併發送到我的成功頁面,我希望我的網站能夠將它們連接到它們以前的訂單以及這個將從我的數據庫中提取的訂單。

這可以使用token和/或PayerID來完成嗎?如果是這樣,怎麼樣? (我正在使用Express checkout嚮導提供的PHP腳本)

回答

1

IPN通常非常實時。有些時候它有點滯後,可能有點緩慢,但似乎並沒有發生那麼多。

也就是說,在您的結帳中API調用確實會在實際響應中返回大量良好信息。您的網址只包含您提到的參數(令牌和付款人ID),但是,GetExpressCheckoutDetails響應會包含您需要的所有買家信息,並且DoExpressCheckoutPayment將返回交易ID,付款狀態,付款人狀態等。因此,DECP可能具有大部分你在追求什麼。

您可以使用會話變量相應地保存GECD響應數據和DECP響應數據,然後在調用DECP之後更新數據庫,發送電子郵件通知等。

事情是,付款可能會因各種原因最終成爲「待決」。因此,IPN仍然是處理這類事情的最佳方式,以便您可以更新您的數據庫併發送一個通知,以便收到正在付款的待付款,然後發送一次該付款實際清除後的另一更新/電子郵件。