Início rápido

Da criação da conta à primeira cobrança paga, em cinco passos.

Crie e verifique sua conta

Cadastre-se em app.weetpay.com e envie os documentos da verificação de identidade. A API só funciona depois da aprovação — antes disso toda chamada responde 403 com code: "KYC_REQUIRED".

Gere as credenciais

No painel, abra Desenvolvedores e revele as chaves com o seu PIN de transação. Você recebe:

  • Client ID — weetpay-<número da conta>, fixo para sempre;
  • Client secret — um UUID. Guarde num cofre de segredos; Atualizar credenciais gera um novo e invalida o anterior na hora.

Gere uma cobrança

curl -X POST https://api.weetpay.com/api/v1/gateway/request-qrcode \
  -H "Content-Type: application/json" \
  -H "vspi: $WEETPAY_CLIENT_ID" \
  -H "vsps: $WEETPAY_CLIENT_SECRET" \
  -d '{
    "requestNumber": "pedido-12345",
    "amount": 49.90,
    "callbackUrl": "https://sualoja.com.br/webhooks/weetpay",
    "client": { "name": "Maria da Silva", "document": "12345678909", "email": "[email protected]" }
  }'

A resposta traz o PIX copia e cola (paymentCode) e a imagem do QR Code (paymentCodeBase64):

{
  "idTransaction": "cmh1x2y3z0001ab12cd34ef56",
  "paymentCode": "00020101021226850014br.gov.bcb.pix…",
  "paymentCodeBase64": "iVBORw0KGgoAAAANSUhEUgAA…",
  "response": "OK",
  "status": "WAITING_FOR_APPROVAL"
}

Mostre ao cliente a imagem data:image/png;base64,{paymentCodeBase64} e um botão "copiar" com o paymentCode.

Receba o aviso de pagamento

Quando o PIX for pago, a WeetPay faz um POST no callbackUrl:

{
  "requestNumber": "pedido-12345",
  "statusTransaction": "PAID_OUT",
  "idTransaction": "cmh1x2y3z0001ab12cd34ef56",
  "typeTransaction": "PIX",
  "value": 49.9,
  "debtorName": "MARIA DA SILVA",
  "debtorDocument": "12345678909",
  "date": "2026-10-30T13:03:40.000Z",
  "endToEnd": "E18236120202610301303s0123456789"
}

Confira a assinatura X-WeetPay-Signature, libere o pedido e responda 200. Detalhes em Callbacks e webhooks.

Confira quando quiser

Use Consultar transação para checar o status a qualquer momento (por exemplo, quando o cliente volta para a página do pedido) e Consultar saldo para ver quanto está disponível.

Clientes de referência

Prontos para copiar, sem dependências:

import { weetpay } from './weetpay-client.mjs';

const { status, data } = await weetpay('POST', '/api/v1/gateway/request-qrcode', {
  requestNumber: 'pedido-12345',
  amount: 49.9,
  client: { name: 'Maria da Silva', document: '12345678909' },
});

Nesta página