2016-12-02 60 views
1

我正在對我的應用程序實施PayPal付款。 我使用Laravel Framework和merchant-sdk-php包來處理NVP/SOAP API。我會喜歡使用REST API,但我需要客戶在非常規時間段內以各種金額進行參考交易,並且據我所知,只有使用NVP/SOAP API纔有可能。貝寶計費協議與其他非常規參考交易

付款流程快捷方式:
1.付款人點擊「連接」按鈕,該按鈕用於使用「SetExpressCheckout」方法創建結算協議。金額設置爲0並添加「結算協議」字段以請求。客戶被重定向到PayPal,登錄到他的帳戶,同意直接付款並最終重定向到我的返回URL。
2.響應結束後,返回動作被觸發(在returnurl字段中傳遞的動作)。接下來使用paypal resposne中的令牌,我使用CreateBillingAgreement方法來獲取我存儲在數據庫中的「BillingAgreementID」。
3.使用「BillingAgreementID」我做出「DoReferenceTransaction」請求。沒有提示登錄正在發生,一切都發生在現場。最後我得到交易後的迴應。

認爲我想知道的是:
1.有沒有辦法,獲得一個電子郵件地址,消費者創建帳單agreemenet時用於登錄?我想在應用程序中顯示哪些PayPal帳戶(與提及的電子郵件有關)是直接付款設置?
2.我想在「BillingAgreementID」和「DoReferenceTransaction」之後在數據庫中進行一些操作。響應狀態「Success」以及「DoReferenceTransaction」字段中的「PaymentStatus」設置爲「已完成」足以斷定交易已完全完成,並且我無法共享某些數字商品,或者是否應該等待IPN提出請求?

感謝您的貢獻!

回答

0

找到問題1的解決方案。 投注結算協議ID後,我必須作出「GetBillingAgreementCustomerDetails」操作。作爲迴應,我收到了客戶詳細信息,包括電子郵件

還在留意提示第二個問題