Аутентификация
Публичный 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 ротации нет. Ротация — это перекрытие несколькими активными ключами:
- Создайте новый ключ в кабинете.
- Разверните его на сервере.
- Убедитесь, что запросы проходят.
- Отзовите старый ключ.
Окружения
Значение env в ключе (test / live) — это метка окружения на стороне Eleven Pay, а не гарантия подключённого провайдера. Счета Cashier существуют только в окружении live: ключ test получит 409 cashier_environment_unsupported. См. Окружения.