Settlement report request field values
Login, request and access consolidated settlement reports via your SFTP connection.
Create Settlement Report Config – Request Format
{
"schedule_config": {
"start_date": "2025-12-02",
"end_date": "2025-12-02",
"frequency": "once"
},
"webhook_config": {
"url": "<https://example.com/webhook">
},
"filter_config": {
"filter_map": {
"psp": [],
"country": [],
"payment_method": [],
"payment_method_type": [],
"date_range": {
"start_date": null,
"end_date": null
}
}
}
}Filter map
Only the following keys are permitted. Any unknown key will cause request failure.
countrypayment_methodpayment_method_typepspdate_range
All filters are applicable across the following PSPs:
- dLocal
- Mercado Pago
- PayU
Field rules
country
countryFilter transactions based on country. While all countries are supported in the filter, Mercado Pago and PayU only process LATAM transactions, so filtering outside LATAM will not return results for these PSPs.
Field Mapping by PSP
| PSP | Source field | Format received |
|---|---|---|
| dLocal | COUNTRY | Full country name |
| Mercado Pago | SITE | Mercado Pago site codes |
| PayU | payer_country | ISO Alpha-2 country codes |
Mercado_Pago country codes
The official API endpoint GET https://api.mercadolibre.com/sites returns the full list of supported sites (site codes + metadata). developers.mercadolibre.com.ni+1
Type: Array of strings
Format: ISO 3166‑1 alpha‑3 country codes
Example:
"country": ["IND", "USA"]payment_method
payment_methodFilter transactions based on the high-level payment method used.
Field mapping by PSP
| PSP- | Source field |
|---|---|
| dLo-cal | PAYMENT_TYPE |
| Me-rcado Pago | PAYMENT_METHOD |
| P-ayU | payment_method |
| PayU (payment_method )* | MP (PAYMENT_METHOD) | dLocal (PAYMENT_TYPE) | dLocal Card Type (CARD_TYPE) |
|---|---|---|---|---|
credit_card | Credit_card | credit_card | CARD | Credit |
debit_card | Debit_card | debit_card | CARD | Debit |
bank_transfer | Bank_transfer | bank_transfer | BANK_TRANSFER | |
cash_payment | Cash Payment | ticket | TICKET | |
instant_payment | Instant Payment | |||
account_money | account_money | WALLET | ||
atm | atm | |||
prepaid_card | prepaid_card | |||
QR | QR | |||
DIRECT_DEBIT | DIRECT_DEBIT |
*PayU does not directly provide the payment method. Instead, a payment type is received and mapped internally.
Type: Array of strings
Allowed values:
credit_carddebit_cardbank_transfercash_paymentinstant_paymentaccount_moneyatmprepaid_cardqrdirect_debit
Example:
"payment_method": ["credit_card", "qr"]payment_method_type
payment_method_typeFilter transactions based on specific card networks or payment brands. Supported values vary based on PSP.
| Normalized value | PayU | Mercado Pago | dLocal |
|---|---|---|---|
| american_express | ✓ | ✓ | |
| argencard | ✓ | ✓ | |
| cabal | ✓ | ✓ | |
| cencosud | ✓ | ✓ | |
| elo | ✓ | ✓ | |
| hipercard | ✓ | ✓ | |
| cencosud | ✓ | ✓ | |
| codensa | ✓ | ✓ | |
| caixa_virtual_debit | ✓ | ||
| creditel | ✓ | ||
| lider | ✓ | ||
| magna | ✓ | ||
| oca | ✓ | ||
| presto | ✓ | ||
| redcompra | ✓ | ||
| visa | ✓ | ✓ | ✓ |
| mastercard | ✓ | ✓ | ✓ |
| naranja | ✓ | ✓ | |
| diners_club | ✓ | ||
| diners | ✓ | ||
| tarjeta_shopping | ✓ | ||
| shopping | ✓ | ||
| cmr | ✓ | ||
| maestro | ✓ |
Type: Array of strings
Allowed values:
american_expressargencardcabalcaixa_virtual_debitcmrcodensacreditelcencosuddinersdiners_clubelohipercardlidermagnamaestronaranjaocaprestoredcomprashoppingtarjeta_shoppingvisamastercard
Example:
"payment_method_type": ["visa", "mastercard"]psp
pspFilter transactions specific to one or more PSPs.
Type: Array of strings
Allowed values:
payumercado_pagod_local
Example:
"psp": ["payu"]date_range
date_rangeFilter transactions based on the settlement date. Returns all settlements that occurred between the provided start date and end date (inclusive).
Field mapping by PSP
| PSP | Source field |
|---|---|
| dLocal | APPROVED_DATE |
| Mercado Pago | SETTLEMENT_DATE |
| PayU | operation_date |
Type: Object
Required keys: start_date, end_date
Format: YYYY-MM-DD or null
Rule: start_date ≤ end_date
Example (non-empty):
"date_range": {
"start_date": "2025-01-01",
"end_date": "2025-01-31"
}Example (empty but valid):
"date_range": {
"start_date": null,
"end_date": null
}Complete Valid Example (With Filters)
{
"schedule_config": {
"start_date": "2025-12-02",
"end_date": "2025-12-02",
"frequency": "once"
},
"webhook_config": {
"url": "<https://example.com/webhook">
},
"filter_config": {
"filter_map": {
"psp": ["payu"],
"country": ["IND", "USA"],
"payment_method": ["credit_card"],
"payment_method_type": ["visa"],
"date_range": {
"start_date": "2025-01-01",
"end_date": "2025-01-31"
}
}
}
}Schedule vs date validation rules
The default timezone for consolidated reports will be UTC +00:00.
Frequency-based Date Rules
The behavior of start_date and end_date depends on schedule_config.frequency.
frequency= "once"
schedule_config.start_dateis requiredschedule_config.end_dateis requiredstart_datemust be equal to or beforeend_date
Valid:
"schedule_config": {
"frequency": "once",
"start_date": "2025-12-02",
"end_date": "2025-12-02"
}Invalid (missing dates):
"schedule_config": {
"frequency": "weekly"
}frequency= "daily", "weekly", or "monthly"
schedule_config.start_datemust NOT be sentschedule_config.end_datemust NOT be sent- Report date range will be automatically derived based on
frequency
Valid:
"schedule_config": {
"frequency": "weekly"
}Invalid (dates should not be passed):
"schedule_config": {
"frequency": "monthly",
"start_date": "2025-12-01",
"end_date": "2025-12-31"
}Validation error responses
Invalid PSP
Request snippet:
"psp": ["stripe"]Response – 422:
{
"status": false,
"error": ["Filter map invalid psp values: stripe"]
}Invalid Country Code
Request snippet:
"country": ["IN"]Response – 422:
{
"status": false,
"error": ["Filter map invalid ISO 3166-1 alpha-3 country codes: IN"]
}Non‑Array Value
Request snippet:
"payment_method": "credit_card"Response – 422:
{
"status": false,
"error": ["Filter map payment_method must be an array"]
}Invalid Date Range
Request snippet:
"date_range": {
"start_date": "2025-02-01",
"end_date": "2025-01-01"
}Response – 422:
{
"status": false,
"error": ["Filter map start_date cannot be after end_date"]
}Unknown Filter Key
Request snippet:
"currency": ["INR"]Response – 422:
{
"status": false,
"error": ["Filter map contains invalid keys: currency"]
}Webhook configuration
The merchant should include the url where Spreedly should send the webhook in order to receive report status and SFTP path.
Updated about 2 hours ago
