Аутентификация
Запросы к API подписываются секретным ключом магазина в заголовке Authorization. Ключ определяет и магазин, и режим — тестовый или боевой.
Authorization: Bearer sk_test_51c8b2e0f4a7d913c6f2a9Секретные ключи
- sk_test_…
- Тестовый режим. Выдаётся в кабинете сразу после приглашения или временно — в песочнице.
- sk_live_…
- Боевой режим. Создаётся в кабинете, когда подключение завершено и боевой приём включён.
Ключи создаются и отзываются в кабинете, в разделе «Вебхуки и API-ключи». Можно держать несколько ключей — например, отдельный для каждого сервиса, чтобы отзывать их независимо. Полное значение ключа показывается один раз при создании; дальше в кабинете видны только префикс и последние четыре символа.
sk_test_51c8b2e0f4a7d913c6f2a9 тестовый
sk_live_9d04e7a1b6c35f28e0b417 боевойЗаголовок Authorization
Передавайте ключ по схеме Bearer в каждом запросе: Authorization: Bearer sk_test_…. Запросы без ключа, с неверным или отозванным ключом получают ответ 401 с кодом authentication_failed.
API принимает только HTTPS-запросы. Ключ в адресной строке или в теле запроса не поддерживается — это защищает его от попадания в логи прокси.
Без ключа работают только служебные адреса: проверка доступности /v1/health, выдача временного ключа песочницы и страница оплаты для покупателя.
curl https://api.nordpay.pro/v1/payments/pay_2Kq8sD1fVxJ7mN4p \
-H "Authorization: Bearer $NORDPAY_SECRET_KEY"{
"error": {
"type": "authentication_error",
"code": "authentication_failed",
"message": "Неверный или отозванный ключ API",
"request_id": "req_4b1e90c2d7"
}
}Хранение и отзыв
- Используйте ключ только на сервере. Не размещайте его в коде сайта, мобильного приложения или в браузерных скриптах.
- Храните ключ в переменных окружения или менеджере секретов, не коммитьте его в репозиторий.
- Давайте доступ к ключам только тем сотрудникам, кому он нужен: роли настраиваются в кабинете, в разделе «Настройки → Команда».
- Если ключ мог утечь, сразу отзовите его в кабинете и создайте новый. Отзыв действует мгновенно.
Для приёма вебхуков используется отдельный секрет подписи — см. «Подпись».
NORDPAY_SECRET_KEY=sk_live_…
NORDPAY_WEBHOOK_SECRET=…