Reports on successful and returned payouts
The mass payouts protocol is now outdated. If you want to make payouts via the API, use the YooMoney API.
YooMoney generates daily reports for successful and refunded payouts. A report contains all transactions out during a specific date (between 12:00 AM and 11:59 PM, by Moscow time):
- Report on successful payouts contains all completed payouts;
- Report on returned payouts contains all returned (partially or completely) payouts.
Reports are sent to the email you specified during the onboarding process. Reports on successful and returned payouts are delivered in different emails.
If no transactions were made on the specified date, you will receive an empty report.
Email format
The emails are signed with the YooMoney certificate (S/MIME signature).
The email subject is generated from a template (numbering is continuous):
PAYOUT REGISTER FOR <The name of the company> FOR <date of payout in the DD-MM-YYYY format>. No.<number>
Two files of the report are attached to the email:
- in CSV format — for automatic processing;
- in XLS format — for manual parsing.
Format of the filename of a successful payouts report
settlement_file_<agentId><em><yyyy-mm-dd></em><номер>.csv
settlement_file_<agentId><em><yyyy-mm-dd></em><номер>.xls
Format of the file name of the report on returned payouts
refund_<agentId><em><yyyy-mm-dd></em><номер>.csv
refund_<agentId><em><yyyy-mm-dd></em><номер>.xls
Report structure
The report contains:
- header with the report number and date;
- list of successful or refunded payouts;
- summary of payouts, including the balance of the payout account.
Report in CSV format
The format of the report file conforms to the recommendations of IETF RFC4180. The semicolon (;) is used as the field divider. Encoding is UTF‑8.
The CSV text format is a set of rows separated by the line feed character (LF or CRLF). Each row contains fields separated by semicolons (;). If any parameter values contain double quote characters ("), semicolons (;), or line feeds, these parameters must be enclosed in quotation marks (").
It is allowed to put all fields in quotation marks, regardless of which characters they contain. If a field is not enclosed in quotation marks, all the surrounding spaces (up to the semicolon or up to the start or end of the line) are ignored.
Structure
The report file contents consist of the following elements:
- HD row — report header;
- D rows — information about payouts;
- TD row — control row, total amount of the payouts for the specified period;
Z row
— a marker for the lack of payouts (present if no transactions were made within the specified period).
Header (HD row)
The report header contains the merchant ID in YooMoney, the report number (report ID) and the report period that the report was generated for.
Report header format
HD;registerId;agentId;from;till
Report header parameters
Parameter | Type | Description |
---|---|---|
registerId | xs:long | ID of the generated report, unique over the entire history of operations. |
agentId | xs:long | Gateway ID. |
from | xs:dateTime | Beginning of the report period that the report was generated for, inclusively (including “from”). Date and time in the YYYY-MM-DDThh:mm:ss.sss±hh:mm format (ISO 8601). |
till | xs:dateTime | End of the report period that the report was generated for, exclusively (not including “till”). Date and time in the YYYY-MM-DDThh:mm:ss.sss±hh:mm format (ISO 8601). |
Example report header
HD;123456;2277;2015-07-01T00:00:00.000+03:00;2015-07-02T00:00:00.000+03:00
Payout information (D row)
For each transaction performed within the reporting period, a separate D row is generated.
Format of the row with the payout information
D;clientOrderId;amount;currency;dstAccount;processedDT;comission;comissionCurrencyCode
Parameters of the row with the payout information
Parameter | Type | Description |
---|---|---|
dstAccount | YMAccount | ID of the transfer recipient, value of the dstAccount parameter from the makeDeposition request. |
clientOrderId | ClientTransactionNumber | Unique transaction number in the YooMoney (string, maximum of 32 characters). The value of the clientOrderId parameter from the makeDeposition request. |
processedDT | xs:dateTime | The time when the transfer was deposited to the recipient’s account. Found in the response to makeDeposition. If the funds were returned, this is the time of the refund operation from the recipient’s account. Date and time according to the YooMoney clock, in the YYYY-MM-DDThh:mm:ss.sss±hh:mm format (ISO 8601). |
amount | CurrencyAmount | Payout or refund amount. The decimal separator is the comma, always two decimal characters after the decimal point. There is no thousands separator. The value of the amount parameter from the makeDeposition request. |
currency | CurrencyCode | The transaction currency code is an unsigned integer. For example: 643 – Russian ruble. |
comission | CurrencyAmount | The amount of commission charged by YooMoney for making a payout. The decimal separator is the comma, always two decimal characters after the decimal point. There is no thousands separator. It can be missing if you joined prior to August 2019. To get information about commissions in the reports, contact your manager. |
comissionCurrency | CurrencyCode | The commission currency code is an unsigned integer. For example: 643 – Russian ruble. |
Example row
D;123;107.00;643;410010000400;2015-07-01T10:52:01.000+03:00;3.21;643
Control row (TD row)
The control row is the sum of all the transfers in the current report. If there weren’t any transfers in the specified period, the report is considered empty and the control row is omitted.
An empty report only contains the header row and the zero row (Z row).
Control row format
TD;count;sum;currency;comissionSum;comissionCurrency
Control row parameters
Parameter | Type | Description |
---|---|---|
count | xs:int | Number of payouts during the specified period. |
sum | CurrencyAmount | Total amount of the payouts during the specified period. |
currency | CurrencyCode | Currency code of the total amount. |
comissionSum | CurrencyAmount | Total amount of the commission during the specified period. |
comissionCurrency | CurrencyCode | Currency code of the total commission amount. |
Example row
TD;86;88230.95;643;1163.25;643
Examples of reports in CSV format
Report example
HD;123456;2277;2019-07-08T00:00:00.000+03:00;2019-07-09T00:00:00.000+03:00 D;123;107.00;643;41001000040;2019-07-08T08:49:48.648+03:00;3.21;643 D;124;200.00;643;41001000040;2019-07-08T10:37:39.974+03:00;6.00;643 TD;2;307.95;643;9.21;643
Example of an empty report
HD;123456;2277;2015-07-01T00:00:00.000+03:00;2015-07-02T00:00:00.000+03:00 Z
Sample files
Example of a report on successful payouts: settlement_file_123456_08.07.2019_2000013203127.csv
Example of a report on returned payouts: refund_123456_08.07.2019_2000013203129.csv
Example of an empty report: settlement_file_123456_08.07.2019_2000013203128.csv
Report in XLS format
Report fields
Field | Value |
---|---|
Header | |
AGENT ID | Gateway ID. |
Date | Date in the DD.ММ.YYYY formatThe report shows payouts marked with this date. |
№ | The sequential number of the report. |
Table | |
Transaction number | Unique transaction number in the YooMoney service (string, maximum of 32 characters). The value of the clientOrderId parameter from the makeDeposition request. |
Amount | Amount of the transaction. The decimal separator is the comma, always two decimal characters after the decimal point. There is no thousands separator. The value of the amount parameter from the makeDeposition request. |
Currency | The currency used for the transaction. A three-letter code. For example: RUB – Russian rubles. |
Recipient ID | ID of the transfer recipient, value of the dstAccount parameter from the makeDeposition request. |
Additional details | One of three values, depending on the payout designation. To a bank account: the recipient’s bank account number. To a bank card: the synonym of the bank card number. To a mobile phone account:
PROPERTY1 and PROPERTY are joined together. Present if they were passed in the makeDeposition request. |
Recipient’s full name | Information about the transfer recipient from the makeDeposition request:
They are joined together as one word. Passed only for payouts to bank cards or accounts. Not passed if you use a YooBusiness account (field in the report will be empty). |
Time of payout | The time when the transfer was deposited to the recipient’s account. Found in the response to makeDeposition. If the funds were returned, this is the time of the refund operation from the recipient’s account. Date and time according to the YooMoney clock, in the YYYY-MM-DDThh:mm:ss.sss±hh:mm format (ISO 8601). |
Purpose | The account to credit the money to. Possible options:
|
Fees | The amount of commission charged by YooMoney for making a payout. The decimal separator is the comma, always two decimal characters after the decimal point. There is no thousands separator. It can be missing if you joined prior to August 2019. To get information about commissions in the reports, contact your manager. |
Commission currency | A three-letter code. For example: RUB – Russian rubles. |
Control row | |
Account balance | Security amount on the payout balance when the report was generated. |
See also