Decodificar QR Code Pix
POST /accounts/:accountId/pix/qrcode/decode — etapa 1 do fluxo de pagamento por QR Code.
Decodificar QR Code Pix
Etapa 1 do fluxo de pagamento por QR Code: decodifica o payload EMV (Pix Copia e Cola ou QR escaneado) e devolve um qrCodeInfoId pra ser usado no POST /pix/qrcode/payment. A consulta também resolve o destinatário via DICT pra confirmação visual antes do envio.
Etapa 1 de 2. Aceita tanto Pix Copia e Cola quanto o EMV lido por leitor de QR — ambos seguem o padrão BR Code. type=STATIC indica QR aberto (valor opcional/editável pelo pagador), type=DYNAMIC indica valor fixado pelo recebedor — respeite isso na UI antes de chamar /pix/qrcode/payment. amount=0 em STATIC significa que o pagador escolhe o valor. document vem sem máscara porque é a base da confirmação visual antes do envio. Guarde o qrCode.id e passe como qrCodeInfoId na etapa 2.
Path params
- accountIdObrigatóriostring (UUID)ID da conta que vai pagar o QR Code.
Headers
- AcceptObrigatóriostringapplication/json
- Content-TypeObrigatóriostringapplication/json
- AuthorizationObrigatóriostringBearer <token> — JWT de /authenticate.
- X-Tenant-IdObrigatóriostring (UUID)Identificador do tenant.
Body
- emvObrigatóriostringPayload EMV do QR Code (string Pix Copia e Cola, padrão BR Code). Pode vir de QR estático ou dinâmico.
Exemplo de requisição
curl -X POST https://baas.staterpay.io/accounts/00000000-0000-0000-0000-000000000010/pix/qrcode/decode \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.<payload>.<signature>" \ -H "X-Tenant-Id: 00000000-0000-0000-0000-000000000000" \ -d '{ "emv": "00020126580014BR.GOV.BCB.PIX013600000000-0000-0000-0000-0000000000e052040000530398654041.005802BR5912Fulano de Tal6009SAO PAULO610805409000622405200000000000000000000630400000" }'Resposta
- qrCodeobjectDados decodificados do QR Code.
- qrCode.idstring (UUID)ID interno desta decodificação — use como qrCodeInfoId em /pix/qrcode/payment.
- qrCode.type"STATIC" | "DYNAMIC"Tipo do QR: STATIC permite valor editável pelo pagador; DYNAMIC vem com valor fixado pelo recebedor.
- qrCode.txIdstringIdentificador da transação embutido no EMV.
- qrCode.keystringChave Pix do recebedor extraída do EMV.
- qrCode.ispbstringCódigo ISPB (8 dígitos) da instituição do recebedor.
- qrCode.documentstringCPF/CNPJ do recebedor (sem máscara — vem direto do DICT pra confirmação visual).
- qrCode.namestringNome ou razão social do recebedor.
- qrCode.bankNamestringNome do banco do recebedor.
- qrCode.bankCodestringCódigo COMPE (3 dígitos) do banco.
- qrCode.endToEndIdstringEndToEndId reservado pela Stater para esse pagamento. Será usado quando a transferência for efetivada.
- qrCode.amountnumberValor em reais decimal embutido no QR. Em QR STATIC pode ser 0 (pagador define o valor); em DYNAMIC é o valor fixado.
{ "qrCode": { "id": "00000000-0000-0000-0000-0000000000e1", "type": "STATIC", "txId": "00000000000000000000", "key": "00000000-0000-0000-0000-0000000000e0", "ispb": "12345678", "document": "12345678900", "name": "Fulano de Tal", "bankName": "BANCO EXEMPLO S.A.", "bankCode": "999", "endToEndId": "00000000-0000-0000-0000-0000000000e2", "amount": 1 }}https://baas.staterpay.io