Comunidade
Erro ao estornar cobrança (charge) via API no ambiente Sandbox
2 months ago by Bruno Loss Pecorari
Olá, equipe PagBank!
Estou realizando testes de integração com a API de Pedidos & Pagamentos no ambiente Sandbox e estou enfrentando dificuldades para estornar uma cobrança (charge) de cartão de crédito via endpoint /charges/{charge_id}/cancel.
Cenário:
- Crio um pedido com cartão de crédito, valor de R$ 50,00 (5000 centavos), usando
"capture": truepara que a transação seja concluída e a charge fique com statusPAID. - Em seguida, tento estornar essa charge usando o endpoint:
POST https://sandbox.api.pagseguro.com/charges/{charge_id}/cancel - Testei tanto enviando o body:
quanto sem body (body vazio
{ "amount": { "value": 5000 } }{}).
Headers enviados:
{
"Authorization": "Bearer <meu_token>",
"Content-Type": "application/json",
"x-idempotency-key": "<uuid>"
}
Resposta da API:
Sempre recebo:
{
"error_messages": [
{
"code": "40002",
"description": "invalid_parameter"
}
]
}
Outros detalhes:
- O status da charge no momento do estorno é
PAID. - O link de cancelamento (
rel: CHARGE.CANCEL) está presente no objeto da charge. - Também testei endpoints de estorno (
/refund,/refunds,/reverse,/chargeback) e todos retornam 403 unauthorized no sandbox. - O valor enviado no campo
amounté igual ao valor pago.
Perguntas:
- O endpoint
/cancelé realmente o correto para estornar uma transação já concluída (status PAID) de cartão de crédito? - Existe algum parâmetro obrigatório ou formato específico para estornar uma charge via API?
- Há alguma limitação conhecida no ambiente sandbox para esse tipo de operação?
- Como proceder para testar o fluxo completo de pagamento e estorno de cartão de crédito?
Agradeço desde já pela atenção e aguardo orientações para conseguir validar esse fluxo!
