Перейти к основному содержимому

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

API Key (интеграция без ЛК)

При создании кассы генерируются api_key и signing_secret. Ключ передаётся в каждом запросе к API, секрет используется только для проверки подписи вебхуков.

Заголовки:

X-API-Key: rpk_live_abc123def456
X-Nonce: 550e8400-e29b-41d4-a716-446655440000

API-ключ привязан к одной кассе. Все операции выполняются в контексте этой кассы (например, при создании платежа terminal_id можно не передавать — подставится касса ключа).

Защита от повтора (nonce)

Чтобы исключить повторное использование одного и того же запроса, с каждым запросом передавайте уникальный X-Nonce (например, UUID). Один и тот же nonce нельзя использовать повторно в течение 10 минут. При повторном использовании вернётся 401 Unauthorized с сообщением "nonce already used".


JWT (личный кабинет)

Для входа в веб-интерфейс (дашборд) используется пара токенов, получаемая через логин.

POST /api/v1/auth/login

Тело запроса:

{
"email": "merchant@example.com",
"password": "your_password"
}

Ответ 200 OK:

{
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"refresh_token": "eyJhbGciOiJIUzI1NiIs...",
"expires_at": 1740441600,
"user": {
"id": "usr_abc123",
"email": "merchant@example.com",
"role": "merchant_owner",
"account_id": "acc_xyz789"
}
}

В последующих запросах к API от имени пользователя передавайте:

Authorization: Bearer <access_token>

Обновление токена: POST /api/v1/auth/refresh с телом { "refresh_token": "..." }.

Для серверной интеграции без ЛК используйте только X-API-Key и X-Nonce.