ДеньгиOnline

2017-01-16 19:48:09

Выплаты с помощью реестра

Запрос на выплату от имени проекта может быть произведен через загрузку реестра в Личном кабинете.

Реестр включает в себя список ордеров, на  основании которых будут сначала созданы, а затем оплачены инвойсы.

Каждый ордер представляется в виде строки, состоящей из свойств:

  • service — услуга, через которую будет произведена выплата, 
  • amount — сумма, 
  • currency — валюта суммы, 
  • account — кошелёк получателя (в зависимости от конкретной услуги может описываться несколькими полями (см. ноду <params>  в действии commissions)), 
  • comment — текстовый комментарий. 

Файл реестра 

  • Реестр формируется в формате CSV. 
  • Кодировка UTF-8 или Windows-1251.
  • В качестве разделителей столбцов используется ";" (точка с запятой). Значения, содержащие ";" (точку с запятой), обрамляются двойными кавычками ("). 
  • Для разделения строк используется символ переноса строки.
  • Все числовые значения передаются с точностью 2 знака после запятой, дробная часть отделяется точкой (например, 34.00), сотни и тысячи не отделяются.
  • Первая строка должна содержать перечень с заголовками всех задействованных столбцов данных. Порядок столбцов — произвольный.
  • Каждая строка текста соответствует одному ордеру. 

В общем случае набор полей должен содержать следующие пункты: 

Поле Обязательность Описание
service да Цифровой идентификатор услуги GSG (доступен пользователям ЛК в подразделе ПлатежиУслуги)
account да Аккаунт получателя (эл. почта, номер БК, телефон, номер кошелька - что применимо)
amount да Сумма к выплате. Если сумма превышает установленный для услуги максимум, то по одному ордеру будут выставлены несколько инвойсов, при этом сумма каждого инвойса не привысит максимальную разрешенную
currency да Трехзначный цифровой код валюты выплаты в соответствии со стандартом ISO 4217 (number-3)
comment нет (обязателен для ряда провайдеров) Текстовый комментарий к выплате
txn_id нет Идентификатор на стороне информационной системы клиента

Для некоторых услуг обязательный набор содержит дополнительные, специфичные поля.  

Дополнительные поля называются также, как параметр, передаваемый GSG в рамках протокола (дополнительные поля передаются в ноде <params> при действии commissions). 

Например:

Поле Обязательность Описание
name только для услуги 9 Имя и фамилия владельца карты латиницей
expiry только для услуги 9 valid thru (срок действия) карты в формате MMYY
phone только для услуги 9 и услуги 1047498 Номер телефоны получателя в формате 79AABBBCCDD

Если реестр ордеров содержит выплаты разными услугами, некоторые из которых требуют наличия дополнительных параметров, то первая строка ордера должна содержать перечень с заголовками всех задействованных столбцов данных.

При этом в строках для выплат теми услугами, где дополнительная информация не требуется, соответствующие поля не заполняются, но разделитель ";" ставится.

Пример реестра

service;account;amount;currency;comment;name;expiry;phone
33;4100000011112222;12345;643;test;;;
23;Z123456789012;54321;840;test;;;
9;510000001111222233;840;payout;IVAN IVANOV;1218;79012345678

Ошибки реестра

Если при формировании реестра допущена ошибка, то при загрузке сsv-файла будет сформирован реестр ошибок импорта. Загружаемый реестр проверяется по следующим параметрам:

  • все необходимые поля указаны;
  • услуга подключена;
  • аккаунт указан в соответствии с требованием Системы (commissions);
  • сумма больше нуля.

Исходный реестр

service;account;amount;currency;comment;
33;12341234;1;643;test;
1000000000;123;1;643;www;
19;dsa;0;999;

Реестр ошибок

service;account;amount;currency;comment;
33;12341234;1;643;test;
"Услуга 33 не подключена проекту 1290";;;;;
1000000000;123;1;643;www;
"Услуга 1000000000 не подключена проекту 1290";;;;;
19;dsa;0;999;;
"Услуга 19 не подключена проекту 1290";;"Сумма должна быть больше 0";;"Обязательно для заполнения";
1049514;510069******6403;10;643;test;
"Услуга 1049514 не подключена проекту 1290";;;;;