API для платежных терминалов: відмінності між версіями
Перейти до навігації
Перейти до пошуку
Sv (обговорення | внесок) Немає опису редагування |
Sv (обговорення | внесок) Немає опису редагування |
||
Рядок 14: | Рядок 14: | ||
Это можно использовать для тестирования доступности и работоспособности API | Это можно использовать для тестирования доступности и работоспособности API | ||
==Подписывание данных== | |||
Вместе с данными, терминал должен прислать в параметре signature строку, которая вычисляется по следующей формуле: | |||
1) необходимо отсортировать по именам все посылаемые параметры и объединить символом '|' (вертикальная чарта) | |||
2) к полученной строке добавить символ '|' и пароль к API NoDeny | |||
3) получить mdp5 хеш для полученной строки | |||
Например, терминал посылает на API следующие данные: | |||
<pre> | |||
command = info | |||
account = 5982 | |||
<pre> | |||
После сортировки и конкатенации получаем строку: '''account|5982|command|info''' | |||
После добавления к полученной строке '''|пароль_от_api''' получаем '''account|5982|command|info|пароль_от_api''' | |||
Далее применяем алгоритм md5 и получаем результат: '''3eb6d78df0be8d54e170b15d596c7706''' | |||
Пример на языке perl: | |||
<pre> | |||
$signature = Digest::MD5->new->add($string.'|'.$api_password)->hexdigest; | |||
</pre> | |||
Итоговый запрос будет следующим: | |||
<source lang="bash"> | |||
https://app.nodeny-plus.com.ua/cgi-bin/api.pl?command=info&account=5982&signature=3eb6d78df0be8d54e170b15d596c7706 | |||
</source> | |||
Версія за 14:46, 9 серпня 2016
Общая информация
API запросы выполняются по http(s)-протоколу, в ответ приходит json. В ключе error - код ошибки (0 - отсутствие ошибки)
Тестировать API можно с консоли, например:
curl 'https://app.nodeny-plus.com.ua/cgi-bin/api.pl'
Опрос урла без каких-либо параметров должен возвращать result = 0:
{"error":0}
Это можно использовать для тестирования доступности и работоспособности API
Подписывание данных
Вместе с данными, терминал должен прислать в параметре signature строку, которая вычисляется по следующей формуле: 1) необходимо отсортировать по именам все посылаемые параметры и объединить символом '|' (вертикальная чарта) 2) к полученной строке добавить символ '|' и пароль к API NoDeny 3) получить mdp5 хеш для полученной строки
Например, терминал посылает на API следующие данные:
command = info account = 5982 <pre> После сортировки и конкатенации получаем строку: '''account|5982|command|info''' После добавления к полученной строке '''|пароль_от_api''' получаем '''account|5982|command|info|пароль_от_api''' Далее применяем алгоритм md5 и получаем результат: '''3eb6d78df0be8d54e170b15d596c7706''' Пример на языке perl: <pre> $signature = Digest::MD5->new->add($string.'|'.$api_password)->hexdigest;
Итоговый запрос будет следующим:
https://app.nodeny-plus.com.ua/cgi-bin/api.pl?command=info&account=5982&signature=3eb6d78df0be8d54e170b15d596c7706
1 | Проблема на стороне NoDeny. Возможно следует повторить запрос через время |
2 | API NoDeny отключено |
10 | Со стороны терминала присланы некорректные данные. Если терминал пошлет эти же самые данные - будет возвращена ошибка |
11 | Аккаунт в NoDeny не найден |
12 | Не задана команда |
13 | Неверно задана денежная сумма |
14 | Неверный order id |