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

# SDK

> SDKs oficiais para integração com a API pague.dev

## Node.js

### Instalação

```bash theme={null}
npm install @pague-dev/sdk-node
```

### Configuração

```typescript theme={null}
import { Pdev } from '@pague-dev/sdk-node';

// Opção 1: Passar a API key diretamente
const pdev = new Pdev('pd_live_sua_api_key');

// Opção 2: Usar variável de ambiente PDEV_API_KEY
const pdev = new Pdev();
```

### Recursos

<AccordionGroup>
  <Accordion title="PIX">
    Criar cobrança PIX com dados do pagador:

    ```typescript theme={null}
    await pdev.pix.create({ amount, description, customer });
    ```
  </Accordion>

  <Accordion title="PIX QR Code Estático">
    Criar QR code PIX estático (sem dados do pagador):

    ```typescript theme={null}
    await pdev.pix.createStaticQrCode({ amount, description });
    ```
  </Accordion>

  <Accordion title="Charges (Links de Pagamento)">
    Gerenciar links de pagamento:

    ```typescript theme={null}
    await pdev.charges.create({ name, amount, paymentMethods });
    await pdev.charges.list({ page, limit });
    await pdev.charges.get(id);
    ```
  </Accordion>

  <Accordion title="Customers (Clientes)">
    Gerenciar clientes:

    ```typescript theme={null}
    await pdev.customers.create({ name, document });
    await pdev.customers.list({ page, limit, search });
    ```
  </Accordion>

  <Accordion title="Projects (Projetos)">
    Organizar pagamentos por projeto:

    ```typescript theme={null}
    await pdev.projects.create({ name, color });
    await pdev.projects.list({ page, limit });
    ```
  </Accordion>

  <Accordion title="Withdrawals (Saques)">
    Criar saques via PIX. Informe **`amount`** (valor bruto debitado do saldo; destinatário recebe `amount - fee`) **ou** **`netAmount`** (valor líquido que o destinatário recebe; saldo é debitado em `netAmount + fee`) — nunca os dois.

    ```typescript theme={null}
    // Por valor bruto (sai 150,75 do saldo; destinatário recebe 150,75 - fee)
    await pdev.withdrawals.create({ amount: 150.75, bankAccountId: 'uuid' });

    // Por valor líquido (destinatário recebe 150,00 exatos; saldo debita 150,00 + fee)
    await pdev.withdrawals.create({ netAmount: 150.0, bankAccountId: 'uuid' });

    // Com PIX avulso (inline)
    await pdev.withdrawals.create({
      amount: 150.75,
      pixKey: '12345678901',
      pixKeyType: 'cpf',
      holderName: 'João da Silva',
      holderDocument: '12345678901',
    });
    ```
  </Accordion>

  <Accordion title="Transactions (Transações)">
    Consultar transações:

    ```typescript theme={null}
    await pdev.transactions.get(id);
    ```
  </Accordion>

  <Accordion title="Account (Conta)">
    Consultar dados da conta, empresa e saldo:

    ```typescript theme={null}
    const { data } = await pdev.account.get();

    data.account.id;                      // ID da conta
    data.account.status;                  // 'approved', 'pending', ...
    data.company?.cnpj;                   // CNPJ da empresa
    data.balance.available.amountFormatted; // Saldo disponível em reais
    data.balance.held.amountFormatted;     // Saldo bloqueado em reais
    data.balance.total.amountFormatted;    // Saldo total em reais
    ```
  </Accordion>

  <Accordion title="Webhooks">
    Validar assinatura e processar notificações de eventos:

    ```typescript theme={null}
    import { verifyWebhookSignature, parseWebhook } from '@pague-dev/sdk-node';

    // Validar assinatura
    const signature = req.headers['x-webhook-signature'];
    const isValid = verifyWebhookSignature(rawBody, signature, 'seu_webhook_secret');

    // Parsear payload
    const event = parseWebhook(rawBody);
    ```
  </Accordion>
</AccordionGroup>

## Repositórios

<CardGroup cols={3}>
  <Card title="SDK Node.js" icon="npm" href="https://github.com/pague-dev/sdk-node">
    Código fonte e documentação do SDK
  </Card>

  <Card title="SDK PHP" icon="php" href="https://github.com/MountBit/pague-dev-php-sdk">
    SDK para PHP pela comunidade
  </Card>

  <Card title="Exemplo Completo" icon="code" href="https://github.com/pague-dev/sdk-example">
    Aplicação React demonstrando o uso do SDK
  </Card>
</CardGroup>
