> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pagamentos.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Boleto

> Como receber pagamentos via boleto com **pagamentos.dev**

## O que é Boleto?

Boleto bancário é um dos métodos de pagamento mais populares no Brasil,
especialmente para compras de maior valor e transações B2B. O cliente recebe um
código de barras que pode ser pago em agências bancárias, lotéricas ou via
internet banking.

## Criando uma cobrança com boleto

Para criar uma cobrança via boleto, utilize o método `pg.cobrancas.create` com o
`metodoPagamento` definido como `'boleto'`:

```ts theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
import { pg } from './pagamentos'

const cobranca = await pg.cobrancas.create({
  valor: 5000, // R$50,00 - valor em centavos
  metodoPagamento: 'boleto',
  cliente: {
    nome: 'Maria Souza',
    documento: '987.654.321-00'
  }
})

console.log(cobranca.copiaECola) // Código de barras
```

## Parâmetros específicos do boleto

Você pode passar opções adicionais dentro do campo `boleto`:

| Propriedade    | Tipo     | Descrição                               |
| -------------- | -------- | --------------------------------------- |
| `vencimentoEm` | `string` | Data de vencimento do boleto (ISO 8601) |

```ts theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
const cobranca = await pg.cobrancas.create({
  valor: 5000,
  metodoPagamento: 'boleto',
  cliente: {
    nome: 'Maria Souza',
    documento: '987.654.321-00'
  },
  boleto: {
    vencimentoEm: '2025-12-31T23:59:59Z'
  }
})
```

<Info>
  Se não for informada uma data de vencimento, o provedor pode utilizar um prazo
  padrão (geralmente 3 a 5 dias úteis).
</Info>

## Consultando o status

Após criar a cobrança, você pode consultar o status para verificar se o
pagamento foi realizado:

```ts theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
const cobranca = await pg.cobrancas.get('id-da-cobranca')

console.log(cobranca.status) // 'pendente', 'pago', 'cancelado', 'vencido', etc.
```

## Recebendo notificações

Assim como os outros métodos de pagamento, você pode utilizar
[webhooks](/features/webhooks) para receber notificações automaticamente quando
um boleto for pago ou vencer.

## Provedores suportados

Os seguintes provedores oferecem suporte ao boleto:

* [Mock Provider](/provedores/mock)
* [Mercado Pago](/provedores/mercadopago)
* [Woovi](/provedores/woovi)

<Info>
  O provedor [AbacatePay](/provedores/abacatepay) **não** oferece suporte ao
  boleto. Caso precise utilizar esse método, escolha outro provedor ou combine
  múltiplos provedores usando o [roteamento inteligente](/features/roteamento-inteligente).
</Info>
