Criar cobrança Pix
POST /v1/charges — gera QR Code Pix com TXID único.
Cria cobrança Pix
Gera um QR Code Pix com TXID único. Suporta três variantes via discriminator variant: simple (estático, sem dados do pagador), debtor (com nome e documento do pagador) e cobv (com vencimento e multa).
Expiração do QR: envie expirationDate (ISO-8601 UTC com sufixo Z) ou expiresIn (TTL relativo em segundos, 60 a 2.592.000). Ambos opcionais; se vierem juntos, expiresIn tem precedência. Prefira expiresIn para evitar problemas de fuso horário. Datas em UTC: expirationDate, dueDate e fineDate sempre em UTC com sufixo Z. expiresAt na resposta volta em UTC-3 (Brasília). Regras da variante cobv: expirationDate deve ser pelo menos 1 dia depois de dueDate; fineDate normalmente é igual a dueDate (pode ser maior, nunca maior que expirationDate). Idempotency-Key é obrigatório em todas as variantes.
Headers
- AuthorizationObrigatóriostringBearer SUA_API_KEY
- Idempotency-KeyObrigatóriostringUUID para retry seguro.
- Content-TypeObrigatóriostringapplication/json
Body
- variantObrigatório"simple" | "debtor" | "cobv"Tipo da cobrança.
- amountCentsObrigatóriostringValor em centavos.
- expirationDatestring (ISO-8601 UTC)Quando o QR expira, em UTC com sufixo Z. Ex.: 2026-05-07T21:50:00.000Z (= 18:50 BRT). Opcional se expiresIn for informado.
- expiresIninteger (60–2592000)TTL relativo em segundos a partir da criação (60s até 30 dias = 2.592.000s). Alternativa a expirationDate que evita ambiguidades de fuso horário. Se ambos vierem, expiresIn tem precedência.
- tagstringTexto livre para conciliação interna. Volta no payload do webhook.
- externalRefstring (≤ 64)Referência externa do seu sistema (ex.: ID do pedido, da fatura). Até 64 caracteres. Permite consultar a cobrança depois via GET /v1/charges/external-ref/:externalRef.
- debtorNamestringNome do pagador (obrigatório em debtor e cobv).
- debtorDocumentstringCPF ou CNPJ do pagador, apenas dígitos (obrigatório em debtor e cobv).
- debtorTypeDocument"CPF" | "CNPJ"Tipo do documento (obrigatório em debtor e cobv).
- dueDatestring (ISO-8601 UTC)Data de vencimento — somente cobv.
- fineDatestring (ISO-8601 UTC)Data a partir da qual multa começa a incidir — somente cobv. Geralmente igual a dueDate.
- typeFine"NONE" | "VALUE" | "PERCENT"Tipo da multa — somente cobv. NONE desabilita.
- finenumberValor (em reais) ou percentual da multa — somente cobv.
Exemplo de requisição
curl -X POST https://api.staterpay.io/v1/charges \ -H "Authorization: Bearer SUA_API_KEY" \ -H "Idempotency-Key: 0947ab02-d7ae-428c-8681-fb8b57e8f4f6" \ -H "Content-Type: application/json" \ -d '{ "variant": "simple", "amountCents": "100", "expiresIn": 3600, "tag": "Assinatura mensal" }'Resposta
- chargeIdstringIdentificador interno da cobrança (cuid).
- status"PENDING" | "PAID" | "EXPIRED" | "REFUNDED"Estado atual.
- txidstringTXID Pix de 32 caracteres hexadecimais.
- brCodestringQR Code copia-e-cola (padrão BR Code do BCB).
- imageBase64stringPNG do QR em base64 cru (sem prefixo data:).
- imageUrlstring (URL)URL pública da imagem PNG hospedada.
- providerQrIdstringID do QR no provider Pix subjacente.
- expiresAtstring (ISO-8601 UTC-3)Quando o QR expira, retornado no fuso de Brasília.
- variantstringVariante criada (eco do request).
{ "chargeId": "cmoxample0001qkxyzcharge", "status": "PENDING", "txid": "79cefaf1d718440897cd80e682de6aa7", "brCode": "00020101021226920014br.gov.bcb.pix2570qrcode.staterpay.com.br/v2/qr/cob/79cefaf1-d718-4408-97cd-80e682de6aa75204000053039865802BR5921NOME EMPRESA LTDA6009SAO PAULO62070503***630449B2", "imageBase64": "iVBORw0KGgoAAAANSUhEUgAAAhIAAAISAQAAAACxRhsSAAA...", "imageUrl": "https://api.staterpay.com.br/v2/finance/image/qrcode/79cefaf1d718440897cd80e682de6aa7.png", "providerQrId": "0000000000", "expiresAt": "2026-05-07T18:50:00.000-03:00", "variant": "simple"}https://api.staterpay.io