Criar cobrança Pix
POST /accounts/:accountId/charges — gera QR Code Pix nas variantes simple, debtor ou cobv.
Criar cobrança Pix
Cria uma cobrança Pix com QR Code (BR Code + imagem). Suporta 3 variantes: simple (QR sem devedor, expira em 15 min), debtor (QR imediato com dados do pagador, expira em 15 min) e cobv (cobrança com vencimento, multa e juros).
amountCents vai em centavos como string — "100" é R$ 1,00 (atenção: difere de outras rotas WL que aceitam valor decimal em reais). Mande Idempotency-Key em toda chamada pra evitar gerar QR duplicado em retry. simple/debtor expiram em 15 min após criação; cobv expira em expirationDate. Em cobv as datas têm contrato rígido: expirationDate sempre 1 dia após dueDate; fineDate (opcional) também precisa ser 1 dia após dueDate quando enviado. fine usa centavos quando typeFine=VALUE e percentual quando typeFine=PERCENT. brCode/imageBase64/imageUrl referenciam o mesmo QR — escolha o formato conforme o canal (texto pra Copia e Cola, base64 pra render inline, URL pra link/imagem remota).
Path params
- accountIdObrigatóriostring (UUID)ID da conta recebedora.
Headers
- AcceptObrigatóriostringapplication/json
- Content-TypeObrigatóriostringapplication/json
- AuthorizationObrigatóriostringBearer <token> — JWT de /authenticate.
- X-Tenant-IdObrigatóriostring (UUID)Identificador do tenant.
- Idempotency-Keystring (UUID)Chave de idempotência por requisição. Recomendado em todas as criações pra evitar cobrança duplicada em retry.
Body
- variantObrigatório"simple" | "debtor" | "cobv"Tipo da cobrança. simple = QR sem devedor; debtor = QR com dados do pagador; cobv = cobrança com vencimento (multa/juros).
- amountCentsObrigatóriostringValor da cobrança em centavos, como string. Ex.: "100" = R$ 1,00; "1000" = R$ 10,00.
- tagstringIdentificador livre (ex.: número do pedido) — devolve no webhook de liquidação.
- debtorNamestringNome do pagador. Obrigatório em variant=debtor e variant=cobv.
- debtorDocumentstringCPF (11 dígitos) ou CNPJ (14 dígitos) do pagador, apenas números. Obrigatório em variant=debtor e variant=cobv.
- debtorTypeDocument"CPF" | "CNPJ"Tipo do documento do pagador. Obrigatório em variant=debtor e variant=cobv.
- dueDatestring (ISO 8601)Data de vencimento. Obrigatório em variant=cobv.
- expirationDatestring (ISO 8601)Data limite para pagamento após o vencimento. Obrigatório em variant=cobv e deve ser sempre 1 dia após dueDate.
- fineDatestring (ISO 8601)Data a partir da qual a multa começa a valer. Opcional em variant=cobv; quando enviado, precisa ser 1 dia após dueDate.
- typeFine"VALUE" | "PERCENT"Modo de cálculo da multa em variant=cobv. VALUE = valor fixo em centavos; PERCENT = percentual sobre o amountCents.
- finenumberValor da multa. Em typeFine=VALUE vai em centavos (ex.: 1000 = R$ 10,00); em typeFine=PERCENT vai como percentual (ex.: 2 = 2%).
Exemplo de requisição
curl -X POST https://baas.staterpay.io/accounts/00000000-0000-0000-0000-000000000010/charges \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.<payload>.<signature>" \ -H "X-Tenant-Id: 00000000-0000-0000-0000-000000000000" \ -H "Idempotency-Key: 00000000-0000-0000-0000-0000000000f1" \ -d '{ "variant": "simple", "amountCents": "100", "tag": "Pedido 123" }'Resposta
- chargeIdstring (cuid)ID interno da cobrança — use pra consultar status posterior.
- status"PENDING" | "PAID" | "EXPIRED" | "REFUNDED"Estado inicial sempre PENDING.
- txidstringIdentificador do BCB embutido no brCode (32 caracteres hex).
- brCodestringPayload Pix Copia e Cola — o pagador pode colar direto no app do banco.
- imageBase64stringPNG do QR Code codificado em base64 (sem prefixo data:image). Útil pra render inline.
- imageUrlstringURL pública do PNG do QR Code, hospedada pela Stater.
- providerQrIdstringID da cobrança no provider Pix subjacente.
- expiresAtstring (ISO 8601)Quando a cobrança expira. Em simple/debtor = createdAt + 15 min; em cobv = expirationDate enviado no body.
- variant"simple" | "debtor" | "cobv"Eco do variant enviado.
{ "chargeId": "cmoxample0004qkxyzcharge", "status": "PENDING", "txid": "00000000000000000000000000000000", "brCode": "00020101021226920014br.gov.bcb.pix2570qrcode.staterpay.com.br/v2/qr/cob/00000000-0000-0000-0000-0000000000005204000053039865802BR5912FULANO DE TAL6009SAO PAULO62070503***6304XXXX", "imageBase64": "iVBORw0KGgoAAAANSUhEUgAA...truncado", "imageUrl": "https://api.staterpay.com.br/v2/finance/image/qrcode/00000000000000000000000000000000.png", "providerQrId": "00000000", "expiresAt": "2026-05-14T08:16:28.467-03:00", "variant": "simple"}https://baas.staterpay.io