Inicio
DocumentaciĂłn
Recursos
Partners
Comunidad

Recursos

Revisa las actualizaciones de nuestras soluciones y operatividad del sistema o pide soporte técnico.

Partners

Conoce nuestro programa para agencias o desarrolladores que ofrecen servicios de integraciĂłn y vendedores que quieren contratarlos.

Comunidad

Recibe las Ășltimas novedades, pide ayuda a otros integradores y comparte tus conocimientos.

Reservar, capturar y cancelar fondos - GestiĂłn durante el pago - Mercado Pago Developers

BĂșsqueda inteligente powered by OpenAI 

Reservar, capturar y cancelar fondos

Al integrar transacciones con Order, es posible procesarlas realizando una reserva de fondos y su posterior captura. Ve a continuaciĂłn cĂłmo gestionar las transacciones realizadas.

Reserva de fondos

Una reserva de fondos ocurre cuando se realiza una compra y se reserva su monto del lĂ­mite total de la tarjeta, lo que asegura que el valor se mantenga hasta la finalizaciĂłn del procesamiento.

Para realizar una autorizaciĂłn de reserva, envĂ­a un POST con todos los atributos necesarios detallados en nuestra Referencia de API, incluyendo capture_mode definido como manual, al endpoint /v1/orders.

curl

curl -X POST \
    -H 'accept: application/json' \
    -H 'content-type: application/json' \
    -H 'Authorization: Bearer {{ENV_ACCESS_TOKEN}}' \
    -H 'X-Idempotency-Key: {{SOME_UNIQUE_VALUE}}' \
    'https://api.mercadopago.com/v1/orders \
    -d '
{
  "capture_mode": "manual",
  "type": "online",
  "external_reference": "ext_ref_1234",
  "processing_mode": "automatic",
  "marketplace": "NONE",
  "total_amount": "200.00",
  "payer": {
    "email": "{{PAYER_EMAIL}}",
    "identification": {
      "type": "{{PAYER_DOCUMENT_TYPE}}",
      "number": "{{PAYER_DOCUMENT_NUMBER}}"
    }
  },
  "transactions": {
    "payments": [
      {
        "amount": "200.00",
        "payment_method": {
          "id": "master",
          "type": "credit_card",
          "token": "{{CREDIT_CARD_TOKEN}}",
          "installments": 1
        }
      }
    ]
  }
}'

La respuesta indicarĂĄ que el pago se encuentra autorizado y pendiente de captura.

json

{
  "id": ORDER_ID,
  ...
  "status": "action_required",
  "status_detail": "waiting_capture",
  ...
    "capture_mode": "manual",
  ...
 "transactions": {
    "payments": [
      {
        "id": TRANSACTION_ID,
        "status": "action_required",
        "status_detail": "waiting_capture"
      }
    ]
  }
}

En caso de que la captura sea rechazada, se devolverĂĄ una respuesta en el siguiente formato:

json

{
  "errors": [
    {
      "code": "failed",
      "message": "The following transactions failed",
      "details": [
        "pay_01JE797F7RX989RWQJHP4VHF94: required_call_for_authorize"
      ]
    }
  ],
  "data": {
    "id": "01JE797F7RX989RWQJHMY34WJ4",
    "capture_mode": "manual",
    "status": "failed",
    "status_detail": "failed",
    ...
    "transactions": {
      "payments": [
        {
          "id": "pay_01JE797F7RX989RWQJHP4VHF94",
          "amount": "200.00",
          "status": "failed",
          "status_detail": "required_call_for_authorize"
          ...
        }
      ]
    }
  }
}

También es posible que el status retorne como pending. En estos casos, deberås prestar atención a las notificaciones para saber cuål es el estado final del pago.

Importante
El cliente no podrĂĄ utilizar los valores autorizados hasta que se capturen, por lo que recomendamos realizar esta captura lo antes posible.

Captura de pago autorizado

La finalización de un pago sucede después de la captura del pago previamente autorizado, lo que significa que se puede debitar de la tarjeta el importe reservado para la compra.

Por ahora, tenemos sĂłlo una posibilidad de captura posterior, donde se captura el monto total del pago reservado.

Importante
El tiempo lĂ­mite para realizar la captura del pago autorizado es de 5 dĂ­as desde su creaciĂłn. Si no la capturas hasta ese momento, serĂĄ cancelado. AdemĂĄs, debes guardar el ID del pago para poder finalizar el proceso.

Para realizar la captura del monto total de una reserva, es necesario enviar una solicitud al endpoint /v1/orders/{order_id}/capture, reemplazando {order_id} por el ID de la order cuya captura total deseas realizar.

CancelaciĂłn de reserva

La cancelaciĂłn de una reserva se produce cuando, por algĂșn motivo, no se aprueba el pago de una compra y se debe devolver el valor de la reserva al lĂ­mite de la tarjeta del cliente, o cuando un comprador desiste de la compra.

Para cancelar una reserva, debes enviar una solicitud al endpoint /v1/orders/{order_id}/cancel. AsegĂșrate de reemplazar {order_id} por el ID de la order cuya reserva deseas cancelar.