METHOD\nPATH\ntimestamp\nidempotency-key\nsha256_hex(body)METHOD — метод запроса в верхнем регистреPATH — путь запроса без хоста и без строки запросаtimestamp — unix-время в секундах. Сервер принимает запросы в окне ±300 секундidempotency-key — уникальная строка для каждого вывода, генерируется на стороне клиента (например, UUID). Та же строка передаётся в заголовке Idempotency-Keysha256_hex(body) — SHA-256 от тела запроса, hex строчными буквами. Тело сериализуется без лишних пробелов — те же байты идут и в подпись, и в запросBase64(HMAC-SHA256(SECRET, string_to_sign))Authorization: PG-HMAC kid={MERCHANT_ID}, ts={timestamp}, sig={подпись}Idempotency-Key в них не передаётся. Соответствующий элемент строки подписи остаётся пустым, а вместо хеша тела подставляется хеш пустой строки:GET\n/api/v1/sbp-banks\n1719403200\n\ne3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.401 и общей формулировке ответа: недействительная или просроченная подпись, выход за пределы окна, неизвестный ключ, IP вне списка разрешённых, отключённое направление выводов. Конкретика приходит в поле message.GET, пустой ключ идемпотентности и хеш пустого тела.