Реестры принятых и возвращенных переводов

Раз в сутки Яндекс.Деньги формируют реестры зачисленных и возвращенных переводов. Реестры формируются в виде файлов формата CSV (Comma Separated Values) и отправляются во вложении к письмам на электронную почту контрагента. Письма подписываются сертификатом Яндекс.Денег (S/MIME подпись).

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

В реестре возвращенных переводов содержатся все возвращенные (полностью и частично) переводы за указанную дату.

Формат файла реестра соответствует рекомендации IETF RFC4180. Разделитель полей — точка с запятой «;». Кодировка символов — UTF-8.

Текстовый формат CSV представляет собой набор строк, разделенных символом переноса строки (LF или CRLF). Каждая строка содержит поля, разделенные точкой с запятой «;». Если в значении параметра встречаются символы двойные кавычки «"», точки с запятой «;» или переносы строк, то такие параметры должны заключаться в кавычки «"».

Note.

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

Тема (subject) электронного письма формируется по шаблону:

РЕЕСТР ДЛЯ <Название контрагента> ЗА <Дата переводов (yyyy-mm-dd)>. № <номер>

Формат имени файла реестра принятых переводов:

settlement_file_<agentId>_<yyyy-mm-dd>_<номер>.csv

Формат имени файла реестра возвращенных переводов:

refund_file_<agentId>_<yyyy-mm-dd>_<номер>.csv

Структура файла реестра

Содержимое файла реестра состоит из следующих элементов:

  • заголовок реестра, содержащий данные о номере и дате реестра (HD-строка);
  • переводы за указанную дату (D-строки);
  • контрольная строка или маркер отсутствия переводов в конце реестра (TD-строка).

Заголовок реестра (HD-строка)

Заголовок реестра содержит идентификатор магазина в Яндекс.Деньгах, номер реестра (идентификатор реестра) и отчетный период, за который сформирован реестр.

Формат заголовка реестра:

HD;agentId;registerId;from;till

Параметры заголовка реестра

Параметр

Тип

Описание

registerId xs:long

Идентификатор сформированного реестра, уникальный на протяжении всей истории операций.

agentId xs:long

Идентификатор контрагента.

from xs:dateTime

Начало отчетного периода, за который сформирован реестр, включительно («от» включая).

till xs:dateTime

Конец отчетного периода, за который сформирован реестр, исключительно («до» не включая).

Параметр

Тип

Описание

registerId xs:long

Идентификатор сформированного реестра, уникальный на протяжении всей истории операций.

agentId xs:long

Идентификатор контрагента.

from xs:dateTime

Начало отчетного периода, за который сформирован реестр, включительно («от» включая).

till xs:dateTime

Конец отчетного периода, за который сформирован реестр, исключительно («до» не включая).

Пример заголовка реестра:

HD;123456;2277;2015-07-01T00:00:00.000+03:00;2015-07-02T00:00:00.000+03:00

Перевод (D-строка)

Для каждого перевода, проведенного за отчетный период, формируется отдельная D-строка.

Note.

Временем совершения перевода считается время, возвращенное в поле processedDT в ответе на запрос makeDeposition .

Формат строки перевода:

D;clientOrderId;amount;currency;dstAccount;processedDT

Параметры строки перевода:

Параметр

Тип

Описание

dstAccount YMAccount

Идентификатор получателя перевода.

clientOrderId ClientTransactionNumber

Идентификатор операции.

processedDT xs:dateTime

Время зачисления средств на счет получателя (по часам сервера Яндекс.Денег, МСК). Приходит в ответе на запрос операции зачисления (makeDeposition). В случае возврата — время возврата средств со счета получателя.

amount CurrencyAmount

Сумма перевода или возврата.

currency CurrencyCode

Код валюты перевода.

Параметр

Тип

Описание

dstAccount YMAccount

Идентификатор получателя перевода.

clientOrderId ClientTransactionNumber

Идентификатор операции.

processedDT xs:dateTime

Время зачисления средств на счет получателя (по часам сервера Яндекс.Денег, МСК). Приходит в ответе на запрос операции зачисления (makeDeposition). В случае возврата — время возврата средств со счета получателя.

amount CurrencyAmount

Сумма перевода или возврата.

currency CurrencyCode

Код валюты перевода.

Пример строки:

D;123;1000.00;643;410010000400;2015-07-01T10:52:01.000+03:00

Контрольная строка (TD-строка)

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

Note.

Нулевой реестр содержит только строку заголовка и нулевую строку (Z-строку).

Формат строки:

TD;count;sum;currency

Параметры контрольной строки:

Параметр

Тип

Описание

count xs:int

Количество переводов за указанный период.

sum CurrencyAmount

Общая сумма переводов за указанный период.

currency CurrencyCode

Код валюты общей суммы.

Параметр

Тип

Описание

count xs:int

Количество переводов за указанный период.

sum CurrencyAmount

Общая сумма переводов за указанный период.

currency CurrencyCode

Код валюты общей суммы.

Пример строки:

TD;10;10547.25;643

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

HD;123456;2277;2015-07-01T00:00:00.000+03:00;2015-07-02T00:00:00.000+03:00
D;123;1000.00;643;41001000040;2015-07-01T10:52:01.000+03:00
D;124;25000.00;643;41001000040;2015-07-01T10:52:02.000+03:00
TD;2;26000.00;643

Пример нулевого реестра

HD;123456;2277;2015-07-01T00:00:00.000+03:00;2015-07-02T00:00:00.000+03:00
Z

Смотрите также

Зачисление переводов

Типы данных