Configurar URLs de retorno
La URL de retorno es la direccion a la que se redirige al comprador despues de completar el pago, ya sea exitoso, fallido o pendiente. Esta URL debe ser una pagina web que controles, como un servidor con dominio nombrado (DNS).
Con la Orders API, las URLs de retorno se configuran directamente en el cuerpo de la solicitud de creacion de la Order, dentro del objeto checkout_pro. Podras definir hasta tres URLs de retorno diferentes, correspondientes a los escenarios de pago exitoso, fallido o pendiente, y el comportamiento de redireccion automatica.
Definir URL de retorno
Para configurar las URLs de retorno, incluye el atributo back_urls y auto_return dentro del objeto checkout_pro al momento de crear la Order mediante una solicitud POST al endpoint /v1/orders.
A continuacion, te compartimos un ejemplo de como incluir las URLs de retorno en la creacion de la Order.
curl
curl -X POST \ 'https://api.mercadopago.com/v1/orders' \ -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -H 'X-Idempotency-Key: UNIQUE_KEY' \ -d '{ "type": "online", "total_amount": "1000.00", "external_reference": "order_pro_123", "payer": { "email": "buyer@email.com" }, "transactions": { "payments": [ { "amount": "1000.00" } ] }, "checkout_pro": { "back_urls": { "success": "https://www.tu-sitio.com/success", "failure": "https://www.tu-sitio.com/failure", "pending": "https://www.tu-sitio.com/pending" }, "auto_return": "approved" } }'
| Atributo | Descripcion |
auto_return | Los compradores son redirigidos automaticamente al sitio cuando se aprueba el pago. El valor predeterminado es approved. El tiempo de redireccionamiento sera de hasta 40 segundos y no podra ser personalizado. Por defecto, tambien se mostrara un boton de "Volver al sitio". |
back_urls | URL de retorno al sitio. Los escenarios posibles son: success: URL de retorno cuando se aprueba el pago.pending: URL de retorno cuando el pago esta pendiente.failure: URL de retorno cuando se rechaza el pago. |
Respuesta de las URLs de retorno
Las back_urls devolveran, a traves de un llamado GET, algunos parametros utiles. A continuacion, te compartimos un ejemplo de como se vera una respuesta y el detalle de los parametros que podras encontrar en ella.
curl
GET /success?payment_id=123456789&status=approved&external_reference=order_pro_123&order_id=987654321 HTTP/1.1 Host: www.tu-sitio.com
| Parametro | Descripcion |
payment_id | ID (identificador) del pago de Mercado Pago. |
status | Status del pago. Por ejemplo: approved para un pago aprobado o pending para un pago pendiente. |
external_reference | Referencia que puedes sincronizar con tu sistema de pagos. |
order_id | ID (identificador) de la Order generada en Mercado Pago. |
Respuesta en medios de pago offline
Los medios de pago offline son aquellos en donde el comprador elige un medio de pago que requiere que utilice un punto de pago fisico para completar el proceso de compra. En este flujo de pago, Mercado Pago generara un comprobante que el comprador necesita para realizar el pago en el establecimiento correspondiente, y redireccionara al comprador a la URL que especificaste en el atributo back_urls como pending.
En este punto, el pago esta en estado pendiente porque el comprador todavia tiene que ir a un establecimiento fisico y pagar.
Para brindarle mayor informacion al comprador, recomendamos que, para los estados de pago pending, redirecciones al comprador a tu sitio web y le compartas informacion clara sobre como completar el pago.
Una vez que el comprador va al establecimiento correspondiente y realiza el pago en efectivo con el comprobante generado, Mercado Pago es notificado y el pago cambiara de estado. Recomendamos que configures las notificaciones de pago para que tu servidor pueda procesar esta notificacion y actualizar el estado del pedido en tu base de datos.