Skip to content

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

Публичный Merchant API использует аутентификацию по Bearer‑токену — вашему API‑ключу. Это серверный, server‑to‑server интерфейс: cookie и сессии не используются.

Заголовок ​

Authorization: Bearer ep_<env>_<keyid>_<secret>

Формат ключа: ep_<env>_<keyid>_<secret>, где env — live или test. Полное значение ключа показывается один раз при создании в кабинете; сохраните его в защищённом хранилище на сервере.

Возможности (capabilities) ​

Каждый ключ имеет явный набор возможностей:

ВозможностьЧто разрешает
payment.createСоздавать платежи — POST /v1/payments.
payment.readЧитать платежи — GET /v1/payments/{reference} и счета — GET /v1/cashier/invoices/{reference}.
cashier.invoice.createСоздавать счета плательщику — POST /v1/cashier/invoices (см. Счета Cashier).

Существуют и другие возможности ключей (например, для возвратов); они относятся к функциям, которые не описаны в этой редакции документации. Выдавайте ключу минимум нужных возможностей.

Если ключ не имеет нужной возможности, вызов вернёт 403 forbidden.

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

  • Неверный, неизвестный или отозванный ключ → 401 invalid_api_key. Ответ не различает «неизвестный ключ» и «неверный секрет» — это сделано намеренно.
  • Валидный ключ без нужной возможности → 403 forbidden.

См. Ошибки.

Безопасное хранение ключа ​

  • Только на сервере. Никогда не встраивайте ключ в браузерный или мобильный клиент.
  • Не коммитьте в Git и не передавайте в URL.
  • Читайте из переменной окружения или менеджера секретов, а не из исходного кода.
  • Не логируйте заголовок Authorization и полное значение ключа.
  • При компрометации немедленно отзовите ключ в кабинете и создайте новый.

Ротация ключа ​

Отдельного endpoint ротации нет. Ротация — это перекрытие несколькими активными ключами:

  1. Создайте новый ключ в кабинете.
  2. Разверните его на сервере.
  3. Убедитесь, что запросы проходят.
  4. Отзовите старый ключ.

Окружения ​

Значение env в ключе (test / live) — это метка окружения на стороне Eleven Pay, а не гарантия подключённого провайдера. Счета Cashier существуют только в окружении live: ключ test получит 409 cashier_environment_unsupported. См. Окружения.