【问题标题】:Recurring and non-recurring items in single PayPal checkout flow单一 PayPal 结账流程中的经常性和非经常性项目
【发布时间】:2021-09-28 22:46:51
【问题描述】:

我目前正在将一个网站从 WooCommerce 迁移到 Shopware 6,它需要支持会员订阅的定期付款。

WooCommerce 仍在使用 PayPal Standard,它允许您在单个结帐流程中将非经常性订单项与经常性订阅混合。

Shopware 6 使用 REST API,它似乎不支持此功能,唯一的解决方案似乎是使用 Javascript SDK:

  • 用户点击使用 PayPal 支付。
  • 订阅是通过actions.subscription.create创建的
  • 显示请求批准的对话框。
  • 客户批准。
  • 提交原始结帐。
  • 重定向到 PayPal。
  • 完成付款。
  • 确认后重定向回网站。

我现在正在研究的一个潜在解决方案是将初始订单创建的返回 URL 更改为重定向到计费协议批准 URL,并将该重定向的返回 URL 重定向回原始返回 URL。

我见过的过于复杂和糟糕的用户体验。

在我把剩下的头发撕掉之前,有没有人有什么建议?


更新

虽然这不是我希望的解决方案,但我最终删除了 Shopware 6 PayPal 插件并使用 NVP API 实现了我自己的付款方式。

从用户的角度来看,只有一个审批流程。在后端,一旦用户批准了交易(已被标记为需要计费协议),交易就会得到验证,然后会创建一个循环配置文件。

【问题讨论】:

  • 理论上,shopware 已经支持单个订单的多个交易。所以应该为这些场景准备好数据库结构。
  • @Rotfuchs Shopware 它本身不是问题 - 它是 PayPal。 Shopware 6 的 PayPal 支付处理程序仅使用 REST API。如果您只是购买普通产品,它是完美的,但如果您想结合经常性和非经常性项目,您目前唯一的选择是卸载它并实施您自己的解决方案(我最终这样做了。)悲伤的时候。

标签: woocommerce paypal shopware


【解决方案1】:

无法在一次结帐中结合订阅和一次性付款。如果使用 PayPal 按钮显示上下文体验,此类项目甚至需要 PayPal SDK 行上的不同参数。

上下文体验是最好的,因为它不涉及从您的网站重定向到 PayPal 并返回。以下是一次性付款的流程:

在您的服务器上创建两条路由,一条用于“创建订单”,一条用于“捕获订单”,documented here。这些路由应该只返回 JSON 数据(没有 HTML 或文本)。后者应该(成功时)在返回之前将付款详细信息存储在您的数据库中(特别是purchase_units[0].payments.captures[0].id,PayPal 交易 ID)

将这两条路线与以下批准流程配对:https://developer.paypal.com/demo/checkout/#/pattern/server


类似的(单独的)流程可用于PayPal Subscriptions。一次只能批准一个订阅。

【讨论】:

  • 这是我的担忧。我喜欢 PayPal 如何走上与 Stripe Elements 相同的路线,并使一切对 UX/前端更加友好,但是当允许供应商销售经常性和非经常性项目时,一个非常常见的用例被忽略了。我们还使用 Stripe,我可以在将付款计划发送给 Stripe 进行授权之前修改付款意图以包含付款计划。我希望我可以对 PayPal 做同样的事情,但看起来我必须为使用 PayPal 标准的 Shopware 实施我自己的付款方式 :( 感谢您的意见!
猜你喜欢
  • 2013-10-12
  • 1970-01-01
  • 2015-10-28
  • 2020-05-03
  • 2011-04-07
  • 2019-07-26
  • 2012-06-09
  • 2015-10-20
  • 1970-01-01
相关资源
最近更新 更多