Токен
Токен, или подпись запроса — это строка в запросе методов, в которой мерчант должен шифровать данные с помощью пароля.
В описании входных параметров для каждого метода указано, нужно подписывать запрос или нет. Токен формируется на основании тех полей, которые есть в запросе, поэтому для каждого запроса они уникальные и никогда не совпадают.
Пример формирования токена
Чтобы зашифровать данные запроса:
Соберите массив передаваемых параметров в виде пар
ключ:значение
. В массив нужно добавить только параметры корневого объекта — вложенные объекты и массивы не участвуют в формировании токена.В примере в массив включены параметры
TerminalKey
,Amount
,OrderId
,Description
и исключены объектыReceipt
иDATA
:[{"TerminalKey": "MerchantTerminalKey"},{"Amount": "19200"},{"OrderId": "00000"},{"Description": "Подарочная карта на 1000 рублей"}]
Добавьте в массив пару
{"Password": "Значение пароля"}
. Пароль можно найти в личном кабинете интернет-эквайринга.[{"TerminalKey": "MerchantTerminalKey"},{"Amount": "19200"},{"OrderId": "00000"},{"Description": "Подарочная карта на 1000 рублей"},{"Password": "11111111111111"}]
Отсортируйте массив по алфавиту по ключу.
[{"Amount": "19200"},{"Description": "Подарочная карта на 1000 рублей"},{"OrderId": "00000"},{"Password": "11111111111111"},{"TerminalKey": "MerchantTerminalKey"}]
Конкатенируйте только значения пар в одну строку.
"19200Подарочная карта на 1000 рублей0000011111111111111MerchantTerminalKey"
Примените к строке хеш-функцию SHA-256 (с поддержкой UTF-8).
"72dd466f8ace0a37a1f740ce5fb78101712bc0665d91a8108c7c8a0ccd426db2"
Добавьте получившийся результат в значение параметра
Token
в тело запроса и отправьте его.{
"TerminalKey": "MerchantTerminalKey",
"Amount": 19200,
"OrderId": "21090",
"Description": "Подарочная карта на 1000 рублей",
"DATA": {
"Phone": "+71234567890",
"Email": "a@test.com"
},
"Receipt": {
"Email": "a@test.ru",
"Phone": "+79031234567",
"Taxation": "osn",
"Items": [
{
"Name": "Наименование товара 1",
"Price": 10000,
"Quantity": 1,
"Amount": 10000,
"Tax": "vat10",
"Ean13": "303130323930303030630333435"
},
{
"Name": "Наименование товара 2",
"Price": 20000,
"Quantity": 2,
"Amount": 40000,
"Tax": "vat20"
},
{
"Name": "Наименование товара 3",
"Price": 30000,
"Quantity": 3,
"Amount": 90000,
"Tax": "vat10"
}
]
},
"Token": "72dd466f8ace0a37a1f740ce5fb78101712bc0665d91a8108c7c8a0ccd426db2"
}
Проверка корректности токена
В личном кабинете интернет-эквайринга перейдите в раздел Операции, выберите нужный заказ и в блоке Дополнительная информация о заказе посмотрите на значение в поле inittokenisvalid
:
true
— токен валидный,false
— токен некорректный.