Billing Webhook (YooKassa)

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

Endpoint

POST /v1/billing/yookassa/webhook

Проверка подлинности: Basic Auth (shopId:secretKey).

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

  • payment.succeeded — активируется подписка по metadata.plan_code.
  • payment.canceled — платеж помечается отмененным, подписка не создается.

Пример payload

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

Создание платежа из кабинета

POST /v1/billing/yookassa/create-payment
{ "plan_code": "pro_month_50k" }

Ответ содержит confirmation_url для редиректа пользователя на оплату.