Если платеж не прошел полностью (возможно, он был отклонен или была предпринята попытка 3D Secure, но она не была успешно завершена), PaymentIntent из первого счета-фактуры должен находиться в состоянии requires_payment_method
, а подписка - incomplete
.
Вы можете попытаться получить новую платежную информацию от пользователя и использовать ее для оплаты счета-фактуры и активации подписки.Вы можете использовать один и тот же PaymentIntent повторно и пробовать столько раз, сколько пожелаете.Например, если у вас была форма оплаты с элементом карты для сбора данных, вы можете попросить пользователя ввести новую карту и позвонить еще раз:
stripe.handleCardPayment(cardElement,
paymentIntentSecret
).then(function(res){...})
В качестве альтернативы вы можете полностью отменить подписку, еслиты хочешь.В противном случае, если вы ничего не делаете или клиент не может предоставить способ оплаты, который работает, через 24 часа Stripe фактически отменит подписку для вас.
Похоже, что в вашем сообщении об ошибке указано, что PaymentIntent был отменен,это может означать, что вы отменили подписку или пытаетесь сделать это более чем через 24 часа после первоначального платежа, я не уверен.
Эта ссылка более подробно: https://stripe.com/docs/billing/lifecycle#incomplete