Generate report - Account balance - Mercado Pago Developers

How to generate your Account Money report?

Easily keep track of your sales made with a QR Code
We have created new columns that allow you to identify which digital wallets or banks your clients use when they pay with a Mercado Pago QR Code. Update your settings preferences or so that you can include these columns in your reports.

Generation channels

There are two ways to generate an Available Balance report:

ChannelsDescription
Mercado Pago panel
It's very simple and fast. To generate it from your Mercado Pago account, go to your reports and choose the Reports option.

Follow the step by step to generate reports from this panel.

API integration
Schedule the frequency of your report according to your needs. It can be both manually and on a scheduled basis.

Read the documentation to generate reports through 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.

ElementCharacteristics
Schedule
- Daily
- Weekly
- Monthly

Generation
- Manual

Report Structure

Know the characteristics of the elements that make up your report.

Element or ActionCharacteristics
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 ActionCharacteristics
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.

AttributeDescription
transaction_idTransaction ID
request_dateRequest date
generation_dateGeneration date
filesAvailable files
typeFile format
urlDownload link
nameFile name
statusReport status
creation_typeManual or scheduled creation
report_typeReport type
is_testDetermines if it is a test
signatureNotification signature

Password for encryption

To ensure the notification process to the system, an attribute called signature will be sent in the body of the message (payload) in order to validate that the Webhook notification originated from Mercado Pago and that it is not an imitation.

The signature is build up by joining the transaction_id with the password for encryption configured in the "Webhook Notification" section, plus the generation_date of the report. Once the values are joined, they are 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)

Have the on hand to review it when needed or want to review a technical term.