Billing Webhook

Webhook YooKassa обновляет платежи и активирует подписку после подтверждённой оплаты.

Endpoint

POST /v1/billing/yookassa/webhook

Gateway подтверждает событие обратным запросом в YooKassa API по payment_id. Basic Auth может присутствовать, но основная проверка выполняется через YooKassa API.

Поддерживаемые события

СобытиеДействие gateway
payment.waiting_for_captureПроверяет платеж и отправляет capture.
payment.succeededСоздаёт или активирует подписку по metadata.plan_code.
payment.canceledПомечает платеж отмененным, подписку не активирует.

Пример payload

{
  "event": "payment.succeeded",
  "object": {
    "id": "payment-id",
    "status": "succeeded",
    "metadata": {
      "user_id": "66f...",
      "plan_code": "pro_year_500k"
    }
  }
}

Настройки безопасности

  • YOOKASSA_WEBHOOK_DEBUG=true включает расширенные debug-логи с маскированием чувствительных заголовков.
  • YOOKASSA_WEBHOOK_ENFORCE_IP=true отклоняет webhook, если IP не входит в allowlist YooKassa.
  • YOOKASSA_WEBHOOK_ALLOWED_IPS позволяет задать собственный список CIDR/IP.