paypal - Omnipay - PayPal Express 和 upSell 页面,需要在首次成功付款后再次为客户充值

标签 paypal omnipay laravel-5.5

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

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

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

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

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

我花费了相当多 的时间来尝试为 PayPal 找到相同的解决方案,但没有成功。如果有好心人可以帮我解决这个问题,我将非常感激,所以 Omnipay PayPal 库 + 为客户充值,如果他们在初始成功收费/付款后点击 upSell 页面上的 Yes Paypal express 。

提前谢谢你。

最佳答案

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

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

重申一下,您尝试做的事情无法通过 PayPal 帐户 完成。您需要有客户的信用卡详细信息。

关于paypal - Omnipay - PayPal Express 和 upSell 页面,需要在首次成功付款后再次为客户充值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46198058/

相关文章:

php - 在 Paypal Payments Pro、Payments Advanced 和 Payflow Pro 之间进行选择

paypal - 我们可以在没有用户卡号的情况下使用 braintree 更新方法更新信用卡详细信息吗?

laravel - AuthorizeNet Omnipay 错误

php - 在 OctoberCMS 插件中使用 Omnipay

php - 发送电子邮件的事件监听器测试

ios - AFNetworking 2.x.x 中的 AFJSONParameterEncoding

php - PayPal rest api,PHP SDK,计费,我收到错误 REQUIRED_SCOPE_MISSING

php - 使用 laravel 5 的 Omnipay、paypal REST

laravel-5.5 - domain.com 目前无法处理此请求。 HTTP 错误 500

php - 如何在 Laravel 请求规则中包含空格和德语字符?