Stater Platform

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.

POST/accounts/:accountId/pix/qrcode/payment

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ório
    string (UUID)
    ID da conta que vai pagar o QR Code.

Headers

  • AcceptObrigatório
    string
    application/json
  • Content-TypeObrigatório
    string
    application/json
  • AuthorizationObrigatório
    string
    Bearer <token> — JWT de /authenticate.
  • X-Tenant-IdObrigatório
    string (UUID)
    Identificador do tenant.

Body

  • qrCodeInfoIdObrigatório
    string (UUID)
    ID retornado em qrCode.id de POST /pix/qrcode/decode. Vincula o pagamento ao QR já decodificado.
  • amountObrigatório
    number
    Valor a pagar em reais (decimal). Em QR DYNAMIC precisa ser igual ao qrCode.amount; em STATIC pode ser editado pelo pagador.
  • pinObrigatório
    string
    PIN da entidade (4 dígitos numéricos, conforme política do tenant).

Exemplo de requisição

bash
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

  • transaction
    string (cuid)
    ID da transação registrada na conta. Aparece em /transactions como transactions[].id.
  • payout
    object
    Resumo do payout submetido ao provider.
  • payout.kind
    "submitted"
    Marca a criação como submetida.
  • payout.payoutId
    string (cuid)
    ID do payout no sistema Pix subjacente.
  • payout.status
    "PROCESSING" | "SUCCEEDED" | "FAILED" | "CANCELLED" | "REFUNDED"
    Estado inicial sempre PROCESSING.
  • payout.endToEndId
    string | null
    Sempre null na criação. Preenchido após liquidação no provider.
  • payout.providerTransactionId
    string
    ID da transação no provider Pix subjacente.
json
{  "transaction": "cmoxample0003qkxyzqrcode",  "payout": {    "kind": "submitted",    "payoutId": "cmoxample0003qkxyzqrcode",    "status": "PROCESSING",    "endToEndId": null,    "providerTransactionId": "00000000"  }}
URL base:https://baas.staterpay.io

On this page