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

# Visão Geral

> Estenda o **pagamentos.dev** com provedores, plugins e adaptadores

O **pagamentos.dev** foi projetado para ser extensível desde o início. Você
pode estender o SDK em três níveis:

<CardGroup cols={1}>
  <Card title="Provedores" icon="building-columns" href="/extensoes/criar-provedor">
    Adicione suporte a novos gateways de pagamento
  </Card>

  <Card title="Plugins" icon="puzzle-piece" href="/extensoes/criar-plugin">
    Empacote hooks reutilizáveis em módulos compartilháveis
  </Card>

  <Card title="Adaptadores" icon="plug" href="/extensoes/criar-adaptador">
    Crie adaptadores para frameworks web populares
  </Card>
</CardGroup>

## Qual mecanismo escolher?

| Você quer...                            | Use                                                 |
| --------------------------------------- | --------------------------------------------------- |
| Adicionar um novo gateway de pagamento  | [Criar um provedor](/extensoes/criar-provedor)      |
| Reagir a eventos (lifecycle ou webhook) | [Criar um plugin](/extensoes/criar-plugin) ou hooks |
| Integrar com um framework web           | [Criar um adaptador](/extensoes/criar-adaptador)    |
| Customizar roteamento entre provedores  | [Router](/features/roteamento-inteligente)          |

## Publicando extensões

Tanto provedores, plugins quanto adaptadores são **pacotes npm** comuns.
Publicamos as seguintes recomendações para manter a compatibilidade:

* Use o **pagamentos** como `peerDependency` no `package.json`.
* Siga a convenção de nomenclatura:
  * Provedores: `pagamentos-provider-nome`
  * Plugins: `pagamentos-plugin-nome`
  * Adaptadores: `pagamentos-adapter-nome`
* Exporte os tipos adequadamente para garantir TypeScript-friendly DX.
