Reembolsar uma order - Orders - Mercado Pago Developers
Reembolsar uma order

POST

https://api.mercadopago.com/v1/orders/{order_id}/refund
Este endpoint executa a devolução total ou parcial das transações associadas a uma order. Para fazer o reembolso total, você não deve enviar o valor a ser reembolsado no body da solicitação. Para efetuar um reembolso parcial deverá indicar o valor a ser reembolsado, juntamente com o identificador da transação que deseja devolver. Em caso de sucesso, a requisição retornará uma resposta com o status 201.
Parâmetros de requisição
PATH
order_id
string

OBRIGATÓRIO

ID da order que deve ser reembolsada. Esse valor é retornado na resposta à requisição Criar order.
HEADER
X-Idempotency-Key
string

OBRIGATÓRIO

Esta função permite repetir requisições de forma segura, sem o risco de realizar a mesma ação mais de uma vez por engano. Isso é útil para evitar erros, como a criação de dois pagamentos idênticos. Para garantir que cada...Ver mais
BODY
transactions
array

OBRIGATÓRIO

Contém informações sobre as transações associadas à order. Pode conter apenas uma transação.
Parâmetros de resposta
id
string
Identificador da order processada na requisição.
status
string
Status atual da order.
processed: Todas as transações foram processadas com sucesso.
refunded: A order foi reembolsada.
status_detail
string
Detalhes sobre o status do pagamento.
refunded: A order foi reembolsada.
partially_refunded: A order foi reembolsada parcialmente.
transactions
object
Contém informações sobre as transações associadas a uma order.
Erros

400Erro de requisição.

empty_required_header

O header "X-Idempotency-Key" é requerido e não foi enviado. Faça a requisição novamente incluindo-o.

invalid_idempotency_key_length

O valor enviado no header "X-Idempotency-Key" excedeu o tamanho máximo permitido. O header aceita valores entre 1 e 64 caracteres.

invalid_path_param

O "order_id" fornecido no path da requisição não está correto. Verifique e forneça um ID válido para tentar novamente.

refund_amount_exceeds

O valor de devolução solicitado é maior do que o valor disponível.

404Não encontrado.

order_not_found

Order não encontrada. Verifique se o ID enviado está correto.

transaction_not_found

Transaction não encontrada. Verifique se o ID enviado está correto.

409Alguma regra específica do sistema não permite a realização da ação devido a restrições definidas.

idempotency_key_already_used

Falha na validação. Tente enviar a solicitação novamente.

order_already_refunded

Order já reembolsada.

cannot_refund_order

Não é possível reembolsar a order. Verifique se a order já foi reembolsada.

order_refund_already_in_process

Já existe em processamento uma solicitação de reembolso completo para a order em questão.

500Erro genérico.

idempotency_validation_failed

Falha na validação. Tente enviar a solicitação novamente.

internal_error

Erro genérico. Tente enviar a solicitação novamente.

Requisição
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"
    }
  ]
}'
Resposta de exemplo
{
  "id": "ORD01J49MMW3SSBK5PSV3DFR32959",
  "status": "processed",
  "status_detail": "refunded",
  "transactions": {
    "refunds": [
      {
        "id": "REF01J49MMW3SSBK5PSV3DFR32959",
        "transaction_id": "PAY01JEVQM06WDW16MAQ8B5SC0MSC",
        "reference_id": "01JEVQM899NWSQC4FYWWW7KTF9",
        "amount": "24.90",
        "status": "processed"
      }
    ]
  }
}