---
title: "Estorna uma cobrança existente."
method: POST
path: "/v1/charges/{id}/refund"
tags: ["charges"]
---

# Estorna uma cobrança existente.

`POST /v1/charges/{id}/refund`

## Request

- Base URL: `//app.vindi.com.br/api` (relative, and the document’s source URL is not known)
- URL: `//app.vindi.com.br/api/v1/charges/{id}/refund`
- Auth: HTTP basic

Utilize este método para efetuar o estorno (ou cancelamento) de uma cobrança já efetuada com sucesso. É importante observar que não é possível reverter um estorno realizado com sucesso.

Após a operação de estorno, a cobrança assumirá `status=canceled`. O cancelamento da fatura associda é opcional e pode ser informado através da opção `cancel_bill` no corpo da requisição.

#### Estorno total e parcial

A operação de estorno pode ser realizada na totalidade do valor original ou parcialmente, caso seja necessário. É importante observar que nem todas as adquirentes suportam a modalidade de estorno parcial.

Para efetuar o estorno total não é obrigatório informar o parâmetro `amount`.

#### Retorno síncrono e assíncrono

Caso o estorno retorne uma transação (`last_transaction`) contendo o atributo `status=success`, é possível considerar que a operação foi realizada com sucesso e o valor será creditado na fatura do cliente respeitando as regras da adquirente e do banco emissor. Chamamos esta operação de **estorno síncrono**.

Em alguns casos também é possível que a plataforma retorne `status=waiting`. Isto significa que o estorno foi recebido com sucesso, porém ainda depende de um processamento adicional na adquirente. Esta operação é chamada de **estorno assíncrono**. Neste caso, você poderá optar pelo recebimento do webhook "Cobrança estornada" (`charge_refunded`) que será enviado assim que a adquirente emitir a confirmação de estorno. O recebimento da confirmação do estorno pode demorar entre alguns minutos até alguns dias.

## Path parameters

- `id` integer, required

## Request body

- PostV1ChargesIdRefund: Estorna uma cobrança existente.
  - `body` string: JSON com atributos do estorno.
  - `amount` number: Valor do estorno. Se não for informado, o valor total será estornado
  - `cancel_bill` string: Informe se a fatura associada à cobrança será cancelada após o estorno. Se não informado, o valor `false` será utilizado
  - `comments` string: Descrição opcional

## Response `200`

Estorno emitido com sucesso.

