Download OpenAPI specification:
API for managing payments.
The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a payment fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single payment is created.
To perform an idempotent request, provide an Idempotence-Key header with a unique value (e.g., a UUID) in your request.
The server stores the result of the first request with a given key and returns the same response for subsequent requests with that same key.
When a merchant is in sandbox mode, special logic applies:
sandbox: true will be added to the metadataDNI of 11111111, the payment will be automatically confirmed.CBU of 1111111111111111111111, the payment will be automatically confirmed.paymentMethod now supports mercado_pago_qr.paymentMethod now supports mercado_pago_checkout; payer is only required for bank_transfer.payer.cbu.payee fields documentNumber and documentType are now optional.| Idempotence-Key required | string <= 254 characters Example: some-unique-key A unique string used to ensure that requests are processed only once. |
| amount required | string Amount as a string to avoid precision issues. |
| currency required | string = 3 characters |
| paymentMethod required | string Value: "bank_transfer" |
required | object (PayerDto) |
| returnUrl | string <uri> |
object <= 20 properties Max key length = 40, Max value length = 500, Max metadata size <= 4 kB, Types: string, number, boolean, Flat object only |
{- "amount": "1000",
- "currency": "ARS",
- "paymentMethod": "bank_transfer",
- "payer": {
- "documentNumber": "12345678",
- "documentType": "DNI"
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}{- "payment": {
- "id": "some-unique-key",
- "currency": "ARS",
- "input_amount": "2000",
- "fact_amount": "1000",
- "status": "pending",
- "method": "bank_transfer",
- "metadata": { },
- "created_at": "2026-03-28T15:34:00Z",
- "expires_at": "2026-03-28T16:34:00Z"
}, - "instructions": {
- "destination_cvu": "0000000000000000000000"
}
}{- "id": "string",
- "status": "succeeded",
- "currency": "ARS",
- "input_amount": "string",
- "fact_amount": "string",
- "payer": {
- "cbu": "string"
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}| publicId required | string Public ID of the payment |
{- "payment": {
- "id": "string",
- "currency": "ARS",
- "input_amount": "string",
- "fact_amount": "string",
- "status": "new",
- "method": "bank_transfer",
- "created_at": "2019-08-24T14:15:22Z",
- "expires_at": "2019-08-24T14:15:22Z",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "payer": {
- "cbu": "string"
}
}, - "instructions": {
- "destination_cvu": "string"
}
}| Idempotence-Key required | string <= 254 characters Example: some-unique-key A unique string used to ensure that requests are processed only once. |
| amount required | string Minimum amount is 20000, maximum is 5000000. Amount as a string to avoid precision issues. |
| currency required | string = 3 characters |
| paymentMethod required | string (PaymentMethod) Value: "bank_transfer" |
required | object (PayeeDto) |
| returnUrl | string <uri> |
object <= 20 properties Max key length = 40, Max value length = 500, Max metadata size <= 4 kB, Types: string, number, boolean, Flat object only |
{- "amount": "1000",
- "currency": "ARS",
- "paymentMethod": "bank_transfer",
- "payee": {
- "cbu": "string",
- "documentNumber": "11111111111",
- "documentType": "CUIT"
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}{- "payment": {
- "id": "some-unique-key",
- "input_amount": "20000",
- "fact_amount": "20000",
- "currency": "ARS",
- "status": "new",
- "method": "bank_transfer",
- "metadata": { },
- "created_at": "2026-03-28T15:34:00Z"
}, - "payee": {
- "cbu": "0000000000000000000000",
- "cuit": "11111111111"
}
}{- "id": "string",
- "status": "succeeded",
- "currency": "ARS",
- "input_amount": "string",
- "fact_amount": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}| publicId required | string Public ID of the payment |
{- "payment": {
- "id": "string",
- "input_amount": "string",
- "fact_amount": "string",
- "currency": "ARS",
- "status": "new",
- "created_at": "2019-08-24T14:15:22Z",
- "method": "bank_transfer",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "payee": {
- "cbu": "string",
- "cuit": "string"
}
}