Main statuses and possible errors
See below the main statuses of a transaction and the possible request errors.
After the successful creation of the payout, transactions are generated, which correspond to the transactions sent in the body of the request. When you create a transaction, or when you query information related to it, the responses will return the fields that will allow you to know the status it is in.
status: this field will provide information about the current processing state.status_detail: this field is found as an attribute oftransaction.to.accounts, and will bring information about the reasons or details that resulted in that status.
See below all the statuses that a transaction can go through during its processing.
status | status_detail | Description |
approved | - | A transaction was created, but has not yet been processed. It is an intermediate status. |
approved | partially_refunded | The transaction was partially refunded by the destination bank. |
canceled | - | When a cancellation is made that corresponds to payouts that are scheduled or calendared and are executed by the Cancel a transaction endpoint. |
created | - | A payout (batch) was created. |
error | failed | When an error occurs in the transaction process and the amount cannot be credited to the destination account. Check here for more information about the returned messages. |
processed | approved | The transaction processing was successful. |
rejected | by_bank | The transaction was rejected by the destination bank. Execute the request again. |
rejected | by_provider | The transaction was rejected by the provider. Execute the request again. |
rejected | high_risk | The transaction is rejected due to fraud risk. Execute the request again. |
rejected | insufficient_funds | The transaction was rejected due to insufficient funds in the origin account. Execute the request again. |
rejected | other_reason | The transaction was rejected by default due to internal issues during processing. Execute the request again. |
rejected | review_manual | The transaction is rejected and sent for fraud prevention analysis. Execute the request again. |
refunded | refunded | The transaction was fully refunded by the destination bank. |
success | accredited | The transaction is credited to the destination account. |
success | in_progress | The transaction crediting is in process, it is not yet in the destination account. |
transaction_in_process | pending_authorized | The transaction is in progress, with final status pending and awaiting authorization. |
transaction_in_process | pending_bank | The destination bank did not respond, therefore, the transaction is pending a final state. |
Transaction error messages
When a transaction presents an error, the status_detail field will indicate a failure and contain a user-friendly message describing the cause of the error. Below are the possible messages.
| Message |
| The payer's account does not have sufficient funds to complete this transaction. Please verify the account balance and try again. |
| Unable to process the transaction. An error occurred while reserving funds. Please try again later or contact support. |
| TED account not found or inactive. Please verify the account information and try again. |
| Unable to process the transaction. An error occurred while processing payment data. Please try again later or contact support. |
| Transaction was rejected. Please verify the transaction details and try again. If the issue persists, contact support. |
| Unable to process the transaction. An internal error occurred. Please try again later or contact support. |
| Resource not found. Please verify the transaction details and try again. |
| Invalid date format. Please verify the date fields in your request. |
| Unable to retrieve bank information. Please verify the bank account details and try again. |
| Invalid user information. Please verify the user IDs in your request. |
| We're temporarily unable to display the status of this transfer. This does not mean the transfer failed. Please refresh in a few moments or contact support. |
| Service temporarily unavailable. Please try again later. |
| An unexpected error occurred. Please contact support for assistance. |
Here you can find the possible errors that may occur when making a payout request, along with their descriptions and possible solutions.
| Error Type | Status | Code | Description and possible solutions |
| Request error | 400 | invalid_payout_id | Invalid data was sent in the request body. The payout was not found. Try sending the request again, validating all fields. |
| Request error | 400 | invalid_transaction_id | Invalid data was sent in the request body. The transaction was not found. Try sending the request again, validating all fields. |
| Request error | 400 | invalid_signature | Invalid data was sent in the request body. Check if the secret was generated correctly and is registered with Mercado Pago. Also check if the body you are sending is the one that was encrypted. For more information, access Security encryption . |
| Request error | 400 | idempotency_key_required | Invalid data was sent in the request body. The Idempotency_Key is missing. Try sending the request again, validating all fields. |
| Request error | 401 | invalid_token | The value sent as Access Token is incorrect. Please check and try again with the correct value. |
| Request error | 403 | forbidden | No permission to access the resource. Check if the Access Token sent has the necessary permissions. |
| Request error | 404 | not_found | The requested resource was not found or the value sent for its identification does not exist. Validate the information sent in the parameters and try the request again. |
| Request error | 412 | precondition_failed | The status of the transaction does not allow its cancelation. Only transactions with status pending or in_process can be canceled. |
| API error | 500 | internal_server_error | An unexpected error occurred on the server. Try the request again. If the issue persists, contact support. |
| API error | 502 | bad_gateway | An error occurred in the integration with an external service. Try the request again. If the issue persists, contact support. |
