Reembolsar valor parcial
Para reembolsar um valor parcial, ou seja, devolver somente parte do valor pago, Ă© necessĂĄrio indicar o valor que deve ser devolvido diretamente no body
do request. Para isso, envie um POST ao endpoint /v1/advanced_payments/{advanced_payment_id}/refunds com as devidas informaçÔes e execute a requisição ou, se preferir, utilize o curl
abaixo.
curl -X POST \
'https://api.mercadopago.com/v1/advanced_payments/ADVANCED_PAYMENT_ID/refunds' \
-H 'X-Idempotency-Key: IDEMPOTENCY_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'accept: application/json' \
-H 'content-type: application/json' \
-d '{
"amount":25
}'
Respostas
Ao executar o request para um reembolso parcial, Ă© possĂvel que se retornem diferentes respostas. Abaixo vocĂȘ encontra o detalhe de cada uma delas, bem como as possĂveis causas.
Resposta de sucesso
[
{
"id": 1242469925,
"payment_id": 51617407254,
"amount": 25,
"source": {
"id": 783789745,
"name": "Test Test",
"type": "collector"
},
"date_created": "2022-11-18T08:48:06.768-04:00",
"status": "approved"
}
]
Resposta com falha: Bad request
Esta resposta retorna quando um dos parùmetros de solicitação estå incorreto ou não foi encontrado. Por exemplo, este erro ocorrerå quando um id invålido for enviado.
CĂłdigo de status: 400
{
"status": "400",
"error": "bad_request",
"message": "Invalid splitter id.",
"cause": [
{
"code":"400048",
"message": "Invalid splitter id",
"data": null
}
]
}
Resposta com falha: Not found
Esta é uma resposta comum que é retornada quando nenhum pagamento antecipado criado com o ID fornecido nos parùmetros da solicitação é encontrado.
CĂłdigo de status: 404
{
"status": "404",
"error": "not_found",
"message": "Advanced payment not found.",
"cause": [
{
"code":"404002",
"message": "Advanced payment not found",
"data": null
}
]
}
Resposta com falha: Internal error code
Ă a resposta que indica que ocorreu um erro no servidor durante o processamento da solicitação. Isso significa que a solicitação do cliente nĂŁo pĂŽde ser concluĂda devido a um problema interno no servidor.
CĂłdigo de status: 500
{
"status": "500",
"error": "internal_server_error",
"message": "Invalid splitter id.",
"cause": [
{
"code":"500000",
"message": "Internal server error",
"data": null
}
]
}
CĂłdigo de status: 200