Запросы подписываются HMAC-SHA256. Нужны ключ из кабинета и заголовок Signature. Только HTTPS. Пример для POST — в создании платежа.
X-Merchant-Key-Id — id ключаX-Merchant-Secret — секрет (им же считают HMAC)Signature — HMAC-SHA256 от тела (для GET — от пустой строки), hex в нижнем регистреIdempotency-Key — по желанию; не влияет на дедупликацию на сервере (см. идемпотентность).HMAC-SHA256 (ключ = секрет, сообщение = тело).Signature.Если подпись не совпадает с телом или секретом, сервер обычно отвечает 401 Unauthorized или 403 Forbidden. Тело ответа часто содержит поле с причиной; точный формат может обновляться — ориентируйтесь на код HTTP и текст сообщения.
Иллюстративный ответ (структура не является гарантией дословного совпадения в каждой версии API):
HTTP/1.1 403 Forbidden
Content-Type: application/json
{
"message": "Неверная подпись запроса.",
"code": "signature_invalid"
}Проверьте: тело для HMAC = то же, что ушло в запрос; UTF-8; секрет и key id верные; Signature в нижнем hex. См. ошибки.
Ключи выдаются в личном кабинете мерчанта: раздел «шлюзы», карточка шлюзы, блок credentials для API. Перейти в кабинет