【问题标题】:Laravel Stripe Checkout WorkflowLaravel 条纹结账工作流程
【发布时间】:2021-11-24 06:59:36
【问题描述】:

我有一个关于 Stripe 工作流程的小问题,我特别想知道您的意见和经验。我的设置是:Laravel 8"stripe/stripe-php": "^7.97"

我理解的工作流程:

  1. 客户想用条纹支付
  2. 客户端向应用服务器(Laravel)发送 XHR 请求
  3. 服务器使用 Stripe Key 生成 Stripe 支付意图。
  4. Stripe 发回密钥。
  5. 服务器将此密钥传递给客户端。
  6. Stripe JS 已加载 (https://js.stripe.com/v3/)
  7. Stripe JS 呈现支付表单(信用卡号等)。
  8. 客户输入他的信用卡详细信息。
  9. 然后客户点击“支付”。
  10. Stripe 接收客户的信用卡信息以及 Stripe 支付意图密钥。
  11. 如果数据正确,则在 Stripe 成功完成支付流程。
  12. Stripe 将支付状态信息作为响应发送回客户端。
  13. 然后此信息将从客户端发送到服务器。
  14. 服务器可以将订单标记为已完成。

我的问题:

a) 我是否正确理解了工作流程?

b) 您是否已经在付款意向(第 3 点)或仅在最后一个点(第 14 点)将订单存储在数据库中?

【问题讨论】:

  • 我知道 Stripe 有 webhook,因此您可以监听付款完成等。如果您只是让客户告知订单何时完成,是否可以利用第 13/14 步?

标签: php laravel stripe-payments


【解决方案1】:

a) 你的理解是正确的。但是对于第 13 步和第 14 步,您可能希望使用Webhook to complete your order on Server。更直观的指南位于Stripe's official document

b) 在第 3 点,您可以创建订单,但需要将其状态标记为未完成。在第 14 点,您可以将其标记为已完成并开始提供您的服务。原因是客户可以在两者之间下车(即不提供卡详细信息而只需关闭浏览器)。

【讨论】:

  • 感谢 ansewaring 并感谢您对 webhook 的引用。
猜你喜欢
  • 2021-06-30
  • 2022-01-18
  • 2010-11-14
  • 2019-09-16
  • 2018-07-13
  • 1970-01-01
  • 2021-02-04
  • 2018-03-21
  • 1970-01-01
相关资源
最近更新 更多