如何在结帐过程中管理外部付款意图变更?

问题描述 投票:0回答:1

最近,我的任务是为我正在开发的应用程序设计 Stripe 集成和结账流程。我们正在内部进行产品/订单管理,这是我第一次接触电子商务,所以我正在努力解决一些我确信已经解决的问题。

考虑这个流程:

  1. 用户将商品添加到购物车
  2. 用户在桌面上发起结账
  3. 用户在移动设备上修改他们的购物车(我们的购物车存储在数据库中以实现跨平台一致性)
  4. 用户在移动设备上发起结帐
  5. 用户在桌面上完成结帐

现在我们已确认付款意图与桌面结帐页面上向用户显示的购物车/订单摘要不匹配,因为:

  • 根据 Stripe 的最佳实践,此购物车的付款意向是在第 2 步中创建的,然后在第 4 步中进行更新
  • 我们的结账 UI 是使用 Stripe 的 Web 元素定制的,因此来自该付款意图的客户端密钥用于呈现付款表单

我知道这是一个极端案例(甚至可能是恶意案例),但对我来说,这感觉像是我方法中的一个缺陷;我认为系统收取的金额不应与用户在屏幕上看到的金额不符。我担心这一点是否正确?是否有构建此类结账的标准方法?

database-design stripe-payments e-commerce
1个回答
0
投票

Stripe有一章介绍在这种情况下该怎么做这里
与在后端创建 PaymentIntent 的方式相同,您可以使用新金额更新它并更新前端的元素。

当然,您也可以选择另一种流程,在其中在创建意图之前显示付款元素,在这种情况下,这一开始就不应该引起问题。

© www.soinside.com 2019 - 2024. All rights reserved.