- Charge: Utilize este método para listar as cobranças associadas à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca <code>id</code>, <code>customer_id</code>, <code>bill_id</code>, <code>amount</code>, <code>payment_method_id</code>, <code>due_at</code>, <code>paid_at</code>, <code>installments</code>, <code>attempt_count</code>, <code>next_attempt</code>, <code>status</code>, <code>created_at</code> e <code>updated_at</code>.
  - `id` integer, required: ID da cobrança
  - `amount` number, required: Valor da cobrança
  - `status` 'pending' | 'paid' | 'canceled' | 'processing' | 'fraud_review', required: Status da cobrança
  - `due_at` string, required: Data do vencimento da cobrança
  - `paid_at` string: Data do pagamento da cobrança, apenas se a cobrança já foi paga
  - `installments` integer, required: Número de parcelas da cobrança. Valores acima de 1 são usados apenas para parcelamento através da administradora do cartão de crédito
  - `attempt_count` integer: Número de tentativas automáticas de cobrança já realizadas
  - `next_attempt` integer: Data da próxima tentativa automática de cobrança
  - `print_url` string: URL para impressão da cobrança. Usado apenas para boletos
  - `created_at` string, required: Data e hora da geração da cobrança
  - `updated_at` string, required: Data e hora da última atualização da cobrança
  - `last_transaction` TransactionSummary, required
    - `id` integer, required: ID da transação
    - `transaction_type` 'charge' | 'refund' | 'authorization' | 'capture' | 'verify' | 'register' | 'void' | 'renew_payment_profile' | 'pre_authorization' | 'update', required: Tipo da transação
    - `status` 'processing' | 'success' | 'rejected' | 'failure' | 'timeout' | 'waiting' | 'canceled' | 'fraud_review', required: Status da transação
    - `amount` number, required: Valor da transação
    - `installments` integer, required: Número de parcelas
    - `gateway_message` string, required: Mensagem de resposta do gateway
    - `gateway_response_code` string, required: Código de resposta do gateway
    - `gateway_authorization` string, required: Código da autorização usado no estorno ou captura. Varia de acordo com o adquirente
    - `gateway_transaction_id` string, required: Código externo de referência do gateway. Para boletos, representa o "nosso número"
    - `gateway_response_fields` string: Atributos de resposta específicos do gateway
    - `fraud_detector_score` number: Pontuação da análise antifraude entre 0.00 e 1.00. Quanto maior a pontuação, maior o risco de fraude
    - `fraud_detector_status` 'automatic_success' | 'manual_success' | 'automatic_rejected' | 'manual_rejected' | 'review' | 'failure': Status da análise antifraude
    - `fraud_detector_id` string: ID da análise antifraude
    - `created_at` string, required: Data e hora da transação
    - `gateway` GatewaySummary, required
      - `id` integer, required: ID do gateway
      - `connector` string, required: Conector utilizado no gateway
    - `payment_profile` PaymentProfileSummary, required
      - `id` integer, required: ID do perfil de pagamento
      - `holder_name` string: Nome do titular/portador do perfil de pagamento
      - `registry_code` string: CPF ou CNPJ do titular/portador
      - `bank_branch` string: Agência da conta bancária
      - `bank_account` string: Número da conta bancária
      - `card_expiration` string: Validade do cartão de crédito no formato MM/AA
      - `allow_as_fallback` string: Permite utilizar o perfil de pagamento em retentativas de cobranças não pagas.
      - `card_number_first_six` string: Primeiros 6 dígitos do cartão de crédito (BIN/IIN)
      - `card_number_last_four` string: Últimos 4 dígitos do cartão de crédito
      - `renewed_card` object
        - `card_number_last_four` string: Últimos quatro dígitos do cartão de crédito renovado
        - `card_expiration` string: Nova validade do cartão de crédito renovado
      - `card_renewed_at` string: Data da renovação do cartão de crédito renovado
      - `token` string, required: Token interno para referência do perfil de pagamento
      - `created_at` string, required: Data e hora do cadastro do perfil de pagamento
      - `payment_company` PaymentCompany, required
        - `id` integer, required: ID da bandeira ou banco
        - `name` string, required: Nome da bandeira ou banco
        - `code` string, required: Código para referência via API
  - `payment_method` PaymentMethodSummary, required
    - `id` integer, required: ID do método de pagamento
    - `public_name` string, required: Nome público do método de pagamento
    - `name` string, required: Nome interno do método de pagamento
    - `code` string, required: Código externo para referência via API
    - `type` string, required: Tipo do método de pagamento
  - `bill` BillSummary, required
    - `id` integer, required: ID da fatura
    - `code` string: Código externo para referência via API
  - `customer` CustomerSummary, required
    - `id` integer, required: ID do cliente
    - `name` string, required: Nome do cliente
    - `email` string: E-mail do cliente
    - `code` string: Código opcional para referência via API

## Other responses

- `400`: Erro de sintaxe JSON no corpo do request.
- `404`: Recurso não encontrado: Cobrança
- `422`: Parâmetros inválidos. Verificar erro na resposta.

---

[API](https://skmtc.dev/vindi/apis/api-vindi.md) - [All operations](https://skmtc.dev/vindi/apis/api-vindi/llms.txt) - [OpenAPI document](https://skmtc.dev/vindi/apis/api-vindi/revisions/3e857e1cdd03?raw)
