Este endpoint executa a devolução total ou parcial de uma order processada. Para fazer o reembolso total, não é necessário 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. Múltiplos reembolsos parciais podem ser realizados sobre a mesma order, desde que o valor acumulado reembolsado não exceda o valor total pago. Em caso de sucesso, a requisição retornará uma resposta com o status 201.
POST
OBRIGATÓRIO
OBRIGATÓRIO
OBRIGATÓRIO
OBRIGATÓRIO CONDICIONAL
splits.OBRIGATÓRIO CONDICIONAL
transactions.status e status_detail e seus significados, consulte a referência de status da order.status e status_detail e seus significados, consulte a referência de status da order.400Erro de requisição.
refund_amount_exceeds
Um valor inválido foi enviado para alguma propriedade. O valor fornecido excede o disponível para reembolso. Verifique a mensagem retornada nos detalhes do erro para identificar o problema e tente novamente.
order_refund_already_in_process
Um reembolso total já está em processamento para esta order. Verifique a mensagem retornada nos detalhes do erro para identificar o problema e tente novamente.
401Erro. Access Token não autorizado.
401
O Access Token enviado está incorreto. Revise o valor e tente enviar a requisição novamente com a informação correta.
invalid_credentials
Não há suporte para credenciais de teste. Utilize usuários de teste com credenciais de produção para o ambiente de teste (sandbox) e as suas credenciais de produção para o ambiente de produção.
403Erro. Proibido.
forbidden
A aplicação não tem permissão para acessar este recurso. Verifique se o Access Token utilizado tem as permissões e escopos necessários para esta operação.
PA_UNAUTHORIZED_RESULT_FROM_POLICIES
A conta está bloqueada e suas chaves de API foram revogadas. Ao menos uma política avaliada pelo Policy Agent retornou um resultado não autorizado.
404Recurso não encontrado.
transaction_not_found
O ID da transação fornecido não existe nesta order. Use o id de transactions.payments[].id.
409Alguma regra específica do sistema não permite a realização da ação devido a restrições definidas.
idempotency_key_already_used
O valor enviado como header de idempotência (X-Idempotency-Key) já foi utilizado. Por favor, tente a solicitação novamente enviando um novo valor.
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.
429Limite de requisições excedido.
too_many_requests
Client ID bloqueado pelo gateway porque o limite de requisições pelo ID em questão foi atingido. Leia o header Retry-After da resposta e aguarde o número de segundos indicado antes de tentar novamente. Para maior resiliência, implemente backoff exponencial com jitter, ou seja, aumente o tempo de espera a cada nova tentativa e adicione uma variação aleatória para evitar o reenvio simultâneo de muitas requisições.
usage_quota_exceeded
Cota imposta pelo backend da API porque o limite de requisições por cliente foi atingido. Leia o header Retry-After da resposta e aguarde o número de segundos indicado antes de tentar novamente. Para maior resiliência, implemente backoff exponencial com jitter, ou seja, aumente o tempo de espera a cada nova tentativa e adicione uma variação aleatória para evitar o reenvio simultâneo de muitas requisições.
500Erro genérico.
internal_error
Erro genérico. Tente enviar a solicitação novamente.
curl -X POST \
'https://api.mercadopago.com/v1/orders/{order_id}/refund'\
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ' \
-H 'X-Idempotency-Key: 33c8bec9-34bb-4df0-b200-c426de9c123c' \
-d '{
"transactions": [
{
"id": "PAY01HRYFWNYRE1MR1E60MW3X0T2P",
"amount": "100.00"
}
],
"splits": [
{
"user_id": 1,
"amount": "50.00"
}
]
}'{
"id": "ORD01J49MMW3SSBK5PSV3DFR32959",
"status": "refunded",
"status_detail": "refunded",
"transactions": {
"refunds": [
{
"id": "REF01J49MMW3SSBK5PSV3DFR32959",
"transaction_id": "PAY01JEVQM06WDW16MAQ8B5SC0MSC",
"reference_id": "01JEVQM899NWSQC4FYWWW7KTF9",
"amount": "24.50",
"status": "processed"
}
]
}
}