Estorno Cartão

Criar estorno de cartão

Cria um estorno de cartão de crédito a partir do chargeId da cobrança original. O estorno pode ser parcial ou total.

ℹ️ Para cartão, o estorno pode retornar CONFIRMED na hora, quando a confirmação vem imediatamente — nesse caso o polling não é necessário (success já vem true).

Se vier PROCESSING, guarde o refundId e acompanhe pela rota Consultar status do estorno (GET /v1/wallet/refunds).

POST/v1/wallet/refunds
Base URL Produção:https://api.validapay.com.br
Base URL Sandbox:https://sandbox.validapay.com.br

Authorizations

bearer

Authorization

string · header · required

Cabeçalho de autenticação Bearer no formato Bearer {{token}} onde {{token}} é o seu token OAuth2.

Escopos requeridos

wallet/write

Body

application/json

Content-Type:application/json
{
  "accountId": "459013777",
  "chargeId": "cha_1774530966959_frgj3ptax",
  "amount": 100.00,
  "reason": "CUSTOMER_REQUEST"
}

Schema

chargeIdstringRequired

ID da cobrança de cartão a ser estornada.

amountnumberRequired

Valor do estorno (parcial ou total).

accountIdstringOptional

Número da subconta. Se omitido, opera na conta principal.

reasonstringOptional

Motivo do estorno.

const url = 'https://sandbox.validapay.com.br/v1/wallet/refunds';

const options = {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer {{token}}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
  "accountId": "459013777",
  "chargeId": "cha_1774530966959_frgj3ptax",
  "amount": 100.00,
  "reason": "CUSTOMER_REQUEST"
})
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));

Response Examples

201Sucesso
{
    "refundId": "ref_1774531490865_bq4e8v12x",
    "status": "CONFIRMED",
    "success": true,
    "amount": 100,
    "reason": "CUSTOMER_REQUEST",
    "chargeId": "cha_1774530966959_frgj3ptax",
    "providerChargeId": "prov_ch_9f8a7b6c",
    "paymentType": "CREDIT_CARD",
    "createdAt": "2026-03-26T13:24:52.106Z"
}