2016-02-10 312 views
7

我目前通過PayPal接受付款。我使用PHP SDK作爲REST API來處理這個問題。這是我需要通過我的網站處理付款的步驟:PayPal Rest API直接付款

  1. Create a payment的意圖設置爲「出售」,付款方式設置爲「貝寶」和重定向URL設置爲確認頁。
  2. 在我店的確認頁面返回paymentId和PayerID(從查詢字符串)在步驟3
  3. 一旦用戶確認,然後execute the payment我傳入paymentId和PayerID存儲在第2步
  4. 的順序使用

這是一種享受。不過,我想讓用戶選擇通過PayPal(如上所述)或通過我的網站(使用PayPal直接付款)處理付款。

對於直接付款,我已經能夠通過將意向設置爲「銷售」,將付款方式設置爲「credit_card」並傳遞適當的卡詳細信息來成功創建付款。然而,我不確定是否需要像上面那樣執行付款,或者付款是否會自動完成。

如果我確實需要執行付款,那麼我如何獲得paymentId和PayerID?如果我不需要執行付款,則會出現問題,因爲我希望用戶確認付款。我可以將創建付款的東西移動到只有在用戶確認直接付款的訂單後才執行,但在用戶輸入後我無法驗證卡的詳細信息。我想知道是否有更好的方法來處理這個問題?

如果有人能幫助解決這個問題,我將不勝感激。謝謝

回答

1

當涉及到信用卡(詳細在這裏:https://developer.paypal.com/docs/integration/direct/accept-credit-cards/),你只需要處理第一步(創建支付)。

你對在不能夠讓用戶確認該問題的其他問題,有幾件事情可以做:

因爲我覺得AUTH /捕獲更接近你想幹什麼,讓我在那裏挖了一個遠一點。你實際上在做的是批准資金(把它們放在用戶的付款源上),然後在稍後捕獲它們。這與酒店持有信用卡以支付雜費一樣,後來取消了暫停。

您可以使用PayPal REST API完成所有這些工作。這裏有你要找的特點:

在您授權後,這是用戶可以確認並且您可以驗證該卡的點。一旦一切都被批准,你就可以捕捉。

我知道這不會成爲你的問題,但我會提到它。通過身份驗證/捕獲,授權資金將保證僅在3天內(榮譽期),但您可以繼續嘗試捕獲這些資金29天。但在這3天之後,這筆資金就不存在了。

希望可以幫到

+0

感謝您使用卡支付清理我的困惑。但我認爲授權和捕獲將用於延期付款,直到您準備好出貨爲止。我認爲最好使用第一種方法並驗證卡片的詳細信息(不使用PayPal),然後將信息存儲在用戶的會話中。然後,我可以發送標準付款請求(意向「銷售」和付款方式「credit_card」)。 – nfplee

+1

同意,這就是我親自做的。 Auth/capture可以用於上面的方法,但它並不是真正意義上的。 –