【问题标题】:How to save card details (payment method) in Stripe using backend?如何使用后端在 Stripe 中保存卡详细信息(付款方式)?
【发布时间】:2022-01-06 02:24:50
【问题描述】:

docs 仅涵盖支付方式由前端(JS)创建的情况。但是,在前端向后端发送卡片已添加(及其 ID)的信息之前,用户可能会离开网站。

为了进行付款,我需要付款方式的 ID。我不想每次付款前都在 Stripe 的 API 中查询用户卡 ID,所以我想将付款方式 ID 保存在我的本地数据库中。我还想让用户定义更多的支付方式并选择默认的。

【问题讨论】:

    标签: stripe-payments


    【解决方案1】:

    您使用链接到的非推荐工作流程是否有原因?最新版本可以找到here

    您是否使用webhook listeners 结账?我使用它们来创建/更新我的本地记录。

    在您引用的工作流程中,可能会触发 3 个 Webhook 事件。首先,当您的服务器代码生成 SetupIntent 及其client_secret 时,会触发setup_intent.created 事件。然后,当用户填写您实例化的任何 Payment 或 Card 元素并且您的前端代码调用 stripe.confirmCardSetup()(或在 PaymentElement 的情况下为 stripe.confirmSetup())时,setup_intent.succeeded 和 payment_method.attached 事件都会触发。

    最后一个会将刚刚附加到您的客户的payment_method 对象发送回您的系统。此对象将同时具有付款方式 ID 以及关联的客户 ID。您可以使用这些更新本地记录,将付款方式映射到服务器中的客户,并避免不必要的 API 调用。

    【讨论】:

      猜你喜欢
      • 2022-01-03
      • 2015-07-22
      • 2022-01-04
      • 2019-04-22
      • 2014-12-08
      • 2021-07-29
      • 1970-01-01
      • 2021-09-08
      • 1970-01-01
      相关资源
      最近更新 更多