Reembolsos

Solicitar Reembolso

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

Autenticação

bearerAuthorizationstring · header · obrigatório

Envie no header:

Authorization: Bearer {{token}}

Inicia o processo de reembolso de uma cobrança já paga, devolvendo o valor ao meio de pagamento original.

Solicitar reembolso

Incia o processo de devolução de um pagamento já confirmado. O valor é debitado do seu saldo disponível e devolvido ao cliente pelo mesmo meio de pagamento (PIX ou cartão). Para PIX, informe o endToEndId; para cartão, o chargeId.

CampoObrig.TipoDescrição
endToEndId✅*stringID E2E do PIX a ser estornado
chargeId✅*stringID da cobrança a ser estornada
amountnumberValor a reembolsar em reais (pode ser parcial)
reasonstringMotivo: BANK_ERROR FRAUD CUSTOMER_REQUEST PIX_CHANGE_ERROR
accountIdstringM2M: conta específica

*Pelo menos um dos campos marcados com ✅* é obrigatório.

Body

application/json

Content-Type:application/json
{
  "endToEndId": "E00000000202401150000000000000001",
  "amount": 100.0,
  "reason": "CUSTOMER_REQUEST",
  "chargeId": "cha_xxx",
  "accountId": null
}

Schema

FieldTypeRequiredDescription
endToEndId
string-
-
amount
number-
-
reason
string-
-
chargeId
string-
-
accountId
object-
-

Headers

NameTypeValueRequired
Content-Type-application/jsonOptional
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({
  "endToEndId": "E00000000202401150000000000000001",
  "amount": 100.0,
  "reason": "CUSTOMER_REQUEST",
  "chargeId": "cha_xxx",
  "accountId": null
})
};

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

Response Examples

201201
{
  "refundId": "ref_xxx",
  "status": "PROCESSING",
  "amount": 100.0,
  "reason": "MD06"
}
400400 excedido
{
  "code": "REFUND_AMOUNT_EXCEEDED"
}
400400 saldo
{
  "code": "INSUFFICIENT_BALANCE"
}