Loja

Loja e checkout público

Listagem de lojas (própria + membros) e endpoints públicos do checkout /pay/{code}.

O checkout público não usa API Key — é a página de pagamento do cliente. Proteja apenas rotas de criação no backend.

Listar lojas

Retorna a loja do usuário e lojas em que ele é membro ativo.

GET/api/stores

Autenticação: sessão do dashboard (cookie Supabase)

Exemplo de resposta

{
  "stores": [
    {
      "id": "own-uuid",
      "name": "Minha loja",
      "dashSessionCode": "abc…",
      "role": "owner",
      "roleLabel": "Dono",
      "isOwn": true,
      "initial": "M"
    }
  ]
}

Obter checkout público

Carrega dados do link/cobrança/assinatura para a página /pay. code = bill_… ou link público.

GET/api/pay/{code}

Público — sem autenticação

Exemplo de resposta

{
  "ok": true,
  "link": {
    "code": "bill_…",
    "title": "Plano Pro",
    "amountCents": 9900,
    "amountLabel": "R$ 99,00",
    "methods": ["pix"],
    "storeName": "Minha loja",
    "kind": "payment_link",
    "customization": { /* cores, logo… */ },
    "prefill": null
  }
}

POST /api/pay/{code} — inicia pagamento (gera pedido + PIX) a partir do formulário do checkout.

POST /api/pay/{code}/coupon — valida e aplica cupom no checkout.

Status do pedido (checkout)

Consulta status do payment_order durante o polling do QR no checkout.

GET/api/pay/order/{id}

Público — sem autenticação

Exemplo de resposta

{
  "ok": true,
  "order": {
    "id": "uuid",
    "status": "paid",
    "amount_cents": 9900
  }
}