Omnipay - PayPal快速和需要初始succesfull付款后再次充值客户

问题描述:

亲爱的同胞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成功收费/付款后点击,我们将为客户重新充值。

预先感谢您。

没有一个简单的解决这个问题,但是我可以指出你几个你需要做的事情的方向:

  • 你需要的是一个卡令牌。这就是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