2017-09-13 25 views
0

親愛的同胞IT開發者追加銷售頁面...Omnipay - PayPal快速和需要初始succesfull付款後再次充值客戶

我目前正在爲我的一個客戶端上Laravel 5.5,我們正在使用omnipay library for PHP和它是貝寶部分omnipay-paypal。現在,由於客戶的具體要求,我使用PayPal-Express方法將用戶重定向到PayPal,然後他們在那裏登錄並使用其賬戶PayPal或CreditCard付款,然後返回到我的客戶頁面的「謝謝」頁面。

現在,因爲客戶想創造出代表之間結帳頁面謝謝第一個加售頁面,它50%的折扣優惠產品的1附加單位

故事是,第一次充電後,我需要再次充電他們,理想情況下,我已經有了,那就是PayPal Express。

在我們的結帳頁面上,我們有兩個選項:PayPal或Checkout.com,後者提供了card_id屬性的存儲,之後您可以進行充值,這已經實施並像Checkout.com一樣運作。現在回到貝寶。

我已花費公平嘗試爲PayPal找到相同解決方案的時間,但沒有運氣。如果有一些很好的靈魂來幫助我,我將非常感激,所以Omnipay PayPal圖書館+如果在通過PayPal Express成功收費/付款後點擊,我們將爲客戶重新充值。

預先感謝您。

回答

0

沒有一個簡單的解決這個問題,但是我可以指出你幾個你需要做的事情的方向:

  • 你需要的是一個卡令牌。這就是Omnipay中的一個方法,您可以使用createCard()方法調用客戶的信用卡詳細信息,然後獲取令牌。您無法通過PayPal賬戶進行此操作,您必須捕獲客戶的信用卡信息,然後爲該卡收費。
  • PayPal Express網關不能創建卡片標記。可以使用PayPal REST網關(與PayPal express在同一個Omnipay軟件包中提供替代和更新的網關),這意味着您需要從PayPal Express切換到REST。這與生成一組新的API密鑰一樣簡單。這將允許您調用createCard()與卡數據並取回卡令牌(稱爲Omnipay一個cardReference)就像你做checkout.com

只是爲了重申,你想什麼做不能用PayPal 賬戶完成。您需要擁有客戶的信用卡的詳細信息。

+0

hi @delatbabel。謝謝你的回覆。在過去的幾天裏,我一直在尋找這個,並相信我們需要從PayPal切換到REST,因爲他們開始從我讀的內容中支持REST Api。是的,我會嘗試,而不是承諾遵循這種模式,如果我的客戶同意,然後甚至像我[stripe](https://github.com/mbaric/stripe-example-php)一樣在公共GitHub上推送我的代碼。無論如何我會保持你的發佈。 – Matija

相關問題