Как настроить способ оплаты при создании сеанса проверки?

#javascript #node.js #typescript #stripe-payments

#javascript #node.js #typescript #stripe-платежи

Вопрос:

Я использую stripe в качестве платежной интеграции в своем приложении. Я создаю session checkout для клиента с помощью using mode=payment , потому что я хочу получить платеж из заказа, но как сохранить способ оплаты клиента с помощью этого сеанса оформления заказа?

Вот мой код:

 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 форму оплаты stripe. Есть ли возможность сохранить информацию о способе оплаты клиента для дальнейшего использования? Я знаю, что могу использовать mode=setup , но я также хочу получить оплату от price_data .

Спасибо за любую помощь!

Ответ №1:

Вы можете сохранить созданный способ оплаты в объекте Customer для будущих сеансовых (или внесессионных) платежей, используя setup_future_usage параметр:

 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"],
});