Reembolsar una order - Orders - Mercado Pago Developers
Reembolsar una order

POST

https://api.mercadopago.com/v1/orders/{order_id}/refund
Este endpoint permite realizar la devolución total o parcial de los valores asociados a una order. Para realizar un reembolso total, no debes enviar el monto a reembolsar en el body de la requisición. Para realizar un reembolso parcial sí debes indicar el valor a ser reembolsado, junto con el identificador de la transacción que deseas devolver. En caso de éxito, la solicitud devolverá una respuesta con el estado 201.
Parámetros para la solicitud
PATH
order_id
string

REQUERIDO

ID de la order a reembolsar. Este valor es devuelto en la respuesta a la requisición Crear order.
HEADER
X-Idempotency-Key
string

REQUERIDO

Esta función permite repetir requisiciones de forma segura, sin riesgo de realizar la misma acción más de una vez por error. Esto es útil para evitar errores como crear dos pagos idénticos. Para garantizar que cada solic...Ver más
BODY
transactions
array

REQUERIDO

Contiene información sobre las transacciones asociadas a la order. Puede contener solo una transacción.
Parámetros de respuesta
id
string
Identificador de la order procesada en la solicitud.
status
string
Estado actual de la order.
processed: Todas las transacciones fueron procesadas exitosamente.
refunded: La order fue devuelta.
status_detail
string
Detalles sobre el estado del pago.
refunded: La order fue devuelta.
partially_refunded: La order fue devuelta parcialmente.
transactions
object
Contiene información sobre las transacciones asociadas a una order.
Errores

400Error de solicitud.

empty_required_header

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

invalid_idempotency_key_length

El valor enviado en el header "X-Idempotency-Key" excedió el tamaño máximo permitido. El header acepta valores entre 1 y 64 caracteres.

invalid_path_param

El "order_id" proporcionado en el path de la requisición no es correcto. Compruébalo y proporciona un ID válido para volver a intentarlo.

refund_amount_exceeds

El valor del reembolso es mayor que el valor disponible.

404No encontrada.

order_not_found

Order no encontrada. Comprueba si enviaste el ID correcto.

transaction_not_found

Transaction no encontrada. Comprueba si enviaste el ID correcto.

409Alguna regla específica del sistema no permite realizar la acción debido a restricciones definidas.

idempotency_key_already_used

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

order_already_refunded

Order ya reembolsada.

cannot_refund_order

No se puede reembolsar la order. Comprueba si la order ya ha sido reembolsada.

order_refund_already_in_process

Ya existe una solicitud de reembolso completo en proceso para la order en cuestión.

500Error genérico.

idempotency_validation_failed

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

internal_error

Error genérico. Intenta enviar la solicitud nuevamente.

Solicitud
curl -X POST \
    'https://api.mercadopago.com/v1/orders/{order_id}/refund'\
    -H 'Content-Type: application/json' \
       -H 'X-Idempotency-Key: 0d5020ed-1af6-469c-ae06-c3bec19954bb' \
       -H 'Authorization: Bearer TEST-7719*********832-03141*********ec9309854*********f1e54b5-1*********' \
    -d '{
  "transactions": [
    {
      "id": "PAY01J67CQQH5904WDBVZEM4JMEP3",
      "amount": "24.90"
    }
  ]
}'
Respuesta de ejemplo
{
  "id": "ORD01J49MMW3SSBK5PSV3DFR32959",
  "status": "processed",
  "status_detail": "refunded",
  "transactions": {
    "refunds": [
      {
        "id": "REF01J49MMW3SSBK5PSV3DFR32959",
        "transaction_id": "PAY01JEVQM06WDW16MAQ8B5SC0MSC",
        "reference_id": "01JEVQM899NWSQC4FYWWW7KTF9",
        "amount": "24.90",
        "status": "processed"
      }
    ]
  }
}