如何将 Stripe Checkout 与 charge.succeeded webhook 相匹配?
How do you match a Stripe Checkout to a charge.succeeded webhook?
我们正在使用 Stripe Checkout 并在创建会话时设置我们的元数据。这使我们能够捕获 checkout.session.completed webhook 并且该 webhook 包含元数据。
但是,我们也使用 Sources,比如微信,这些不是由 Stripe Checkout 处理的。要使用微信,我们会创建一个 Source,当用户通过二维码确认时,我们会对其进行收费。
我们希望使用 charge.succeeded webhook 作为完成订单的中心位置,无论订单来自何处。
问题是从成功的 Stripe Checkout 生成的 charge.succeeded webhook 不包含我们设置的任何会话元数据,所以我们不能 link 它到结帐会话,因此不知道它与什么有关
我们可以看到如何做到这一点的唯一方法是:
条纹结帐
捕获 checkout.session.completed webhook 并使用包含的元数据来完成订单。对于客户详细信息,我们可以调用付款意向
微信(和其他来源)
捕获包含客户数据和源的 charge.succeeded webhook,其中包含元数据。
Charge 对象将有一个 payment_intent and you can list CheckoutSessions 按 PaymentIntent 的 ID。
或者,您也可以在创建 CheckoutSession 时设置 metadata
directly on the PaymentIntent。
我们正在使用 Stripe Checkout 并在创建会话时设置我们的元数据。这使我们能够捕获 checkout.session.completed webhook 并且该 webhook 包含元数据。
但是,我们也使用 Sources,比如微信,这些不是由 Stripe Checkout 处理的。要使用微信,我们会创建一个 Source,当用户通过二维码确认时,我们会对其进行收费。
我们希望使用 charge.succeeded webhook 作为完成订单的中心位置,无论订单来自何处。
问题是从成功的 Stripe Checkout 生成的 charge.succeeded webhook 不包含我们设置的任何会话元数据,所以我们不能 link 它到结帐会话,因此不知道它与什么有关
我们可以看到如何做到这一点的唯一方法是:
条纹结帐
捕获 checkout.session.completed webhook 并使用包含的元数据来完成订单。对于客户详细信息,我们可以调用付款意向
微信(和其他来源)
捕获包含客户数据和源的 charge.succeeded webhook,其中包含元数据。
Charge 对象将有一个 payment_intent and you can list CheckoutSessions 按 PaymentIntent 的 ID。
或者,您也可以在创建 CheckoutSession 时设置 metadata
directly on the PaymentIntent。