1

我亲爱的 IT 开发人员...

我目前在 Laravel 5.5 上为我的一个客户工作,我们正在为 PHP 使用 omnipay 库,它是 PayPal 的一部分omnipay-paypal。现在,由于这是来自客户的特定请求,我正在使用PayPal-Express方法将用户重定向到 PayPal,然后他们登录并使用他们的帐户 PayPal 或 CreditCard 付款,然后回到我的客户页面上的谢谢页面。

现在,由于客户想要创建一个介于结帐页面感谢页面之间的追加销售页面,并且它以 50% 的折扣提供1 个额外单位的产品。

故事是,在第一次充电后,我需要以某种方式再次为它们充电,最好是用我已经拥有的东西,那就是 PayPal Express。

在我们的结帐页面上,我们有两个选项 PayPal 或 Checkout.com,后者提供了 card_id 属性的存储,之后您可以进行充值,这已经实现并且与 Checkout.com 一样具有魅力。现在回到贝宝。

我花了相当多的时间试图为 PayPal 找到相同的解决方案,但没有运气。如果有一些好的灵魂可以帮助我解决这个问题,我将非常感激,因此,如果客户在通过 PayPal Express 初始成功收费/付款后单击 upSell 页面上的“是”,则 Omnipay PayPal 库 + 为客户充值

先感谢您。

4

1 回答 1

0

这个问题没有简单的解决方案,但是我可以为您指出您需要做的几件事的方向:

  • 你需要的是一个卡片令牌。这就是(在 Omnipay 中)您使用客户的信用卡详细信息调用 createCard() 之类的方法并取回令牌的地方。您不能使用 PayPal 帐户来做到这一点,您必须获取客户的信用卡详细信息,然后从卡中扣款。
  • PayPal Express 网关无法创建卡令牌。可以使用 PayPal REST 网关(与 PayPal express 相同的 Omnipay 包中的替代和更新网关)来完成,这意味着您需要从 PayPal Express 切换到 REST。这就像生成一组新的 API 密钥一样简单。这将允许您使用卡数据调用 createCard() 并取回卡令牌(在 Omnipay 中称为 cardReference),就像使用 checkout.com 一样

重申一下,您尝试使用 PayPal帐户无法完成的操作。您需要有客户的信用卡详细信息。

于 2017-09-15T06:51:27.730 回答