> ## 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.

# Introdução

> Uma integração, todos os pagamentos.

<img src="https://mintcdn.com/pagamentos/l5H10nxrGE4c2Kvk/images/pagamentosdev-cover.png?fit=max&auto=format&n=l5H10nxrGE4c2Kvk&q=85&s=95e673ab7bbf1d5b47f09a7ef9c3251f" alt="Imagem com a logo da pagamentos.dev e um mapa do Brasil ao lado" className="rounded-2xl block dark:hidden dark:invisible" width="6000" height="2000" data-path="images/pagamentosdev-cover.png" />

<img src="https://mintcdn.com/pagamentos/l5H10nxrGE4c2Kvk/images/pagamentosdev-dark-cover.png?fit=max&auto=format&n=l5H10nxrGE4c2Kvk&q=85&s=ba3cf102a96ad93ee6a118303beb816c" alt="Imagem com a logo da pagamentos.dev e um mapa do Brasil ao lado" className="rounded-2xl dark:block hidden" width="6000" height="2000" data-path="images/pagamentosdev-dark-cover.png" />

A **pagamentos.dev** é uma SDK construída para integrar pagamentos na sua
aplicação de forma simples, moderna e rápida.

## Primeiros passos

Para começar o desenvolvimento, instale a biblioteca com seu gerenciador de
pacotes favorito:

<CodeGroup>
  ```bash npm theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
  npm i pagamentos
  ```

  ```bash Yarn theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
  yarn add pagamentos
  ```

  ```bash pnpm theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
  pnpm add pagamentos
  ```

  ```bash Bun theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
  bun i pagamentos
  ```
</CodeGroup>

Agora crie uma instância e conecte um provedor:

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

export const pg = new Pagamentos({
  providers: [
    mockProvider() // Você pode substituir por qualquer outro provedor
  ]
})

```

Em seguida, basta usar a instância `pg` para acessar os métodos de pagamento.
Por exemplo, para criar uma cobrança com Pix:

```ts pagamentos.ts theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
const cobranca = await pg.cobrancas.create({
  idempotencyKey: crypto.randomUUID(),
  valor: 1000, // valor em centavos
  metodoPagamento: 'pix',
  cliente: {
    nome: 'João Silva',
    documento: '123.456.789-00'
  }
})

console.log(cobranca.qrcode)
```

## Por que usar pagamentos.dev?

Integrar pagamentos pode ser complexo e demorado por diversos fatores:

1. **Documentação inconsistente**: Muitas bibliotecas de pagamento têm
   documentação desatualizada, incompleta ou difícil de entender.
2. **Múltiplos provedores**: Cada provedor de pagamento tem sua própria API e
   métodos de integração.
3. **Manutenção contínua**: As APIs de pagamento estão sempre evoluindo, o que
   exige atualizações constantes na integração.
4. **Falta de suporte**: Muitas bibliotecas não oferecem suporte adequado ou
   comunidade ativa para ajudar os desenvolvedores.
5. **Lock-in**: Integrar diretamente com um provedor pode dificultar a troca
   futura para outro serviço.

A **pagamentos.dev** resolve esses problemas oferecendo uma interface unificada
para vários provedores, documentação clara e atualizada, e uma comunidade ativa
para suporte.

Além disso, oferecemos outras funcionalidades avançadas, permitindo que você se
concentre no desenvolvimento do seu produto, enquanto cuidamos dos pagamentos.

<Columns columns={2}>
  <Card title="Roteamento inteligente" icon="route" href="/features/roteamento-inteligente">
    Priorize o provedor mais eficiente e aumente sua conversão
  </Card>

  <Card title="Componentes" icon="react" href="/features/componentes">
    Componentes pré-construídos para acelerar o desenvolvimento
  </Card>

  <Card title="Observabilidade" icon="chart-line" href="/features/observabilidade">
    Monitoramento e análise de desempenho dos seus pagamentos
  </Card>

  <Card title="Extensibilidade" icon="puzzle-piece" href="/extensoes">
    Adicione novos provedores e funcionalidades facilmente
  </Card>
</Columns>
