Аутентификация

Каждый запрос к https://pay.egnetwork.ru/api/v1/* подписывается секретным ключом сервиса в заголовке Authorization:

Authorization: Bearer egn_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Ключи

ПрефиксРежимЧто происходит
egn_live_боевойРеальные платежи через терминал Т-Банка
egn_test_тестовыйТестовый терминал Т-Банка или встроенный эмулятор. Деньги не списываются

Ключ определяет и сервис, и режим. Платежи разных режимов изолированы: test-ключ не видит live-платежи и наоборот. Поле livemode в каждом объекте показывает режим.

  • Ключ — 32 символа после префикса, храните его только на бэкенде (переменная окружения, secret manager). Никогда не отдавайте его в браузер или мобильное приложение.
  • В базе EGN Pay хранится только SHA-256 хэш ключа, восстановить его нельзя — только перевыпустить.
  • Перевыпуск (rotate) сразу отзывает предыдущий ключ этого режима.

Проверка ключа

curl https://pay.egnetwork.ru/api/v1/me -H "Authorization: Bearer $EGN_PAY_KEY"
{
  "object": "merchant",
  "id": "mch_3hJ9…",
  "name": "Emerald Games",
  "slug": "emerald",
  "livemode": false,
  "provider": "emulator",
  "webhook_url": "https://emerald.example/api/egn-pay/webhook",
  "allowed_return_hosts": ["emerald.example"]
}

provider — tbank (запросы идут в Т-Банк) или emulator (тестовый режим без тестового терминала).

Ошибки аутентификации

HTTPcodeПричина
401unauthorizedНет заголовка, неверный формат, ключ не найден или отозван
403merchant_disabledСервис отключён администратором

Markdown-версия этой страницы: /docs/authentication.md