Что такое статус requires_payment_method
PaymentIntent в Stripe — это объект, который отслеживает намерение совершить платёж. Статус requires_payment_method означает, что намерение создано, но к нему ещё не привязан (или уже был отвязан) способ оплаты.
Проще говоря: сервер готов принять оплату, но данные карты ещё не введены или были отклонены.
Почему возникает этот статус
Существует три основных сценария:
Начало платёжной сессии. Каждый новый PaymentIntent по умолчанию начинается со статуса
requires_payment_method. Это нормально — пользователь ещё не заполнил форму оплаты.Отклонение карты банком. Если покупатель ввёл данные карты, но банк отклонил транзакцию (ошибка авторизации, decline), Stripe снимает привязку способа оплаты и возвращает PaymentIntent в статус
requires_payment_method. Пользователю нужно ввести другую карту.Истечение сессии requires_action. Если покупатель не завершил 3DS-аутентификацию и сессия истекла, статус тоже может вернуться в
requires_payment_method.
Что нужно сделать покупателю
Статус requires_payment_method — это сигнал ввести или повторно ввести данные карты:
Проверьте, не отклонила ли карта банк. Посмотрите на сообщение об ошибке рядом с полем карты.
Введите данные другой карты. Если ваша карта была отклонена, попробуйте другую карту — возможно, там достаточно средств или нет ограничений.
Проверьте CVV и срок действия. Частая причина отклонения — опечатка в трёхзначном коде на обороте или истёкший срок карты.
Убедитесь, что карта поддерживает онлайн-платежи. Некоторые дебетовые карты заблокированы для интернет-транзакций по умолчанию.
Попробуйте карту Marix. Если ваши карты регулярно не проходят, Marix-карты специально настроены для международных онлайн-платежей.
Технические детали для разработчиков
- Статус
requires_payment_method— это валидное начало жизненного цикла PaymentIntent, не ошибка. - При decline банка Stripe автоматически detach'ит способ оплаты и возвращает PaymentIntent в этот статус.
- Используйте
payment_intent.payment_failedwebhook для отслеживания этого события на сервере. - Не создавайте новый PaymentIntent при каждой неудачной попытке — повторно используйте существующий, привязав новый способ оплаты через
stripe.confirmCardPayment().
FAQ
Нужно ли заново вводить адрес и другие данные?
Зависит от реализации формы мерчанта. Обычно нужно только ввести новые данные карты — остальные поля сохраняются.
Почему Stripe detach'ит способ оплаты при отказе?
Это сделано намеренно: при отказе привязанный метод оплаты считается ненадёжным для данного платежа. Покупатель должен явно предоставить новые данные.
Сколько раз можно пробовать разные карты?
Stripe устанавливает лимит попыток на PaymentIntent (обычно до 5 attach'ей). После этого объект помечается как завершённый с ошибкой.
Читайте также
- AML review pending — что значит и как долго ждать
- Аргентинский Xbox ещё работает в 2026 — честный ответ
- Как не попасть на скам при покупке цифровых кодов
- Биллинговый адрес и ZIP-код при онлайн-платежах — что вводить, если карта из другой страны
- Как браузерный фингерпринт влияет на оплату
Нужна карта, которая с первого раза проходит на международных сайтах? Marix — виртуальные карты для онлайн-платежей без лишних отказов.

