170 похожих чатов

Всем привет, подключаю платежку у них в доке сказано как

сделать подпись :

The signature message is built by concatenating the following data with a line break "\n"

HTTP Method ("POST")
MD5 hash of payload (the XML itself)
Content-Type header (e.g. "text/xml; charset=utf-8")
Timestamp as sent in Date header
Additional custom headers (usually empty)
Request URI string (usually "/transaction")
Afterwards you build the HMAC digest with SHA512 of this message with the shared secret as key. The digest should be generated in binary (not hexadecimal) and then base64 encoded.

вот как я это делаю:

xml = '<?xml version='1.0' encoding='utf-8'?>...'
now = datetime.utcnow()
form = 'EEE, dd LLL yyyy hh:mm:ss'
date = format_datetime(now, form, locale='en') + ' GMT'

headers = {
'Content-Type': 'text/xml; charset=utf-8',
'Date': date,
'Authorization': ''
}

b64body = base64.b64encode(xml.encode())
signature_string = f"POST\n{b64body}\n{headers['Content-Type']}\n{headers['Date']}\n/transaction\n{shared_key}"
sign = base64.b64encode(hashlib.sha512(signature_string.encode()).hexdigest().encode())
headers['Authorization'] = f'Gateway {api_key}:{sign}'

но оно его не принимает, подскажите пожалуйста правильно ли я заинкодил sign согласно описанию ?

1 ответов

12 просмотров

во-первых, не надо так строить хмл

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
Гляньте, че бывает: Сегодня по одному проекту одной вебстудии делал проект небольшой, на их хостинге. На Modx revo. В определенный момент , работая в админке, вдруг перестал р...
Artem
7
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
12
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Кто нибудь либу Zstandart использовал ? Это либа для сжатия от Цукерберга
Andrey Electron
9
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Карта сайта