Восстановление и повторные платежи подписки ЮKassa
Повторные платежи подписки ЮKassa требуют аккуратно различать временную проблему и окончательный статус операции. Сервис создаёт новую попытку по сохранённому payment_method_id, передаёт уникальный idempotence key, ждёт webhook и сверяет его с ответом API. Расписание и сообщение зависят от cancellation_details и бизнес-правил. Клиент понимает, что произошло, а поддержка видит всю цепочку рядом с подпиской.
Когда стоит обратиться
Обычно к нам обращаются в таких ситуациях:
- Подписка отключается после первой ошибки карты, хотя часть клиентов готова завершить оплату после уведомления или следующей попытки.
- Поддержка вручную сверяет ЮKassa и внутреннюю базу, а повторный клик сотрудника способен создать лишнюю попытку.
- Компания хранит payment_method_id, но статусы webhook, cancellation details и доступ клиента обрабатываются разными фоновыми задачами.
Что именно мы сделаем
Описываем модель подписки, согласие, первичный платёж, тарифы, периоды, статусы доступа и коммуникации.
Настраиваем сохранение payment_method_id и связку customer, subscription, invoice и payment attempt.
Реализуем создание платежей с idempotence key, webhooks, запрос статуса и классификацию cancellation details.
Добавляем расписание повторов, остановку после успеха, уведомления клиенту и очередь ручной проверки.
Проводим тестовые сценарии ЮKassa, запускаем production и передаём журнал, отчёт и инструкции.
Что входит в стоимость
69 900 ₽ за всю работу
Настраиваем один сценарий рекуррентной оплаты через API ЮKassa v3. Сначала получаем согласие клиента и сохраняемый payment_method_id в поддерживаемом первичном платеже, затем создаём последующие payments, обрабатываем waiting_for_capture, succeeded и canceled, webhooks и cancellation_details. График повторов учитывает причину отказа, правила бизнеса и коммуникации, а тестовый магазин ЮKassa подтверждает успешные и ошибочные ветки перед production.
Что будет готово
Передадим вам
- Рабочий цикл повторных платежей ЮKassa со статусами подписки, idempotence key, webhooks и расписанием.
- Журнал попыток и причин, очередь ручной проверки, клиентские уведомления и отчёт по состояниям подписок.
- Протокол тестового магазина, инструкция эксплуатации, изменения интервалов и диагностики конкретного платежа.
Перед сдачей проверим
- Тестовая подписка проходит первичное сохранение способа и последующий платёж, успешный webhook завершает invoice и цикл попыток.
- Повтор одного запроса и webhook сохраняет один платёжный результат, журнал содержит ID, время, статус и категорию причины.
- Контрольный отказ создаёт правильное следующее действие и сообщение, оператор видит срок попытки и состояние доступа клиента.
Как это выглядит на практике
Подписка продолжает работу после обновления карты
- 01
Плановый платёж получает canceled с причиной, для которой продукт предлагает клиенту обновить способ оплаты.
- 02
Сервис записывает попытку, отправляет понятную ссылку и сохраняет текущий доступ на выбранный период ожидания.
- 03
Клиент подтверждает новую карту, следующий платёж создаётся с новым idempotence key и получает succeeded через webhook.
- 04
Invoice закрывается, дальнейшие попытки отменяются расписанием, поддержка видит обе операции и итог рядом с подпиской.
Что понадобится для работы
От вас
- API-доступ ЮKassa, тестовый магазин, текущая схема платежей, webhooks и примеры статусов и cancellation details.
- Модель клиентов, подписок и invoice, правила доступа, интервалы повторов и утверждённые сообщения пользователю.
- Ответственные продукта и бухгалтерии, политика согласий, тестовые аккаунты и безопасное окно production запуска.
Если у вас немного другая ситуация
Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.
- 3 000 ₽после подписания договора через Диадок
- 66 900 ₽после выполнения, демонстрации и приёмки результата
Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.
Часто спрашивают
Об этой услуге
Как сохраняется способ оплаты для подписки?
Первичный платёж создаётся по поддерживаемому сценарию с согласием клиента, после успеха сервис сохраняет выданный payment_method_id рядом с клиентом.
Зачем каждой попытке idempotence key?
Ключ связывает повтор технического запроса с одной операцией, поэтому timeout и повтор worker приводят к уже созданному результату ЮKassa.
Как выбирается время следующей попытки?
График учитывает cancellation details, тариф, доступ клиента и правила продукта. Интервалы и количество попыток утверждаются до запуска.
Что происходит после успешного платежа?
Webhook и контроль API переводят invoice в оплаченный статус, продлевают подписку по бизнес-правилу и останавливают запланированные попытки этого периода.
Как обрабатывается повтор webhook?
Обработчик узнаёт payment ID и тип события, сохраняет прежний бизнес-результат и добавляет техническую запись о доставке.
Можно попросить клиента обновить карту?
Да. Для соответствующей причины формируем выбранное сообщение и безопасный пользовательский сценарий сохранения нового способа оплаты.
Какие тесты доступны до запуска?
Тестовый магазин ЮKassa позволяет пройти успешные и отклонённые платежи, webhooks, повторы запросов и обработку выбранных статусов.
Что увидит оператор поддержки?
Оператор видит подписку, invoice, попытки, payment ID, время, текущий статус, категорию причины, следующее действие и итоговый платёж.
Цена и изменения по ходу работы
Цена на странице окончательная?
Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.
Что означает резерв незапланированных работ?
Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.
Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.
Можно уточнять детали уже во время работы?
Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.
Начало работы и оплата
Как оформляются договор и оплата?
Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.
Когда начинается срок выполнения?
Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.
Как учитываются платные лицензии и внешние сервисы?
До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.
Проверка результата и гарантия
Как принимается готовая работа?
Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.
Какая гарантия действует после сдачи?
На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.
Связанные шаги
- 01Подписки и регулярные платежи
Запустить подписки и регулярные платежи
- 02Восстановление и повторные платежи подписки ЮKassa
Настроить повторные попытки оплаты подписки
- 03Отмена автопродления подписки и повторных списаний
Настроить отмену автопродления и списаний