Endpoint: Отмена подписки в конце периода
С 1 ноября 2026 запрос без заголовка X-Partner-Api-Key перестанет работать.
Мы добавили в эту ручку проверку владельца подписки: она сверяет, что подписка относится к вашему аккаунту. Чтобы проверка работала для ваших запросов, передавайте заголовок с вашим ключом — см. раздел «Заголовки» ниже.
Подключить заголовок можно уже сейчас, ждать 1 ноября не нужно.
Когда использовать этот метод
Этот метод подходит для стандартного сценария отмены подписки, когда пользователь хочет прекратить автоматическое продление, но использовать уже оплаченный период до конца.
Преимущества:
Пользователь сохраняет доступ к сервису до конца оплаченного периода
Пользователь не теряет деньги за неиспользованное время
Пользователь может передумать и возобновить подписку до окончания периода
Для сравнения: Немедленная отмена подписки — если нужно отменить подписку прямо сейчас с немедленным прекращением доступа.
Описание
Этот endpoint позволяет запланировать отмену подписки пользователя в конце текущего оплаченного периода или отменить ранее запланированную отмену.
Интеграция с Stripe API
Под капотом мы используем метод Update a subscription из Stripe API, обновляя поле cancel_at_period_end.
Это стандартный способ управления запланированной отменой подписок в Stripe, который обеспечивает корректную обработку биллинга и сохранение доступа пользователя до конца оплаченного периода.
URL
POST https://n8n.thenextgen.store/webhook/cancel_subscription_at_period_endПараметры запроса
Заголовки
X-Partner-Api-Key — ваш ключ EasyPay. Обязателен с 1 ноября 2026; подключить рекомендуем заранее. Ключ лежит в личном кабинете: раздел API key and MCP Setup → кнопка Show key.
Query параметры (обязательные)
subscription_id — ID подписки Stripe (например:
sub_1SlxDHLoVAqE08foQiRVDkfy)
Body параметры (form-data)
cancel_at_period_end — булево значение (
true/false)true— запланировать отмену подписки в конце текущего периодаfalse— отменить запланированную отмену, подписка продолжит действовать
Пример запроса
Запланировать отмену подписки
POST /webhook/cancel_subscription_at_period_end?subscription_id=sub_1SlxDHLoVAqE08foQiRVDkfy
X-Partner-Api-Key: <ваш ключ>
Content-Type: application/x-www-form-urlencoded
cancel_at_period_end=trueОтменить запланированную отмену
POST /webhook/cancel_subscription_at_period_end?subscription_id=sub_1SlxDHLoVAqE08foQiRVDkfy
X-Partner-Api-Key: <ваш ключ>
Content-Type: application/x-www-form-urlencoded
cancel_at_period_end=falseПример ответа
{
"application_fee_percent": null,
"automatic_tax": {
"disabled_reason": null,
"enabled": false,
"liability": null
},
"billing_cycle_anchor": 1767585821,
"billing_cycle_anchor_config": null,
"billing_mode": {
"flexible": null,
"type": "classic"
},
"billing_thresholds": null,
"cancel_at": 1770234221,
"cancel_at_period_end": true,
// ... остальные поля подписки Stripe
}Логика работы
При cancel_at_period_end=true:
Подписка остаётся активной до конца текущего оплаченного периода
Пользователь сохраняет доступ к сервису до даты окончания периода
Автоматическое продление отключается
В Stripe устанавливается флаг
cancel_at_period_end: trueПоле
cancel_atсодержит timestamp даты окончания подписки
При cancel_at_period_end=false:
Отменяется ранее запланированная отмена
Подписка продолжит автоматически продлеваться
В Stripe флаг
cancel_at_period_endсбрасывается вfalseПоле
cancel_atстановитсяnull
Ошибки
Код | Что значит | Что делать |
|---|---|---|
|
| проверьте параметр запроса |
| ключ не распознан или не передан | сверьте |
| подписка принадлежит другому аккаунту | проверьте |
| подписку мы ещё не видим у себя | так бывает в первые секунды после её создания — повторите через минуту |
Важные замечания
✅ Подписка должна существовать и быть активной
✅
subscription_idдолжен быть валидным ID из Stripe✅ Изменения применяются немедленно
⚠️ При
cancel_at_period_end=trueпользователь сохраняет доступ до конца периода⚠️ Этот метод не отменяет подписку немедленно — для немедленной отмены используйте другой endpoint