Prueba de integraciĂłn
Antes de salir a producciĂłn, recomendamos probar el correcto funcionamiento de tu integraciĂłn y del procesamiento de las transacciones. Esto te permitirĂĄ verificar si la integraciĂłn se realizĂł correctamente y si los pagos se estĂĄn procesando sin errores.
La prueba de integraciĂłn de Money Out consiste en la creaciĂłn de transacciones con estados predefinidos. Estos estados se definirĂĄn en funciĂłn del valor que envĂes para el campo external_reference
. Es decir, enviarĂĄs los datos para crear una transacciĂłn en funciĂłn del status
que quieres obtener como respuesta y, de esta manera, podrĂĄs constatar si el procesamiento estĂĄ sucediendo correctamente. Por ejemplo, si el campo external_reference=new
, deberĂas obtener un status=new
.
Todas las transacciones creadas en este entorno son transitorias y, por eso, no son almacenadas.
Para probar tu integraciĂłn con Money Out, crea transacciones enviando un POST, con tu Access Token de pruebas en el header Authorization
y el header X-Test-Token:true
, al endpoint /v1/transaction-intents/process, y modifica el campo external_reference
de acuerdo al estado que quieras obtener. Puedes ver un curl
de ejemplo y la tabla con los detalles sobre los distintos estados a continuaciĂłn.
Retiros vĂa Pix
curl
curl --location 'https://api.mercadopago.com/v1/transaction-intents/process' \
--header 'x-enforce-signature: false' \
--header 'Authorization: Bearer TEST-7719*********832-03141*********ec9309854*********f1e54b5-1*********' \
--header 'Content-Type: application/json' \
--header 'X-Test-Token: true' \
--data '{
"external_reference": "new",
"point_of_interaction": {
"type": "PSP_TRANSFER"
},
"seller_configuration": {
"notification_info": {
"notification_url": "https://webhook.site/c107a500-5bf2-4787-8c17-ec9fddcfd0f6"
}
},
"transaction": {
"from": {
"accounts": [
{
"amount": 10
}
]
},
"to": {
"accounts": [
{
"amount": 10,
"owner": {
"identification": {
"number": "38437455871",
"type": "CPF"
}
},
"chave": {
"type": "CPF",
"value": "38437455871"
}
}
]
},
"total_amount": 10
}
}'
Retiros a cuentas bancarias
curl
curl --location 'https://api.mercadopago.com/v1/transaction-intents/process' \
--header 'x-enforce-signature: false' \
--header 'Authorization: Bearer TEST-7719*********832-03141*********ec9309854*********f1e54b5-1*********' \
--header 'Content-Type: application/json' \
--header 'X-Test-Token: true' \
--data '{
"external_reference": "new",
"point_of_interaction": {
"type": "PSP_TRANSFER"
},
"seller_configuration": {
"notification_info": {
"notification_url": "https://webhook.site/c107a500-5bf2-4787-8c17-ec9fddcfd0f6"
}
},
"transaction": {
"from": {
"accounts": [
{
"amount": 5
}
]
},
"to": {
"accounts": [
{
"type": "current",
"amount": 5,
"bank_id": "99999004",
"branch": "0001",
"currency_id": "BRL",
"holder": "EWALD DAVIS",
"number": "10266732",
"provider_id": "spi",
"owner": {
"identification": {
"number": "38437455871",
"type": "CPF"
}
}
}
]
},
"total_amount": 5
}
}'
Valor del campo external_reference | Respuesta |
new | Se crearĂĄ una nueva transacciĂłn y la respuesta devolverĂĄ el valor new para el campo status . |
failed_by_bank | Se crearĂĄ una nueva transacciĂłn, esta vez rechazada por el banco. La respuesta devolverĂĄ el valor failed para el campo status . El status_detail dentro del objeto from.accounts serĂĄ by_bank . |
failed_by_provider | Se crearĂĄ una nueva transacciĂłn, esta vez rechazada por el proveedor. La respuesta devolverĂĄ el valor failed para el campo status . El status_detail dentro del objeto from.accounts serĂĄ by_provider . |
failed_by_caps | Se crearĂĄ una nueva transacciĂłn, esta vez rechazada por incumplir con normativas del Banco Central. La respuesta devolverĂĄ el valor failed para el campo status . El status_detail dentro del objeto from.accounts serĂĄ by_caps . |
failed_other_reason | Se crearĂĄ una nueva transacciĂłn, esta vez rechazada por otras razones. La respuesta devolverĂĄ el valor failed para el campo status y el status_detail dentro del objeto from.accounts serĂĄ other_reason . |
failed_by_high_risk | Se crearĂĄ una nueva transacciĂłn, esta vez rechazada por riesgo de fraude. La respuesta devolverĂĄ el valor failed para el campo status y el status_detail dentro del objeto from.accounts serĂĄ by_high_risk . |
failed_by_compliance | Se crearĂĄ una nueva transacciĂłn, esta vez rechazada por incumplimiento de normativas. La respuesta devolverĂĄ el valor failed para el campo status y el status_detail dentro del objeto from.accounts serĂĄ by_compliance . |
failed_insufficient_funds | Se crearĂĄ una nueva transacciĂłn, esta vez rechazada por no disponer de fondos en la cuenta de origen. La respuesta devolverĂĄ el valor failed para el campo status y el status_detail dentro del objeto from.accounts serĂĄ insufficient_funds . |
partially_processed | Se crearĂĄ una nueva transacciĂłn cuyo procesamiento todavĂa no fue completado. La respuesta devolverĂĄ el valor partially_processed para el campo status . |
partially_processed_pending_bank | Se crearĂĄ una nueva transacciĂłn cuyo procesamiento todavĂa no fue completado por motivos relativos a la cuenta de destino. La respuesta devolverĂĄ el valor partially_processed para el campo status y el status_detail dentro del objeto from.accounts serĂĄ pending_bank . |
reverted | Se crearĂĄ una nueva transacciĂłn, esta vez reembolsada. La respuesta devolverĂĄ el valor reverted para el campo status y el status_detail dentro del objeto from.accounts serĂĄ refunded . |
partially_reverted_partially_refunded | Se crearĂĄ una nueva transacciĂłn, esta vez parcialmente reembolsada. La respuesta devolverĂĄ el valor partially_reverted para el campo status y el status_detail dentro del objeto from.accounts serĂĄ partially_refunded . |
timeout | Se crearĂĄ una nueva transacciĂłn que excederĂĄ el tiempo de espera. La respuesta devolverĂĄ el valor processed para el campo status , pero llegarĂĄ al cabo de 2 minutos. |
internal_server_error | Se crearĂĄ una nueva transacciĂłn que fallarĂĄ por errores del sistema. DevolverĂĄ un Error 500 . |
Cualquier otro valor | Se generarĂĄn nuevos recursos con status processed . |