Reembolsar una order

Este endpoint permite crear un reembolso total de una transacción de pago asociada a una order para Código QR de Mercado Pago. Para un reembolso total, el body de la solicitud debe ir vacío. Adicionalmente, sólo podrán ser reembolsadas orders con "status=processed". En caso de éxito, la solicitud devolverá una respuesta con el estado 201.

POST

https://api.mercadopago.com/v1/orders/{order_id}/refund
Request parameters
Header
Authorization
string

REQUERIDO

Access Token obtenido a través del panel de desarrollador. Obligatorio ser enviado en todas las solicitudes.
X-Idempotency-Key
string

REQUERIDO

Esta función permite repetir solicitudes de manera segura, sin el riesgo de realizar la misma acción más de una vez por error. Para garantizar que cada solicitud sea única, debes utilizar un valor exclusivo para cada lla...Ver más
Path
order_id
string

REQUERIDO

ID de la order que contiene asociada la transacción de pago a ser reembolsada. Este valor es devuelto en la respuesta a la solicitud "Crear order".
Response parameters
id
string
Identificador de la order que va a ser reembolsada, recibido en la respuesta a su creación.
status
string
Estado actual de la order o de la transacción.
refunded: La order ha sido reembolsada de manera exitosa (reembolso total).
status_detail
string
Detalles sobre el estado del reembolso. Es devuelto exclusivamente cuando la order es reembolsada por medio de la API.
refunded: La order ha sido reembolsada de manera exitosa (reembolso total).
transactions
object
Contiene información sobre la transacción asociada a una order.
Errors

400Error.

empty_required_header

El header "X-Idempotency-Key" es requerido y no fue enviado. Vuelve a realizar la petición incluyéndolo.

invalid_path_param

El "order_id" proporcionado en el path de la requisición tiene un formato inválido. Este debe comenzar con el prefijo "ORD" y ser continuado por 26 caracteres. Compruébalo y proporciona un ID válido para volver a intentarlo.

invalid_order_owner

Debido a validaciones internas, no puedes procesar el reembolso de una order que no has creado.

in_store_payment_refund_order

Se superó el tiempo límite permitido para hacer un reembolso de la order. Verifica estar dentro del plazo de 180 días desde la creación de la order.

refund_amount_exceeds

El monto del reembolso excede el monto disponible. Verifica que el monto solicitado sea menor o igual al saldo disponible en la order.

401Error.

unauthorized

El valor enviado como Access Token es incorrecto. Por favor, verifícalo y vuelve a intentar realizar la solicitud enviando el valor correcto.

user_not_authorized

Usuario no autorizado para realizar esta acción.

403Error.

partial_refund_forbidden_with_tips

Reembolsos parciales prohibidos cuando la order tiene propinas.

404Error.

order_not_found

El valor enviado como Order ID no corresponde a una order creada, por lo que no puede ser encontrada. Por favor, verifícalo y vuelve a intentar realizar la solicitud enviando el valor correcto.

transaction_not_found

La transacción no fue encontrada. Verifica que el ID de la transacción enviado en el cuerpo de la solicitud sea correcto y pertenezca a la order especificada.

409Error.

idempotency_key_already_used

El valor enviado como header de idempotencia ya fue utilizado con una solicitud distinta en un tiempo menor a 24 horas. Por favor, vuelve a intentar realizar la petición enviando un nuevo valor.

order_already_refunded

Estás queriendo devolver una order que ya fue reembolsada. Verifica haber enviado el ID correcto.

cannot_refund_order,

El estado de la order no permite su reembolso. Solo pueden ser reembolsadas orders con status 'processed'.

refund_period_exceeded

Se superó el tiempo límite permitido para hacer un reembolso de la order.

action_not_allowed_for_current_state

Acción no permitida por el estado actual del pago.

refund_in_progress

Reembolso en progreso, espere unos minutos.

movement_operations_pending

La order tiene movimientos pendientes, espere unos minutos.

422Error.

payment_not_refundable

No es posible realizar el reembolso de este pago.

amount_not_refundable

El monto no puede ser reembolsado, intente con otro monto.

max_refunds_exceeded

Se excedió el número máximo de reembolsos para esta order.

425Error.

order_payment_not_yet_enabled_for_refund

La order aún no está habilitada para el reembolso, intente nuevamente.

428Error.

insufficient_money_for_refund

No es posible realizar el reembolso, dinero insuficiente en la cuenta.

500Error.

idempotency_validation_failed

Falla en la validación de idempotencia. Intenta enviar la solicitud nuevamente.

500

Error genérico. Intenta enviar la solicitud nuevamente.

Informa datos válidos en los request parameters antes de la ejecución.
Request
curl -X POST \
    'https://api.mercadopago.com/v1/orders/{order_id}/refund'\
    -H 'Content-Type: application/json' \
       -H 'Authorization: Bearer APP_USR-8*********88776-122*********fc20dede6*********a497d7225*********64' \
       -H 'X-Idempotency-Key: d8787bab-27e9-4a8b-8ec4-ad13c0fbe7e0' \
    
Response
{
  "id": "ORD0000ABCD222233334444555566",
  "status": "refunded",
  "status_detail": "refunded",
  "transactions": {
    "refunds": [
      {
        "id": "REF01J67CQQH5904WDBVZEM1234D",
        "transaction_id": "PAY01J67CQQH5904WDBVZEM4JMEP3",
        "amount": "24.50",
        "status": "processing",
        "reference_id": "12345678"
      }
    ]
  }
}