Pagar QR Code Pix
POST /accounts/:accountId/pix/qrcode/payment — etapa 2 do fluxo (efetiva o pagamento do QR).
Pagar QR Code Pix
Etapa 2 do fluxo de pagamento por QR Code: efetiva o Pix usando o qrCodeInfoId retornado em /pix/qrcode/decode. Retorna imediatamente com status PROCESSING — o endToEndId definitivo só é emitido após a confirmação do provider.
Etapa 2 de 2. Antes desta chamada, sempre faça POST /pix/qrcode/decode pra ler o EMV e obter o qrCodeInfoId — não é possível pagar enviando o EMV bruto. amount em reais decimal (atenção: diferente da API Pix base, que usa centavos string). Em QR DYNAMIC envie o mesmo amount que veio em qrCode.amount — divergência retorna 4xx. Em STATIC o pagador escolhe o valor. PIN incorreto retorna 4xx. O status final (SUCCEEDED, FAILED, etc.) chega por reconciliação — consulte a transação por id em /accounts/:accountId/transactions ou aguarde callbacks.
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
- qrCodeInfoIdObrigatóriostring (UUID)ID retornado em qrCode.id de POST /pix/qrcode/decode. Vincula o pagamento ao QR já decodificado.
- amountObrigatórionumberValor a pagar em reais (decimal). Em QR DYNAMIC precisa ser igual ao qrCode.amount; em STATIC pode ser editado pelo pagador.
- pinObrigatóriostringPIN da entidade (4 dígitos numéricos, conforme política do tenant).
Exemplo de requisição
curl -X POST https://baas.staterpay.io/accounts/00000000-0000-0000-0000-000000000010/pix/qrcode/payment \ -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 '{ "qrCodeInfoId": "00000000-0000-0000-0000-0000000000e1", "amount": 1, "pin": "1234" }'Resposta
- transactionstring (cuid)ID da transação registrada na conta. Aparece em /transactions como transactions[].id.
- payoutobjectResumo do payout submetido ao provider.
- payout.kind"submitted"Marca a criação como submetida.
- payout.payoutIdstring (cuid)ID do payout no sistema Pix subjacente.
- payout.status"PROCESSING" | "SUCCEEDED" | "FAILED" | "CANCELLED" | "REFUNDED"Estado inicial sempre PROCESSING.
- payout.endToEndIdstring | nullSempre null na criação. Preenchido após liquidação no provider.
- payout.providerTransactionIdstringID da transação no provider Pix subjacente.
{ "transaction": "cmoxample0003qkxyzqrcode", "payout": { "kind": "submitted", "payoutId": "cmoxample0003qkxyzqrcode", "status": "PROCESSING", "endToEndId": null, "providerTransactionId": "00000000" }}https://baas.staterpay.io