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

# Introdução

> O V4 Pay é um gateway de cobrança Pix: você cria a cobrança, o cliente paga, você recebe.

## O que é

O V4 Pay emite cobranças Pix em nome do seu negócio — pelo painel, sem escrever código,
ou pela API. O cliente paga pelo QR code ou pelo copia-e-cola, a confirmação chega
sozinha, e o seu sistema pode ser avisado por webhook.

<CardGroup cols={2}>
  <Card title="Sou lojista" icon="store" href="/quickstart#pelo-painel">
    Quero criar cobranças, links de pagamento e acompanhar recebimentos pelo painel.
    Sem código.
  </Card>

  <Card title="Sou desenvolvedor" icon="code" href="/quickstart#pela-api">
    Quero gerar cobranças pelo meu sistema e ser avisado quando o cliente pagar.
  </Card>
</CardGroup>

## Para onde vai o dinheiro

O V4 Pay opera em um de dois **modos de recebimento** — qual está ativo é configuração
do servidor, e [Modo de recebimento](/modo-de-recebimento) explica cada um em detalhe:

|                       | Conta única (em operação hoje)                    | Subconta (destino)                               |
| --------------------- | ------------------------------------------------- | ------------------------------------------------ |
| Onde o dinheiro cai   | na conta do V4 Pay; o repasse ao lojista é manual | direto na conta do lojista, via subconta própria |
| Taxa do V4 Pay        | acertada no repasse                               | separada na origem (split)                       |
| Saque pela plataforma | suspenso (`REPASSE_MANUAL`)                       | não se aplica                                    |

Em qualquer modo, operar em produção exige a
[aprovação de produção](/aprovacao-de-producao): conta nova começa em modo teste, e a
equipe libera depois de analisar os dados da empresa e os documentos.

## O que dá para fazer

<CardGroup cols={3}>
  <Card title="Cobranças Pix" icon="qrcode" href="/cobrancas">
    QR code e copia-e-cola, com confirmação automática.
  </Card>

  <Card title="Links de pagamento" icon="link" href="/links-e-checkout">
    Uma URL pública que abre o checkout com o valor já definido.
  </Card>

  <Card title="Assinaturas" icon="repeat" href="/assinaturas">
    Cobrança recorrente, gerada por um cron diário.
  </Card>

  <Card title="Cupons e produtos" icon="tag" href="/links-e-checkout#cupom-no-checkout">
    Catálogo e descontos aplicados no checkout.
  </Card>

  <Card title="Webhooks" icon="bell" href="/webhooks">
    Seu servidor é avisado quando algo acontece, com assinatura HMAC.
  </Card>

  <Card title="Chaves de API" icon="key" href="/authentication">
    Uma chave por integração, revogável a qualquer momento.
  </Card>
</CardGroup>

## Como a API responde

Toda resposta é JSON. Sucesso vem dentro de `data`:

```json theme={null}
{ "data": { "txid": "9f3a1c2b4d5e6f70...", "status": "pending" } }
```

Erro vem dentro de `error`, com uma mensagem em português — e, nos erros de negócio, um
`codigo` estável para o seu código tratar (a lista completa está em
[Erros e códigos](/erros-e-codigos)):

```json theme={null}
{ "error": { "message": "O valor mínimo de uma cobrança é R$ 5,00.", "codigo": "VALOR_MINIMO" } }
```

<Warning>
  Há **uma exceção**, herdada do middleware de autenticação: quando o token está ausente,
  inválido ou a chave foi revogada, `error` é uma **string**, não um objeto:
  `{ "error": "Token JWT ou chave de API ausente" }`. Trate os dois formatos.
</Warning>

## Ambientes

|                | URL                               |
| -------------- | --------------------------------- |
| API (produção) | `https://v4pay-api.vercel.app`    |
| Painel         | `https://pay.v4companyamaral.com` |
| API (local)    | `http://localhost:3000`           |

Existe também um **modo de teste** por requisição, completo e sem dinheiro de verdade —
é onde toda conta nova começa. Veja [Ambiente de testes](/ambiente-de-testes).
