如何在创建结帐会话时设置付款方式?

How to setup payment method on creating checkout session?

我在我的应用程序中使用 stripe 作为支付集成。我正在使用 mode=payment 为客户创建 session checkout,因为我想从订单中获得付款,但是如何在此结帐会话中保存客户的付款方式?

这是我的代码:

await stripe.checkout.sessions.create({
      line_items: [
        {
          price_data: {
            unit_amount: 433,
            currency: "usd",
            product_data: {
              name: ""
            }
          },
          quantity: 1,
        }
      ],
      cancel_url: "",
      success_url: "",
      customer: customerID,
      mode: STRIPE_SESSION_MODE.PAYMENT,
      payment_method_types: ["card"],
    });

多亏了这个回复,我得到了一个 url 的条纹支付表格。是否可以选择保存有关客户付款方式的信息以供将来使用?我知道我可以使用 mode=setup 但我还想从 price_data.

获得付款

感谢您的帮助!

您可以选择将创建的付款方式保存到客户对象,以便将来使用 setup_future_usage parameter:

await stripe.checkout.sessions.create({
  line_items: [
    {
      price_data: {
        unit_amount: 433,
        currency: "usd",
        product_data: {
          name: ""
        }
      },
      quantity: 1,
    }
  ],
  payment_intent_data: {
    setup_future_usage: "off_session"
  },
  cancel_url: "",
  success_url: "",
  customer: customerID,
  mode: STRIPE_SESSION_MODE.PAYMENT,
  payment_method_types: ["card"],
});