STRIPE: у этого клиента нет привязанного источника оплаты или способа оплаты по умолчанию. РУБИН НА РЕЛЬСАХ

У меня есть некоторые проблемы, я пытаюсь реализовать подписку с полосой> он работает, когда в моем заказе, например, 3 элемента> он создает подписку для 3 элементов. Проблема в том, что если клиент хочет остановить подпрограмму только для ОДНОГО элемента, я не знаю, как с этим справиться...

Мне было интересно создать подписку для каждого элемента, это мой код

    customer = Stripe::Customer.create
    @order.line_items.each do |line_item|
      product = Stripe::Product.create(
        {
          name: line_item.product.name,
          metadata: {
            product_id: line_item.product.id,
            line_item_id: line_item.id
          }
        }
      )

      price = Stripe::Price.create(
        {
          product: product.id,
          unit_amount: line_item.product.price_cents,
          currency: 'eur',
          recurring: {
            interval: 'month'
          }
        }
      )

      Stripe::Subscription.create({
        customer: customer.id,
        items: [
          {price: price.id, quantity: line_item.quantity}
        ]
      })

но я получил эту ошибку. У этого клиента нет прикрепленного источника оплаты или способа оплаты по умолчанию. и я не знаю, как его прикрепить, даже с документацией..

любая помощь, пожалуйста? благодарю вас

1 ответ

Как сказано в комментариях ; Чтобы исправить ошибку в заголовке:

  • Сначала вам нужно иметь «способ оплаты», если вы еще этого не сделали, создайте его:
    • Возможно, используя Stripe.js и API его элементов.
    • Который в настоящее время имеет элемент «платеж», позволяющий пользователям выбирать способ оплаты.
    • И поддерживает «client_secret» Setup-Intent (помимо Payment-Intent), который можно отправить с помощью confirmSetup(...)метод.

Затем (используя Stripe API):

  • Прикрепите указанный «способ оплаты» к Клиенту:

    • (Необязательно) установите его по умолчанию для счетов-фактур (с invoice_settings.default_payment_method).
  • И, создавая подписку, передайте customer(то, к чему вы добавили «способ оплаты»).

Другие вопросы по тегам