EvoPay
POST/user/refund/{transactionId}DEPOSIT

Reembolsar depósito

Requer permissão DEPOSIT no token.

Solicita o reembolso de um depósito Pix já liquidado. O valor integral é debitado do saldo disponível e devolvido ao pagador via Pix.

Como funciona

O valor debitado do saldo é o valor bruto do depósito — a taxa de serviço já cobrada não é devolvida. Por isso, o saldo do seller pode ficar negativo no valor exato da taxa da transação: esse é o comportamento esperado, não um bug.

O reembolso só é permitido se o saldo resultante não ficar mais negativo do que a taxa da transação — na prática, o seller precisa ter ao menos o valor líquido do depósito em saldo disponível. O comprador recebe de volta o valor integral pago via Pix.

Headers

AuthorizationBearer <seu_token>
Content-Typeapplication/json

Parâmetros

NomeInTipoDescrição
transactionId*pathstringID da transação de depósito a ser reembolsada

Body da requisiçãoobrigatório

CampoTipoDescrição
description*
stringMotivo do reembolso — obrigatório, não pode ser vazio

Respostas

Reembolso iniciado. A transação está agora em `WAITING_FOR_REFUND`.

CampoTipoDescrição
id
string
type
TransactionType
DEPOSITWITHDRAWCOMMISSION
status
TransactionStatus
PENDINGCOMPLETEDCANCELEDWAITING_FOR_REFUNDREFUNDEDEXPIREDERROR
amount
number
serviceFeeCharged
number?
clientReference
string?
qrCodeText
string?
qrCodeUrl
string?
qrCodeBase64
string?
generatedName
string?
generatedDocument
string?
generatedEmail
string?
payerName
string?
payerDocument
string?
payerInstitutionIspb
string?
payerInstitutionName
string?
receiverName
string?
receiverDocument
string?
receiverInstitutionIspb
string?
receiverInstitutionName
string?
withdrawPixKey
string?Chave PIX usada no saque (preenchido em saque via chave)
withdrawPixType
PixType?Tipo da chave PIX (preenchido em saque via chave)
cpfcnpjemailphoneevp
withdrawQrCodeText
string?Payload EMV Pix Copia e Cola usado no saque (preenchido em saque via QR Code)
endToEndId
string?
cancellationReason
string?
paidAt
string?date-time
refundEndToEndId
string?
refundAmount
number?
refundStatus
RefundStatus?
PENDINGCOMPLETEDCANCELED
refundReason
RefundReason?
CUSTOMER_REQUESTDENY_COMPANY_DEPOSITINFRACTION
refundDescription
string?
refundedAt
string?date-time
createdAt
stringdate-time
updatedAt
stringdate-time
splits
TransactionSplitItem[]Splits configurados na venda, ecoando exatamente o que foi persistido. Na criação (POST /pix/) todo item vem com status PENDING — a execução real só acontece na confirmação do pagamento. Consulte novamente via GET /pix/ depois do webhook processar para ver EXECUTED ou FAILED. Ausente inteiramente (não aparece nem vazio) quando a transação não foi criada com o campo splits no request. Veja detalhes de cálculo e comportamento de erro em POST /pix/.

Exemplos

curl "https://api.evopay.cash/v1/user/refund/EPB1694C2C35E94053874D53B1" \
  -X POST \
  -H "Authorization: Bearer <seu_token>" \
  -H "Content-Type: application/json" \
  --data-raw '{
  "description": "exemplo"
}'
EvoPay API Documentation