Recursos para IA

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.

En integraciones mobile, recomendamos que las URLs de retorno sean deep links. Para conocer mas, ve a la documentacion Integracion para aplicaciones moviles.

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"
  }
}'
AtributoDescripcion
auto_returnLos 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_urlsURL 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
ParametroDescripcion
payment_idID (identificador) del pago de Mercado Pago.
statusStatus del pago. Por ejemplo: approved para un pago aprobado o pending para un pago pendiente.
external_referenceReferencia que puedes sincronizar con tu sistema de pagos.
order_idID (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.