Stripe付款后如何将客户数据保存到数据库

How to save client data to database after Stripe payment

我有一个 React 应用程序,客户端在其中填写要保存到我的数据库的表单。然后客户继续进行基于 Stripe 的支付。收到付款确认后才可以上传数据。

表单数据包含如下多个属性

data = {
   name: "Mike",
   summary: "some long text",
   ...
}

工作流程类似于以下内容:

Client fills out form -> Payment -> Payment confirmation -> Post-payment action (uploading the data from step 1)

我知道 Stripe 的 webhook 以及 line_items,但我想知道使用后者是否是最佳实践,因为 data 中的某些属性值可能很长。这种情况有更通用的方法吗?

条带化 recommends that you handle any post-payment actions/fulfilment using their events with a webhook. In this case you'd listen for the payment_intent.succeeded event and create a webhook handler that saves the required fields/information fro the Payment Intent object 到您的数据库。

as some of the attribute values in data can be quite long.

您要解决什么问题?防止数据库溢出?避免在 API 请求中发送大量数据?对于这两种情况,都适合在数据库中创建一个临时记录,当您的 webhook 捕获 checkout.session.expired 事件(例如)时,该记录将被删除。