Невозможно взимать плату с клиента, у которого нет активной карты — Stripe Payment

#node.js #google-cloud-functions #stripe-payments

#node.js #google-cloud-функции #stripe-платежи

Вопрос:

Я пытаюсь взимать плату с уже созданного клиента, но получаю сообщение об ошибке «Невозможно взимать плату с клиента, у которого нет активной карты«

введите описание изображения здесь

Карта уже добавлена

введите описание изображения здесь

Вот node.js код, который я использую для взимания платы с клиента

 const response = await stripe.charges.create({
        'amount': amount,
        'currency': currency,
        'description': title,
        'customer': customer,
    }, { idempotencyKey: onDemandId });






// What I am sending
    {
      "amount": "40",
      "currency": "usd",
      "description": "120 دقيقة",
      "customer": "cus_I33Z2JrUSj1bBm"
    }


// What I am getting
    {
      "error": {
        "code": "missing",
        "doc_url": "https://stripe.com/docs/error-codes/missing",
        "message": "Cannot charge a customer that has no active card",
        "param": "card",
        "type": "card_error"
      }
    }
  

Есть идеи, почему я получаю эту ошибку?

Ответ №1:

Вы должны проверить, есть ли у клиента default_source , и при необходимости установить его с помощью одной из своих сохраненных карт.

Еще лучше, вам следует рассмотреть возможность создания платежа с использованием сохраненной карты с намерениями оплаты, и тогда ответом будет то, что вам нужно указать payment_method явно.