ДеньгиOnline

2017-01-16 19:48:07

Общие положения работы протокола GSG

В ходе взаимодействия Проекта и Системы, Проект отправляет запросы на совершение действий, а Система дает ответ о совершении или невозможности совершения данного действия.

Общая информация о работе протокола GSG

Порядок выполнения основных операций

Запрос Краткое описание Обязательность запроса
1

Действие balance

Получение информации о балансе Да
2 Действие check Проверка возможности проведения платежа (выставление счёта) Да
3 Действие pay Запрос на произведение выплаты Да
4 Действие pay_status Получение статуса транзакции Да

Общая структура запроса и ответа

Взаимодействие в рамках GSG API осуществляется путём обмена сообщениями по адресу: 

где ХХХХ – идентификатор проекта project, выдаваемый при подключении. О проблемах с обращением к указанному адресу сообщайте специалисту по подключению!

Для передачи параметров запроса используются следующие правила:

  • метод передачи - POST;
  • формат - XML;
  • кодировка - UTF-8.

Запрос содержит цифровую подпись. При формировании цифровой подписи используется секретный ключ. Максимальный срок действия секретного ключа – 1 год. 

Секретный ключ не должен быть известен никому кроме Партнера!

Никогда не включайте его в транзакции и не передавайте за пределы организации!

Сотрудники технической поддержки никогда не спросят ваш секретный ключ!

Общие обязательные параметры запроса и ответа

Таблица общих обязательных параметров запроса

Параметр Описание Тип данных Обязательность
project ID проекта в Системе GSG integer да
timestamp

Дата и время выполнения запроса

Unix time

integer да
sign

Цифровая подпись запроса

Строковая переменная, получаемая по алгоритму:
$sign = sha1('secret=cекретный_ключ_проекта&имя_параметра=значение_параметра&....') , где:

  • параметр secret=секретный_ключ_проекта ставится в начале строки;
  • параметры отсортированы по алфавиту (т.е. account, action, amount...);
  • разделитель — & (амперсанд).

См. подробнее о формировании подписи 

string

 

да
action

Идентификатор желаемого действия

Возможные значения:

  • commissions – получение списка доступных систем – получателей платежа, их параметров и значений комиссий;
  • balance – получение суммы основного баланса;
  • check – предзапрос на проведение выплаты;
  • pay – запрос на проведение выплаты;
  • pay_status – получение статуса транзакции по ее идентификатору;
  • errors – получение списка кодов уведомлений и их описаний;
  • transactions – получение списка транзакций за период

string

да
params

Дополнительные параметры запроса к системе

Возможные вложенные элементы тега params приведены в описании каждого действия

string / integer

(в зависимости от передаваемой информации)

нет

Таблица общих обязательных параметров ответа

Параметр Описание Тип данных
status

Статус запроса (например, 1 - успех)

См. список кодов ответа

integer
timestamp Дата и время выполнения запроса integer
reference Уникальный номер операции в системе string (255)

Примеры запроса и ответа

Увидеть вживую структуру запроса и ответа с своими параметрами можно при помощи тестовой утилиты – https://gsg-tester.dengionline.com.

Утилита используется только на этапе интеграции и тестирования!
После подключения адрес исключается из ip-фильтра в настройках проекта, а все запросы от утилиты будут отклонены с ошибкой 995 - IP_NOT_WHITELISTED.

При возникновении других проблем с использование утилиты - обратитесь в отдел подключения вашего лицензиара.

Общий вид запроса

<?xml version="1.0" encoding="UTF-8"?>
<request>
  <project>[ID проекта]</project>
  <action>[Идентификатор желаемого действия</action>
  <timestamp>[Дата и время выполнения запроса]</timestamp>
  <params>
    [Возможные дополнительные параметры, если того требует желаемое действие]
  </params>
  <sign>[Подпись запроса]</sign>
</request>

Общий вид ответа

<?xml version="1.0" encoding="UTF-8"?>
<response>
  <status>[статус запроса]</status>
  . . .       – в зависимости от действия возможны доп. параметры
</response>