AI resources
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. |
error | failed | When an error occurs in the transaction process and the value cannot be credited to the destination account. |
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. |
If there is a request error, an error will be returned indicating the problem that must be resolved and, after that, the process must be performed again.
| Error Type | Status | Code | Description and possible solutions |
| Request error | 400 | GET Transaction 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 | GET Transaction 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 is required | Invalid data was sent in the request body. The Idempotency-Key header is missing. Try sending the request again, validating all fields. |
| Request error | 400 | Invalid chave | The value of field transaction.to.accounts[0].chave.value is invalid. Check if the Pix key value is correct. |
| Request error | 400 | Invalid chave type | The value of field transaction.to.accounts[0].chave.type is invalid. Check if the Pix key type is correct. |
| Request error | 400 | Invalid chave pix | The Pix key is invalid. Check the entered value. |
| Request error | 400 | Chave not found | The Pix key was not found. Check the entered value. |
| Request error | 400 | Unsupported chave | The Pix key is not registered in Bacen. |
| Request error | 400 | Chave has a different owner | The Pix key value does not match the owner's information. |
| Request error | 400 | Unrecognized key format | The Pix key format is invalid. Confirm the possible values. |
| Request error | 400 | Invalid identity source | The X-Identity-Source header only supports dict or ted. |
| Request error | 400 | Key PSP error | Attempt to query an external PSP key that is already registered with Mercado Pago. |
| Request error | 400 | Invalid Payload | Invalid payload. Check the request format. |
| Request error | 400 | Rate Limit | The query service has reached the rpm limit to not exceed the limit allowed by Bacen and avoid fines. |
| Request error | 400 | invalid_external_reference | Invalid type for field external_reference. Verify the available values for this field. |
| Request error | 400 | invalid_type_point_of_interaction | Invalid value for field point_of_interaction.type. Remember that it is a fixed value, always {"type":"PSP_TRANSFER"}. |
| Request error | 400 | invalid_amount | Invalid value for field transaction.from.accounts[0].amount. Verify the amounts allowed for the transaction. |
| Request error | 400 | invalid_identification_number | Invalid value for field transaction.to.accounts[0].identification.number. Verify the allowed values. |
| Request error | 400 | invalid_identification_type | Invalid value for field transaction.to.accounts[0].owner.identification.type. Verify the allowed values. |
| Request error | 400 | account_is_disabled | The Mercado Pago account is disabled. |
| Request error | 400 | participant_is_not_available | Participant is not available to make this transaction. |
| Request error | 400 | flow_not_specified | The header X-Flow-id only supports transfer or management. |
| Request error | 400 | compliance_not_processed | The conformity check was not completed for the user. |
| Request error | 400 | invalid_body | The request body has an invalid format. Check the request format. |
| Request error | 400 | client_not_allowed | The client_id associated with the credentials is not allowed to make the request. |
| Request error | 400 | financial_identity_not_found | Financial institution not found. Check the to.accounts.bank_id field. |
| Request error | 400 | many_requests | Too many requests have been made. Wait and try again. |
| Request error | 400 | unauthorized | The request is unauthorized. |
| Request error | 400 | id_format_invalid | The ID format in the path is invalid. Check the transaction or payout ID. |
| 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 | PolicyAgent | No permission to access the resource. Check if the Access Token sent has the necessary permissions. |
| Request error | 404 | Transaction 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 | 424 | Resource locked | The rate limit service is processing our API consumption by the integrator. Wait and try again. |
| 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. |
