Solicite o reembolso total ou parcial de uma cobrança já paga. Estornos são analisados e aprovados pelo time de operações, que pode aprovar ou rejeitar a solicitação.
Endpoint
POST https://isolutionpay.com/api/refundsCampos
| Campo | Obrigatório | Descrição |
|---|---|---|
| payment_id | ✅ | ID da cobrança original (txid retornado na criação) |
| amount | ✅ | Valor a estornar em centavos (pode ser parcial) |
| reason | ❌ | Motivo do estorno (max. 500 chars) |
Exemplo
curl -X POST https://isolutionpay.com/api/refunds \
-H "Content-Type: application/json" \
-H "token: isolutionpay_sk_SUA_CHAVE_AQUI" \
-d '{
"payment_id": "pay_abc123",
"amount": 5000,
"reason": "Cliente solicitou cancelamento"
}'const res = await fetch("https://isolutionpay.com/api/refunds", {
method: "POST",
headers: {
"Content-Type": "application/json",
"token": "isolutionpay_sk_SUA_CHAVE_AQUI"
},
body: JSON.stringify({
payment_id: "pay_abc123",
amount: 5000,
reason: "Cliente solicitou cancelamento"
})
});
const { id, status } = await res.json();Resposta
{
"id": "ref_xyz456",
"payment_id": "pay_abc123",
"amount": 5000,
"status": "pending",
"created_at": "2025-01-15T10:30:00Z"
}| Campo | Descrição |
|---|---|
| id | ID do estorno — use para acompanhar o status |
| status | pending → approved ou rejected |
| amount | Valor solicitado em centavos |
Status do estorno
| Status | Significado |
|---|---|
pending | Aguardando análise da equipe de operações |
approved | Reembolso aprovado e processado |
rejected | Solicitação negada (motivo enviado via webhook) |
Listar estornos
GET https://isolutionpay.com/api/refundsRetorna todos os estornos da sua conta, ordenados do mais recente para o mais antigo.
curl https://isolutionpay.com/api/refunds \
-H "token: isolutionpay_sk_SUA_CHAVE_AQUI"Webhooks
Configure a URL de webhook no painel para receber notificações automáticas quando o status mudar:
{
"event": "refund.approved",
"refund": {
"id": "ref_xyz456",
"charge_id": "pay_abc123",
"amount": 5000,
"status": "approved"
},
"timestamp": "2025-01-15T12:00:00Z"
}| Evento | Quando ocorre |
|---|---|
refund.approved | Estorno aprovado pela equipe de operações |
refund.rejected | Estorno rejeitado (inclui notes na resposta) |
Códigos de erro comuns
| HTTP | Mensagem | Causa |
|---|---|---|
| 404 | Pagamento não encontrado | payment_id inválido ou de outra conta |
| 409 | Valor maior que o disponível | Tentativa de estornar mais do que foi cobrado |
| 422 | Pagamento não elegível | Pagamento ainda pendente ou já estornado |