2013-01-01 35 views
2

我寫了一個結帳表單。我填寫表格數據,現在是時候把數據結算出來。我可以將數據插入到mySQL等...PHP mySQL和PayPal結帳程序

我沒有太多的在線結賬程序的經驗。我的問題是表格填寫完後的下一步是什麼?

我知道客戶將被髮送到貝寶。那麼我應該繼續並將數據作爲未付款或東西輸入到mySQL中,然後將它們發送到PayPal?然後,一旦交易完成,交易數據將被髮送回它將更新mySQL數據並將客戶發送到收據的表單。

我正在建立一個標準的結帳。

回答

1

我們可以定義一個標準的電子商務結帳像下面的(假設您正在使用貝寶):

  1. 將項目添加到購物車
  2. 待辦事項結帳(在你的網站而不是實際的PayPal支付。)
  3. 收集客戶信息(登錄/註冊+存錢地址)
  4. 將訂單保存到數據庫並收集新的訂單ID。
  5. 發送order_id作爲'paypal快速結賬請求'的一部分
  6. 用戶將被重定向到您的網站從貝寶。使用paypal返回的order_id更新數據庫中的訂單狀態。

還要檢查該PayPal快速結帳的示例代碼: https://github.com/hrendoh/PayPal-Express-Checkout-example

+0

這不完全是不正確的,但它違背了貝寶快速結賬的買家主要優勢之一,因爲他們不應該有應對創建帳戶,您的網站上填寫表格等。他們所要做的只是登錄PayPal,該系統會將買家詳細信息返回給應用程序。對買方來說要快得多。 –

0

我會建議計算有關訂單的一切,到貝寶發送的用戶之前將其保存在數據庫中。通過這種方式,您可以將您的訂單ID包含在PayPal付款信息中,以便您可以輕鬆地交叉引用貝寶與您自己的系統之間的交易。

如果你想保持儘可能簡單的事情,你可以去PayPal Payments Standard。如果您打算使用它,我會推薦cart upload method

如果您更喜歡網絡服務API,我會推薦Express Checkout。這會讓您更自由地定製結帳體驗以適應您的需求。

無論哪種方式,我都會建議使用Instant Payment Notification (IPN)來處理付款後處理。這將允許您實時更新數據庫,訪問第三方Web服務,發送自定義電子郵件收據等。它還可以讓您正確處理需要清算的待處理付款,例如電子支票,在這種情況下,您可以爲待付款獲得1個IPN,並在付款實際清除時獲得另一個IPN。這樣,您可以確保只在付款完成時處理訂單。