This endpoint allows payment transactions to be added to the order. This operation can only be carried out in manual mode (processing the transaction in stages that can be configured and executed incrementally), with the "processing_mode" field filled with "manual" value. In case of success, the request will return a response with status 201.
POST
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Errors
Each API response includes an HTTP status code indicating the result of the request. Status code 200 indicates success, 400 indicates an error in the submitted data, and 500 indicates an internal server error.
Some 400 errors can be handled programmatically and include an error code that identifies the issue.
400Request error.
empty_required_header
The "X-Idempotency-Key" header is required and was not sent. Make the requisition again including it.
invalid_idempotency_key_length
The value sent in the "X-Idempotency-Key" header exceeded the allowed size. The header accepts values between 1 and 64 characters.
invalid_path_param
The "order_id" provided in the request path is not correct. Please confirm it and provide a valid ID to try again.
required_properties
There are some required properties missing. Check the message returned in the error details to find out what the problem was and try again.
unsupported_properties
An unsupported property was sent. Check the message returned in the error details to find out what the problem was and try again.
minimum_properties
The minimum number of properties required to execute the request was not sent. Check the message returned in the error details to find out what the problem was and try again.
property_type
The wrong property type was submitted. For example, an "integer" value for a "string" property. Check the message returned in the error details to find out what the problem was and try again.
minimum_items
The minimum number of items for some property was not sent. Check the message returned in the error details to find out what the problem was and try again.
maximum_items
A greater number of items were sent than allowed for some property. Check the message returned in the error details to find out what the problem was and try again.
property_value
An incorrect value for some property was sent. Check the message returned in the error details to find out what the problem was and try again.
json_syntax_error
An incorrect JSON was sent. Check the message returned in the error details to find out what the problem was and try again.
invalid_properties
Incorrect information was sent. Check the message returned in the error details to find out what the problem was and try again.
exceeded_number_of_transactions
An error occurred in the request. The order accepts a maximum of one transaction. Remove the excess transactions.
invalid_order_mode_for_operation
This operation is not allowed in the mode defined for order processing.
401Error. Access Token not authorized.
401
The value sent as Access Token is incorrect. Please check and try again with the correct value.
invalid_credentials
There is no support for test credentials. Use test users with production credentials for the sandbox environment and your production credentials for the production environment.
404Error. Order not found.
order_not_found
Order not found. Please check if you provided the correct order ID.
409Some specific system rule does not allow the action to be performed due to defined restrictions.
idempotency_key_already_used
The value sent as the idempotency header ("X-Idempotency-Key") has already been used. Please try the request again sending a new value.
429Request limit exceeded.
too_many_requests
"Client ID" blocked by the gateway because the request limit for the ID in question was reached. Read the "Retry-After" header from the response and wait the indicated number of seconds before retrying. For greater resilience, implement exponential backoff with jitter, that is, increase the wait time with each new attempt and add a random variation to avoid simultaneous retransmission of multiple requests.
usage_quota_exceeded
Quota enforced by the API backend because the per-client request limit was reached. Read the "Retry-After" header from the response and wait the indicated number of seconds before retrying. For greater resilience, implement exponential backoff with jitter, that is, increase the wait time with each new attempt and add a random variation to avoid simultaneous retransmission of multiple requests.
500Generic error.
idempotency_validation_failed
Validation fail. Please try submitting the request again.
internal_error
Generic error. Please try submitting the request again.
curl -X POST \
'https://api.mercadopago.com/v1/orders/{order_id}/transactions'\
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer APP_USR-5*********956537-12*********ff1a3d36d*********47e7b9985*********770' \
-H 'X-Idempotency-Key: b4c91b02-7a5b-4236-9d6d-0ba945611b86' \
-d '{
"payments": [
{
"amount": "24.50",
"payment_method": {
"id": "master",
"type": "credit_card",
"token": "12345",
"installments": 1,
"statement_descriptor": "My Store"
}
}
]
}'{
"payments": [
{
"id": "PAY01J49MMW3SSBK5PSV3DFR32959",
"amount": "24.50",
"date_of_expiration": "2027-12-31T10:00:00.000-04:00",
"status": "created",
"status_detail": "created",
"payment_method": {
"id": "master",
"type": "credit_card",
"token": "12345",
"installments": 1,
"statement_descriptor": "My Store"
}
}
]
}