---
# System prepended metadata

title: Refund só pode ser feito a par

---

## Regras Refund
- Refund só pode ser feito a partir de payins (currency == BRL)
- Regras BACEN:
    - Só é possível devolver em até 80 dias (timestamp
    - Só é possível devolter para o mesmo originador do E2E ID.
    - ~~Podem ser feitas várias devoluções parciais~~ Transfero sempre vai fazer a devolução parcial.
    - Implementado no BS2 e Genial

## Casos de Uso
### 1. Parceiro recebeu um depósito sem QR Code e quer devolver
:caso Bybit:
:botão Refund:
- Não tem DepositOrder
- Parceiro/TransferoPay mandam o ID da transação de crédito na requisição para iniciar o refund.
- Transfero cria um payment onde RefundId = E2E ID 
- Transfero cria uma transação de débito com:
    - ID único (novo)
    - TaxId = TaxId original
    - TransactionHash = E2E de devolução (D**************)
    - TO DO: Colocar E2E no ExternalID

### 2. Idem 1, porém a partir de um QR Code Dinâmico
- Tem DepositOrder
- Parceiro/TransferoPay mandam o ID da transação de crédito na requisição para iniciar o refund.
- Transfero cria um payment onde RefundId = E2E ID 
- Transfero cria uma transação de débito com:
    - ID único (novo)
    - TaxId = TaxId original
    - TransactionHash = E2E de devolução (D**************)
    - ExternalId = ExternalId original
- Transfero atualiza status do DepositOrder para Reimbursed.
    - TO DO: Trocar status de Reimbursed para Refunded

### 3. Idem 1, porém a partir de QR Code estático
- Tem DepositOrder
- Parceiro/TransferoPay mandam o ID da transação de crédito na requisição para iniciar o refund.
- Transfero cria um payment onde RefundId = E2E ID 
- Transfero cria uma transação de débito com:
    - ID único (novo)
    - TaxId = TaxId original
    - TransactionHash = E2E de devolução (D**************)
    - ExternalId = ExternalId original
- Transfero atualiza status do DepositOrder para Reimbursed somente se todas as transações associadas a ele foram devolvidas.

### 4. Para uso do time interno: A gente precisa devolver uma transação por MED, Reclame Aqui, ticket
- Reclame Aqui: Usar o Control (em fase de testes)
- MED: informar o banco + criar transação de débito manual (Medina)

### 5. Refund Automático
**Caso 1**: TaxId Bloqueado
**Caso 2**: TaxId ou Valor diferente do informado
**Fluxo Proposto:**
- Transfero cria transação de crédito "escondida" do transação a ser devolvida
- Transfero vai executar devolução e criar transação de débito "escondido" do partner
- Transfero vai alterar status do DepositOrder para Refunded, e o parceiro será notificado via callback de DepositOrder.
- TO DO:
    - Fazer validação do DepositOrder antes de criar a transação de débito
    - Criar fluxo de refund para erros de validação