InícioReferência

Reembolso de transação (Pix)

O reembolso permite desfazer (dar “rollback”) em uma transação Pix que já foi paga. Dessa forma, o valor é devolvido à conta de origem, e a conta recebedora devolve o saldo correspondente, gerando um novo E2E (chave de end-to-end do Pix) iniciando com “D” de “devolução”.

Restrições ImportantesCopied!

  1. Saldo Suficiente: Só é possível efetuar o reembolso se houver saldo disponível na conta que originalmente recebeu o Pix. Se, por exemplo, a conta recebeu R$ 10,00, mas só possui R$ 5,00 no momento, não será possível reembolsar o valor total.

  2. Prazo Máximo de 90 Dias: Para reembolsar, a transação não pode ter mais de 90 dias desde sua data de geração. Caso o limite seja excedido, a API retornará erro.

  3. Transação com Status PAID: Apenas transações em status PAID podem ser reembolsadas. (Ou seja, a cobrança já foi confirmada e liquidada.)

Fluxo AssíncronoCopied!

  • Quando você solicita o reembolso, a plataforma realiza diversas validações (saldo, prazo, status da transação).

  • Caso tudo esteja conforme, o reembolso é processado de forma assíncrona — você recebe uma resposta inicial com um ID, e o status da transação pode mudar para REFUND_IN_PROGRESS.

  • Uma vez concluído, o valor sai da conta recebedora e retorna à conta pagadora, alterando o status para REFUND_IN.

Mais detalhesCopied!

[POST] /payment/refund/:id

Solicita o reembolso de uma transação

Exemplo de chamada cURL para APICopied!

curl --request POST \
  --url https://api.firebanking.com.br/payment/refund/<id> \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'apiKey: <sua-chave-api>'
  --data '{
	"value": 50.20,
	"description": "Sua descrição"
}'
Parâmetros de Rota

Campo

Obrigatório

Descrição

id

Sim

ID da transação com status PAID. Deve ter no máximo 90 dias e haver saldo suficiente para devolução.

Campos a serem enviados no Body

Campo

Obrigatório

Tipo

Descrição

value

Não

number / float

O valor que deseja reembolsar, em caso de reembolso parcial. Caso deixe vazio, o reembolso será total. O valor máximo permitido é o valor da própria transação.

description

Não

string

A descrição que deseja exibir no comprovante de reembolso.

Exemplo de RespostaCopied!

Se a solicitação de reembolso for aceita, a API retornará um JSON com o transactionId (o mesmo da transação original) ou outro identificador que possa ser usado para acompanhar o status do reembolso:

{
    "transactionId": "75906707-8c31-479c-b354-aa805c4cefbc"
}

Observação:

  • O processo de estorno pode levar alguns instantes. Se houver webhook configurado, você receberá uma notificação quando o estorno for efetivado, com a transação passando de PAID para o status final REFUND_IN.

  • Se faltar saldo ou o prazo de 90 dias estiver expirado, a API retornará um erro correspondente (HTTP 400 ou outro código adequado), indicando que o reembolso não pode ser realizado.

Considerações FinaisCopied!

  • Reembolso Parcial: Este endpoint suporta valores parciais. O reembolso, se informado o value, irá verificar se o valor é permitido reembolsar.

    • Exemplo: Recebe-se um pagamento (cash-in) de R$50,00. Você deseja reembolsar apenas R$20,00, sobrando então ainda R$30,00 remanescente do pagamento. Caso tente reembolsar parcialmente um valor maior do que o permitido (R$30,00) após ter já realizar o reembolso de R$20,00, isso não será possível.

  • Prazo: A solicitação deve ser feita até 90 dias após a liquidação do Pix (status PAID).

  • Status Final: Uma vez reembolsada, a transação será marcada como REFUND_IN.

  • Validação de Saldo: Se a conta não tiver saldo suficiente no momento do reembolso, a operação falhará.

  • Fluxo Assíncrono: O reembolso pode demandar alguns instantes para ser confirmado, pois depende da liquidação entre as instituições envolvidas.

  • Fluxo Interno de Status:

    • REFUND_OUT: Quando uma transação enviada (via cash out) sofre um reembolso pela conta recebedora.

    • REFUND_IN: Quando uma transação recebida (via cash in) é reembolsada para a conta de origem que enviou.

Em caso de dúvidas sobre o reembolso ou integração avançada, consulte nossa documentação completa ou entre em contato com o suporte da Fire Banking.