Итак, у меня есть клиент, у которого уже создана карта.
На веб-интерфейсе я даю возможность использовать существующую или другую карту.
Следуя документации API, для новой карты ясоздайте токен, отправьте его моему бэкэнду ...
В бэкэнде:
const paymentInfo = {
customer: customerId,
amount: Number(total) * 100,
currency: 'usd',
source: existingCardId || token
}
const charge = await stripe.charges.create(paymentInfo)
Если я заплачу существующей картой, заряд будет снят, но если я отправлю новыйтокен, я получаю сообщение об ошибке:
Customer cus_G4V0KvxKMmln01 does not have a linked source with ID tok_1FYMLTAOg97eusNI2drudzlJ.
Из документов API: https://stripe.com/docs/api/charges/create
источник необязательно Источник платежа, подлежащий оплате. Это может быть идентификатор карты (т. Е. Кредитной или дебетовой карты), банковского счета, источника, токена или подключенной учетной записи. Для определенных источников, а именно карт, банковских счетов и подключенных источников, вы также должны передать идентификатор связанного клиента.