【问题标题】:How to charge with Stripe by customer id如何通过客户 ID 使用 Stripe 收费
【发布时间】:2021-12-30 05:18:41
【问题描述】:

当可以通过卡详细信息向用户收费时,我有流程,为此我正在使用 await stripe.createPaymentMethod。付款成功后,我稍后可以通过卡和付款信息以及客户 ID“cus__idvalue”获取该用户购买的详细信息。

 const { error, paymentMethod } = await stripe.createPaymentMethod({
      type: "card",
      card: elements.getElement(CardNumberElement),
      card: elements.getElement(CardExpiryElement),
      card: elements.getElement(CardCvcElement),
    });

我的问题是如何通过以前使用的卡向同一用户收费,而不让他选择再次输入他的卡数据。我已经阅读了有关该案例的 Stripe 文档,但还没有清楚地了解哪些方法可能会有所帮助。提前感谢任何帮助!

【问题讨论】:

    标签: javascript reactjs stripe-payments


    【解决方案1】:

    您可以做的功能受到条带 API 提供的功能的限制,我怀疑 API 是否允许根据以前的交易预先输入卡详细信息,除非您将卡详细信息存储在您的站点数据库中,这是一种安全性缺陷。

    一些卡处理商可以允许这样做,所以如果允许,请从条带确认,在这种情况下,您可以允许用户将卡详细信息存储在您网站上的用户帐户中,因此只有当用户登录时预存的卡详细信息可用于交易。

    【讨论】:

      【解决方案2】:

      PaymentMethods 仅在附加到客户时才能重复使用。要检索给定客户的所有 PaymentMethods,您可以使用带有客户 ID 参数的 listPaymentMethods 端点,然后使用 PaymentMethod ID 创建一个新的 PaymentIntent,如下所示:

      const paymentIntent = await stripe.paymentIntents.create({
        amount: 2000,
        currency: "usd",
        payment_method: “REPLACE_WITH_PAYMENT_METHOD_ID”,
        confirm: true,
      });
      

      【讨论】:

        猜你喜欢
        • 2017-06-17
        • 2015-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-31
        • 2020-12-13
        • 1970-01-01
        • 2018-06-26
        相关资源
        最近更新 更多