Generate report
You can generate your Account balance report through your Mercado Pago account or via API integration. Refer to the table below for more information.
Generation channels
There are two ways to generate an Available Balance report:
Channels | Description |
Mercado Pago panel | Manually create the report through the Mercado Pago panel. Access your reports , click Go to Payment and account statement reports, and select the report. For more information, read the documentation Generate report through the panel. |
API integration | Create the report manually or scheduled according to the desired frequency using our API integration. For more information, refer to the documentation Generate report via API. |
Technical characteristics of the report
Consider the following technical information when you want to generate, schedule and set up your reports.
Report schedule
Set up how and how often you want to generate your reports.
Element | Characteristics |
Schedule | - Daily - Weekly - Monthly |
Generation | - Manual - Automatic |
Report structure
Know the characteristics of the elements that make up your report.
Element or Action | Characteristics |
Tables Detail | The detail of the tables includes information generated in at least 1 day. |
Column Order | Permanent. |
Maximum Period | Reports with data of up to 60 days. |
Currency | Local (based on the country where the Mercado Pago account is registered). |
Time zone of the columns | GMT-4 Take as reference the place where you download the report from. |
Date selection via API | Timezone format: UTC / GMT-0. |
Date selection via web | It must be based on the timezone of the user's account. For example, the timezone of São Paulo corresponds to the user account registered in Brazil. |
Report export
All the options you have available when downloading your report.
Element or Action | Characteristics |
Filename format | When the report is scheduled or manual: "<prefix-configurable>-<yyyy-MM-dd-hhmmss>.<format>" Example: mystore-2019-05-28-104010.csv |
Download formats | .csv, .xlsx Tip: Download the report in .csv to import the data and use it in other applications. Download it in .xlsx to read the information in the spreadsheet tables. |
File | The generated reports are saved in your Mercado Pago account. |
Set up available via API | - Columns to generate per report. - File prefix for easy identification. - SFTP upload. - Column separator (period or semicolon). - Email notification. |
Notifications
Webhook
Webhook (also known as "web callback") is a simple method that allows an application or system to send real-time data whenever a particular event takes place, that is, it is a way to passively receive information between two systems via an HTTP POST. In the case of the reports used for reconciliation, a notification is sent to the user who has set up this service when their files are generated.
Attribute | Description |
transaction_id | Transaction ID |
request_date | Request date |
generation_date | Generation date |
files | Available files |
type | File format |
url | Download link |
name | File name |
status | Report status |
creation_type | Manual or scheduled creation |
report_type | Report type |
is_test | Determines if it is a test |
signature | Notification signature |
Password for encryption
The encryption password is essential to secure the notification process to the system. In the message body (payload), an attribute called "signature" is sent to validate the legitimate origin of the Mercado Pago Webhook notification, avoiding possible imitations.
The creation of the signature occurs by combining the transaction_id
with the encrypted password
in the "Webhook Notification" section, along with the generation_date
of the report. These values are then encrypted using the BCrypt algorithm as follows:
signature = BCrypt(transaction_id + '-' + password_for_encryption + '-' + generation_date)
To validate that it is Mercado Pago who issued the notification, the verification function offered by the BCrypt algorithm for the desired language must be used.
Java example:
BCrypt.checkpw(transaction_id + '-' + password_for_encryption + '-' + generation_date, payload_signature)