Stater Platform
API Reference

Decodificar QR Code Pix

POST /v1/qr-code/decode — primeiro passo para pagar QR Code.

Decodifica QR Code Pix

Primeiro passo do fluxo Pagar QR Code: interpreta o copia-e-cola e devolve dados do beneficiário, valor (quando o QR tem valor pré-definido) e detalhes específicos do tipo (estático, dinâmico imediato ou dinâmico cobrança).

POST/v1/qr-code/decode

Os blocos data* são mutuamente exclusivos: apenas o que corresponde ao qrType vem preenchido, os demais ficam null. DYNAMIC_IMMEDIATE traz expiration, original_value, allows_change_value e suporte a saque/troco/cashback. DYNAMIC_CHARGE traz due_date, fees, fine, abatement, discount, final_value e days_allowed_pay_after_due (cobrança com vencimento). Os campos dentro de data* vêm em snake_case por refletirem o payload bruto do provider.

Headers

  • AuthorizationObrigatório
    string
    Bearer SUA_API_KEY
  • Idempotency-KeyObrigatório
    string
    UUID para retry seguro.
  • Content-TypeObrigatório
    string
    application/json

Body

  • pixCopyAndPasteObrigatório
    string
    QR Code Pix completo (copia-e-cola, padrão BR Code).

Exemplo de requisição

bash
curl -X POST https://api.staterpay.io/v1/qr-code/decode \  -H "Authorization: Bearer SUA_API_KEY" \  -H "Idempotency-Key: ef0758e1-a475-4f32-ac84-5cf4e4546089" \  -H "Content-Type: application/json" \  -d '{    "pixCopyAndPaste": "00020126580014BR.GOV.BCB.PIX0136f3e7b544-2510-4d84-a262-8bfe14eef00852040000530398654041.005802BR5921Fulano de Tal6009SAO PAULO61080540900062240520ZGjmjzMYwgRaBfd2yojr630459C8"  }'

Resposta

  • id
    string
    Identificador da decodificação. Use em POST /v1/payouts/qr-code como qrCodeDecodeId.
  • endToEndId
    string
    EndToEndId reservado para esta operação.
  • qrType
    "STATIC" | "DYNAMIC_IMMEDIATE" | "DYNAMIC_CHARGE"
    Tipo do QR.
  • ispb
    string
    ISPB da instituição do beneficiário.
  • agency
    string
    Agência do beneficiário.
  • account
    string
    Conta do beneficiário.
  • accountType
    "PAYMENT" | "CURRENT" | "SAVINGS"
    Tipo da conta do beneficiário.
  • key
    string
    Chave Pix.
  • keyType
    "EMAIL" | "PHONE" | "CPF" | "CNPJ" | "EVP"
    Tipo da chave.
  • receiverName
    string
    Nome do beneficiário.
  • receiverFantasyName
    string | null
    Nome fantasia, quando informado.
  • receiverDocumentType
    "CPF" | "CNPJ"
    Tipo do documento.
  • receiverDocumentLegalId
    string
    Documento (CPF/CNPJ) — apenas dígitos.
  • amountCents
    string | null
    Valor do QR em centavos. null em QR estático sem valor; preenchido em QR dinâmico ou estático com valor fixo.
  • dataStatic
    object | null
    Detalhes específicos quando qrType = STATIC.
  • dataDynamicImmediate
    object | null
    Detalhes específicos quando qrType = DYNAMIC_IMMEDIATE.
  • dataDynamicCharge
    object | null
    Detalhes específicos quando qrType = DYNAMIC_CHARGE — inclui dueDate, fees, fine, abatement, discount, final_value.
  • dataCompound
    object | null
    Reservado para QR composto (saque/troco). null nos casos comuns.
  • cached
    boolean
    true quando a resposta veio de cache interno (não acionou o provider).
json
{  "id": "cmoxample0001qkxyzdecode",  "endToEndId": "E37319859202605072204ZWKK6E95W85",  "qrType": "STATIC",  "ispb": "18236120",  "agency": "0001",  "account": "49773517",  "accountType": "PAYMENT",  "key": "f3e7b544-2510-4d84-a262-8bfe14eef008",  "keyType": "EVP",  "receiverName": "Fulano de Tal",  "receiverFantasyName": null,  "receiverDocumentType": "CPF",  "receiverDocumentLegalId": "12345678900",  "amountCents": "100",  "dataStatic": {    "category_code": null,    "value": 1,    "allows_change_value": false,    "city": "SAO PAULO",    "postal_code": "05409000",    "conciliation_id": "ZGjmjzMYwgRaBfd2yojr",    "additional_data": null,    "ispb_fss": null  },  "dataDynamicImmediate": null,  "dataDynamicCharge": null,  "dataCompound": null,  "cached": false}
URL base:https://api.staterpay.io

On this page