API Reference
Log In
API Reference

Pagamento com QR Code Dinâmico

QR-Code Dinâmico

Inicialização de pagamento

Este endpoint vai te fornecer dados básicos relativos ao payload/qrcode consultado, Além disso, ele fornecerá o atributo "endToEndId" que será cobrado pelo endpoint de transferência.

Segue abaixo o exemplo de request e response. Para mais detalhes do endpoint, clique aqui.

{
    "payload": "00020101021226850014br.gov.bcb.pix2563pix-h.delbank.com.br/v1/qrcode/charge3rRpryWmbSbn0FxuhHDeF4ngLE5204000053039865802BR5925HOMOLOGACAO INTEGRACAO AP6007ARACAJU62070503***63049D66"
}
{
    "key": "5b0ac9a4-fad6-43f9-be70-6d7c9a2fad26",
    "endToEndId": "E3822485720230801135525927150397",
    "transactionId": "chargerNAuMldwyUFH5TXacb8rQ8EH1F",
    "expirationTime": 60,
    "allowChangeAmount": false,
    "categoryCode": "0000",
    "createdAt": "2023-07-13T20:38:34.272Z",
    "capturedAt": "2023-08-01T13:55:25.934Z",
    "type": "DYNAMIC_IMMEDIATE_PAYMENT",
    "initiationType": "QR_CODE_DYNAMIC",
    "status": "CONCLUDED",
    "amount": 0.12,
    "originalAmount": 0.12,
    "payer": {
        "name": "FULANO CICLANO",
        "document": "16166823533"
    },
    "beneficiary": {
        "number": "29823",
        "branch": "0001",
        "type": "CURRENT",
        "participant": {
            "name": "DELBANK",
            "ispb": "38224857"
        },
        "holder": {
            "name": "HOMOLOGACAO INTEGRACAO API",
            "document": "30287697789",
            "type": "NATURAL"
        }
    },
    "additionalInfos": [
        {
            "name": "Campo 1",
            "value": "Informação Adicional1 do PSP-Recebedor"
        },
        {
            "name": "Campo 2",
            "value": "Informação Adicional2 do PSP-Recebedor"
        }
    ]
}

Segue abaixo a relação dos valores retornados para a iniciação de pagamento via QR Code Dinâmico com pagamento imediato

NomeDescrição
keyChave da conta do cliente recebedor
endToEndIdIdentificador único da transação de pagamento
typeTipo de QR Code. Domínio:
- QR_CODE_STATIC - QR Code Estático
- DYNAMIC_IMMEDIATE_PAYMENT - QR Code Dinâmico com pagamento imediato
- DYNAMIC_PAYMENT_WITH_EXPIRATION - QR Code Dinâmico com vencimento
initiationType[Variável auxiliar] Tipo de inicialização que deve ser utilizado na efetivação de pagamento. Domínio:
- QR_CODE_STATIC
- QR_CODE_DYNAMIC
statusSituação da cobrança. Domínio:
- ACTIVE
- CONCLUDED
- REMOVED_BY_THE_RECEIVER
- REMOVED_BY_PSP
transactionIdIdentificador para Conciliação do Recebedor
categoryCodeCódigo da categoria do cliente recebedor.
Default "0000"
expirationTimeLimite para expiração do QRCode, com granularidade de
segundos, para que o pagamento da cobrança possa ser
realizado
allowChangeAmountIndica se o pagador poderá alterar o valor da cobrança
createdAtMomento no qual o QR Dinâmico foi criado.
Formato UTC: aaaa-mm-ddTHH:mm:ss.sssZ
capturedAtMomento no qual o cliente pagador capturou o QR Code para verificar os dados de pagamento (momento da requisição desta API).
Formato UTC: aaaa-mm-ddTHH:mm:ss.sssZ

Efetivação de transferência/pagamento

Utilizar o endToEndId retornado na consulta de inicialização de pagamento. Lembrando que o "endToEndId" expira e só pode ser utilizado uma única vez.

O processo é similar ao pagamento com chave, acrescido de algumas informações conforme a tabela abaixo:

CampoDescriçãoComo informar
transactionIdTransação Id utilizado na geração do QR-Code pelo cliente recebedora fim de possibilitar seu processo de conciliaçãoEste valor será retornado após a inicialização de pagamento via QR-Code/Payload. Informar o valor que está no campo transactionId
initiationTypeTipo de inicialização de pagamento utilizadoEste deve deve ser preenchindo conforme o tipo type de QR-Code/Payload retornado na consulta de inicialização de pagamento. Segue abaixo os possíveis valores:

- QR_CODE_STATIC
- QR_CODE_DYNAMIC

Caso o type seja QR_CODE_STATIC, utilizar initiationType como QR_CODE_STATIC, caso contrário, enviar initiationType como QR_CODE_DYNAMIC

Em resumo, o valor transactionId da resposta da inicialização de pagamento, será utilizado como o transactionIdna efetiviação de pagamento, e o valor type da resposta da inicialização de pagamento, será utilizado como initiationType na efetivação de pagamento.

Relação da conversão do tipo de QR-Code/Payload para o tipo de inicialização na efetivação do pagamento

  • QR_CODE_STATIC -> QR_CODE_STATIC
  • DYNAMIC_IMMEDIATE_PAYMENT -> QR_CODE_DYNAMIC
  • DYNAMIC_PAYMENT_WITH_EXPIRATION -> QR_CODE_DYNAMIC

Segue abaixo um exemplo de request e response. Para mais detalhes deste endpoint, clique aqui.

// request
{
  "amount": 0.12,
  "description": "description",
  "endToEndId": "E3822485720230801135525927150397",
  "transactionId": "charge3rRpryWmbSbn0FxuhHDeF4ngLE",
  "initiationType": "QR_CODE_DYNAMIC"
}

// response
{
    "id": "ea381676-6673-420a-8eea-a89d7b3edb20",
    "endToEndId": "E3822485720230801135525927150397",
    "transactionNsu": 721963,
    "status": "PIX_PROCESSING",
    "type": "PIX_QR_CODE_DYNAMIC",
    "amount": 0.12,
    "createdAt": "2023-08-01T14:08:12.162Z",
    "description": "description",
    "payer": {
        "number": "31712",
        "branch": "0001",
        "type": "CURRENT",
        "holder": {
            "document": "32752023000149",
            "name": "bxxdbde",
            "type": "LEGAL"
        },
        "participant": {
            "name": "DELBANK",
            "ispb": "38224857"
        }
    },
    "beneficiary": {
        "number": "29823",
        "branch": "0001",
        "type": "CURRENT",
        "holder": {
            "document": "30287697789",
            "name": "HOMOLOGACAO INTEGRACAO API",
            "type": "NATURAL"
        },
        "participant": {
            "name": "DELBANK",
            "ispb": "38224857"
        }
    }
}