EGN Pay
EGN Pay — единый платёжный сервис экосистемы EGN. Ваш сервис создаёт платёж одним HTTP-запросом, получает ссылку https://pay.egnetwork.ru/p/pay_… и отправляет на неё пользователя. На странице оплаты пользователь видит сумму и QR-код СБП (на телефоне — кнопку «Оплатить в приложении банка»), при необходимости — кнопку оплаты картой. После оплаты ваш сервис получает подписанный вебхук, а пользователь возвращается на return_url.
Ключи терминала Т-Банка, подписи запросов, статусы и повторы уведомлений живут только здесь — в сервисах их больше нет.
Как это работает
Ваш сервис EGN Pay Т-Банк / НСПК
│ POST /api/v1/payments │ │
│ ─────────────────────────▶ │ Init + GetQr │
│ { payment_url, id } │ ────────────────────────────────▶ │
│ ◀───────────────────────── │ │
│ │ │
│ 302 → payment_url │ пользователь платит по QR (СБП) │
│ ──────────── пользователь ─▶ ───────────────────────────────▶ │
│ │ уведомление CONFIRMED │
│ │ ◀──────────────────────────────── │
│ webhook payment.succeeded │ │
│ ◀───────────────────────── │ │
│ пользователь → return_url │ │Быстрый старт
1. Получите ключи
Администратор создаёт сервис в админке и выдаёт вашему отделу доступ. Войдите в админку через EGN ID, откройте сервис и выпустите ключи:
egn_test_…— тестовый ключ (деньги не списываются),egn_live_…— боевой ключ,whsec_…— секрет для проверки подписи вебхуков.
2. Создайте платёж
curl https://pay.egnetwork.ru/api/v1/payments \
-H "Authorization: Bearer egn_test_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" \
-d '{
"amount": 49900,
"order_id": "order-1042",
"description": "Подписка Pro на 1 месяц",
"return_url": "https://example.egnetwork.ru/billing/done",
"customer": { "email": "user@example.com" },
"metadata": { "user_id": "u_123" }
}'amount — в копейках: 49900 = 499,00 ₽.
Ответ (201 Created):
{
"id": "pay_8fK2mQ1xZbY7cV3nT0aR",
"object": "payment",
"livemode": false,
"status": "pending",
"amount": 49900,
"payment_url": "https://pay.egnetwork.ru/p/pay_8fK2mQ1xZbY7cV3nT0aR",
"order_id": "order-1042",
"expires_at": "2026-10-27T13:00:00.000Z"
}3. Отправьте пользователя на payment_url
Сделайте редирект (HTTP 302) или откройте ссылку в WebApp/боте.
4. Примите вебхук
На webhook_url сервиса придёт POST с событием payment.succeeded. Проверьте подпись X-EGN-Signature (см. Вебхуки) и выдайте пользователю товар. Выдавайте товар только по вебхуку или по GET /api/v1/payments/{id}, а не по факту возврата на return_url — URL возврата может открыть кто угодно.
Разделы
- Аутентификация — ключи, режимы test/live
- Платежи — создание, статусы, отмена, возвраты, чеки 54-ФЗ
- Страница оплаты — что видит пользователь, параметры возврата
- Вебхуки — события, подпись, повторы
- Тестирование — тестовый режим и симуляция оплаты
- Ошибки — коды ошибок
- SDK — однофайловый TypeScript-клиент
- Для ИИ-агентов —
llms.txt, OpenAPI, Markdown-версии страниц
Markdown-версия этой страницы: /docs/index.md