Configurar URLs de retorno
La URL de retorno es la dirección a la que se redirige al usuario después de completar el pago, ya sea exitoso, fallido o pendiente. Esta URL debe ser una pågina web que controles, como un servidor con dominio nombrado (DNS).
Este proceso se configura a través del atributo back_urls
en el backend, en la preferencia de pago asociada a tu integraciĂłn. Con este atributo podrĂĄs definir que el comprador sea redirigido al sitio web que configuraste, ya sea automĂĄticamente o a travĂ©s del botĂłn "Volver al sitio", segĂșn el estado del pago.
Puedes configurar hasta tres URL de retorno diferentes, que corresponderĂĄn a los escenarios de pago pendiente, Ă©xito o error.
Definir URL de retorno
En tu cĂłdigo backend, deberĂĄs configurar la URL a la que quieres que Mercado Pago redirija al usuario una vez que haya completado el proceso de pago.
A continuaciĂłn, te compartimos ejemplos de cĂłmo incluir el atributo back_urls
segĂșn el lenguaje de programaciĂłn que estĂ©s utilizando, ademĂĄs del detalle de cada uno de los posibles parĂĄmetros.
<?php
$preference = new MercadoPago\Preference();
//...
$preference->back_urls = array(
"success" => "https://www.tu-sitio/success",
"failure" => "http://www.tu-sitio/failure",
"pending" => "http://www.tu-sitio/pending"
);
$preference->auto_return = "approved";
// ...
?>
var preference = {}
preference = {
// ...
"back_urls": {
"success": "https://www.tu-sitio/success",
"failure": "http://www.tu-sitio/failure",
"pending": "http://www.tu-sitio/pending"
},
"auto_return": "approved",
// ...
}
PreferenceBackUrlsRequest backUrls =
// ...
PreferenceBackUrlsRequest.builder()
.success("https://www.seu-site/success")
.pending("https://www.seu-site/pending")
.failure("https://www.seu-site/failure")
.build();
PreferenceRequest request = PreferenceRequest.builder().backUrls(backUrls).build();
// ...
# ...
preference_data = {
# ...
back_urls = {
success: 'https://www.tu-sitio/success',
failure: 'https://www.tu-sitio/failure',
pending: 'https://www.tu-sitio/pendings'
},
auto_return: 'approved'
# ...
}
# ...
var request = new PreferenceRequest
{
// ...
BackUrls = new PreferenceBackUrlsRequest
{
Success = "https://www.tu-sitio/success",
Failure = "http://www.tu-sitio/failure",
Pending = "http://www.tu-sitio/pendings",
},
AutoReturn = "approved",
};
preference_data = {
"back_urls": {
"success": "https://www.tu-sitio/success",
"failure": "https://www.tu-sitio/failure",
"pending": "https://www.tu-sitio/pendings"
},
"auto_return": "approved"
}
Atributo | DescripciĂłn |
auto_return | Los compradores son redirigidos automåticamente al site cuando se aprueba el pago. El valor predeterminado es approved . El tiempo de redireccionamiento serå de hasta 40 segundos y no podrå ser personalizado. Por defecto, también se mostrarå un botón 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 estĂĄ pendiente.failure : URL de retorno cuando se rechaza el pago. |
Respuesta de las URLs de retorno
Las back_urls
devolverĂĄn, a travĂ©s de un llamado GET, algunos parĂĄmetros Ăștiles. A continuaciĂłn, te compartimos un ejemplo de cĂłmo se verĂĄ una respuesta y el detalle de los parĂĄmetros que podrĂĄs encontrar en ella.
curl
GET /test?collection_id=106400160592&collection_status=rejected&payment_id=106400160592&status=rejected&external_reference=qweqweqwe&payment_type=credit_card&merchant_order_id=29900492508&preference_id=724484980-ecb2c41d-ee0e-4cf4-9950-8ef2f07d3d82&site_id=MLC&processing_mode=aggregator&merchant_account_id=null HTTP/1.1 Host: yourwebsite.com Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: gzip, deflate, br, zstd Accept-Language: es-419,es;q=0.9 Connection: keep-alive Referer: https://www.mercadopago.com/checkout/v1/payment/redirect/505f641c-cf04-4407-a7ad-8ca471419ee5/congrats/rejected/?preference-id=724484980-ecb2c41d-ee0e-4cf4-9950-8ef2f07d3d82&router-request-id=0edb64e3-d853-447a-bb95-4f810cbed7f7&p=f2e3a023dd16ac953e65c4ace82bb3ab Sec-Ch-Ua: "Chromium";v="134", "Not:A-Brand";v="24", "Google Chrome";v="134" Sec-Ch-Ua-Mobile: ?0 Sec-Ch-Ua-Platform: "macOS" Sec-Fetch-Dest: document Sec-Fetch-Mode: navigate Sec-Fetch-Site: cross-site Sec-Fetch-User: ?1 Upgrade-Insecure-Requests: 1
ParĂĄmetro | DescripciĂłn |
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. |
merchant_order_id | ID (identificador) de la orden de pago generada en Mercado Pago. |
Respuesta en medios de pago offline
Los medios de pago offline son aquellos en donde el usuario comprador elige un medio de pago que requiere que utilice un punto de pago fĂsico para completar el proceso de compra. En este flujo de pago, Mercado Pago generarĂĄ un comprobante que el usuario necesita para realizar el pago en el establecimiento correspondiente, y redireccionarĂĄ al usuario a la URL que especificaste en el atributo back_urls
como pending
.
En este punto, el pago estĂĄ en estado pendiente porque el usuario todavĂa tiene que ir a un establecimiento fĂsico y pagar.
Para brindarle mayor informaciĂłn al comprador, recomendamos que, para los estados de pago pending
, redirecciones al comprador a tu sitio web y le compartas informaciĂłn clara sobre cĂłmo completar el pago.
Una vez que el usuario va al establecimiento correspondiente y realiza el pago en efectivo con el comprobante generado, Mercado pago es notificado y el pago cambiarĂĄ de estado. Recomendamos que configures las notificaciones de pago para que tu servidor pueda procesar esta notificaciĂłn y actualizar el estado del pedido en tu base de datos.
Elegir el tipo de integraciĂłn
Una vez que hayas terminado de realizar las configuraciones en tu backend y hayas obtenido tu ID de la preferencia, deberĂĄs avanzar a las configuraciones del frontend. Para eso, es necesario que elijas el tipo de integraciĂłn que mejor se adapte a tus necesidades, ya sea para integrar un sitio web o para una aplicaciĂłn mĂłvil.
Selecciona el tipo de integraciĂłn que quieres hacer y sigue los pasos detallados para completar la integraciĂłn de Checkout Pro.