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

# Fluxo de pagamento

> Os dois caminhos para receber pela Cakto: link de checkout hospedado ou cobrança direta pela API.

Há duas formas de receber um pagamento pela Cakto, e a escolha entre elas define o resto da integração.

<CardGroup cols={2}>
  <Card title="Checkout hospedado" icon="cart-shopping">
    Você cria um produto e compartilha um link. A Cakto exibe a página de pagamento, coleta os dados do comprador e processa a transação.
  </Card>

  <Card title="Cobrança direta pela API" icon="bolt">
    Você já tem o seu próprio formulário de pagamento e quer apenas processar a transação pela Cakto, sem passar pelo checkout hospedado.
  </Card>
</CardGroup>

## Caminho 1 — criar produto já cria o checkout

<Note>
  **Não existe um endpoint "criar checkout".** Ao criar um produto, a Cakto já gera automaticamente a oferta padrão, o checkout e o link de pagamento.
</Note>

O passo a passo:

<Steps>
  <Step title="Crie o produto">
    `POST /public_api/products/` — cria o produto e, junto, a oferta padrão, o checkout e o link.
  </Step>

  <Step title="Liste os checkouts do produto">
    `GET /public_api/products/{id}/checkouts/` — o checkout padrão vem com `default: true`.
  </Step>

  <Step title="Abra o detalhe do checkout">
    `GET /public_api/products/{id}/checkouts/{checkout_id}/` — traz a oferta vinculada, no campo `offers`.
  </Step>

  <Step title="Compartilhe o link">
    O link público final é `https://pay.cakto.com.br/{id_da_oferta}` — um domínio **diferente** de `api.cakto.com.br`.
  </Step>
</Steps>

O passo a passo completo, com os comandos prontos, está em [Criar um checkout](/comece-aqui/criar-checkout). Para ajustar a aparência da página, veja [Estrutura do Checkout](/conceitos/checkout-builder).

## Caminho 2 — cobrar diretamente pela API

`POST /public_api/payments/` cria uma cobrança (Pix, Pix Automático, boleto ou cartão) sem passar pelo checkout hospedado. É o caminho de quem já tem o próprio formulário de pagamento.

Os campos variam por método — cada um tem sua própria página de referência:

<CardGroup cols={2}>
  <Card title="Pix" icon="qrcode" href="/api-reference/payments/create-pix">
    QR Code copia-e-cola
  </Card>

  <Card title="Pix Automático" icon="repeat" href="/api-reference/payments/create-pix-auto">
    Autorização de débito recorrente
  </Card>

  <Card title="Boleto" icon="barcode" href="/api-reference/payments/create-boleto">
    Linha digitável e PDF
  </Card>

  <Card title="Cartão" icon="credit-card" href="/api-reference/payments/create-card">
    Token de cartão obtido no front-end
  </Card>
</CardGroup>

Cartão com autenticação do emissor tem endpoint próprio: [Criar Cobrança 3DS](/api-reference/payments/create-3ds).

<Warning>
  O header `X-Idempotency-Key` é **obrigatório** nessa chamada: sem ele, a resposta é `400`. Veja [Idempotência](/conceitos/idempotencia).
</Warning>

### Pré-requisito: conta Cakto Banking para Pix e boleto

`pix`, `pix_auto` e `boleto` só são aceitos se o produtor tiver uma conta **Cakto Banking** com abertura concluída, ativa, marcada como principal e sem encerramento em curso — é nela que esses métodos liquidam. Sem isso, a cobrança volta `400` no campo `paymentMethod`, antes de chegar à adquirente.

`credit_card` e `threeDs` ficam **fora** desse gate e funcionam sem conta Banking.

A API pública não expõe endpoint para consultar o status dessa conta: os dois jeitos de descobrir são a resposta `400` da cobrança e o [Painel Cakto](https://app.cakto.com.br/dashboard). As quatro condições exatas estão em [Pré-requisitos](/api-reference/payments/create-pix#pré-requisitos).

## Order bumps

Para oferecer um item complementar no mesmo checkout, sem um segundo fechamento:

```bash theme={null}
POST /public_api/products/{id}/bumps/
```

O item aparece como oferta adicional, de um clique, antes do fechamento da compra principal. Veja [Criar Order Bump](/api-reference/order-bumps/create).

## Próximos passos

<CardGroup cols={2}>
  <Card title="Receber sua primeira venda" icon="cart-plus" href="/comece-aqui/receber-primeira-venda">
    Do produto ao webhook de venda aprovada
  </Card>

  <Card title="Glossário" icon="book-open" href="/conceitos/glossario">
    Como produto, oferta, checkout e pedido se relacionam
  </Card>
</CardGroup>
