API Reference
Log In
API Reference

Pagamento com QR Code Estático

Pix com QR-Code Estático

O processo de realizar este pagamento, inicialmente deve ser realizado uma inicialização de pagamento, a fim de validar as informações, como a conta, valor, endToEndId, etc. Uma vez realizado a inicialização de pagamento, deve ser efetivado o pagamento com as informações retornadas no processo de inicialização de pagamento.

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.

POST 'https://apisandbox.delbank.com.br/baas/api/v2/pix/qrcode/payment-initialization'
curl --request POST \
     --url https://apisandbox.delbank.com.br/baas/api/v2/pix/qrcode/payment-initialization \
     --header 'IdempotencyKey: 9d16ea35-8a85-49ea-a41e-bcf56c677129' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'x-delbank-api-key: {{apiKey}}' \
     --data '
{
	"payload": "00020126890014br.gov.bcb.pix01365b0ac9a4-fad6-43f9-be70-6d7c9a2fad260227Informacao do PSP Recebedor5204000053039865802BR5920HOMOLOGACAO INTEGRAC6007ARACAJU62290525charge000000000000008342263048919"
}
'
// response qr-code-static
{
    "key": "4004901d-bd85-4769-8e52-cb4c42c506dc",
    "endToEndId": "E3822485720230801135023201713368",
    "transactionId": "15c3f2d4a28e4c47b0a21a0f2",
    "allowChangeAmount": false,
    "categoryCode": "0000",
    "type": "QR_CODE_STATIC",
    "initiationType": "QR_CODE_STATIC",
    "amount": 675.94,
    "originalAmount": 675.94,
    "beneficiary": {
        "number": "12345678",
        "branch": "0001",
        "type": "CURRENT",
        "participant": {
            "name": "BACEN TESTER",
            "ispb": "99999008"
        },
        "holder": {
            "name": "QRTESTER",
            "document": "11111111000191",
            "type": "LEGAL"
        }
    },
    "additionalInfos": [
        {
            "name": "info",
            "value": "Jornada pagador 12843"
        }
    ]
}

Segue abaixo a relação dos valores retornados para a iniciação de pagamento via QR Code Estático:

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"
allowChangeAmountIndica se o pagador poderá alterar o valor da cobrança

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": 9.99,
  "description": "description",
  "endToEndId": "E3822485720230707145006337041738",
  "transactionId": "charge0000000000000083422",
  "initiationType": "QR_CODE_STATIC"
}

// response
{
    "id": "6742e640-f795-420a-8763-38e139eb1af7",
    "endToEndId": "E3822485720230801135023201713368",
    "transactionNsu": 721962,
    "status": "PIX_PROCESSING",
    "type": "PIX_QR_CODE_STATIC",
    "amount": 675.94,
    "createdAt": "2023-08-01T13:51:18.225Z",
    "description": "description",
    "payer": {
        "number": "31712",
        "branch": "0001",
        "type": "CURRENT",
        "holder": {
            "document": "32752023000149",
            "name": "bxxdbde",
            "type": "LEGAL"
        },
        "participant": {
            "name": "DELBANK",
            "ispb": "38224857"
        }
    },
    "beneficiary": {
        "number": "12345678",
        "branch": "0001",
        "type": "CURRENT",
        "holder": {
            "document": "11111111000191",
            "name": "QRTESTER",
            "type": "LEGAL"
        },
        "participant": {
            "name": "BACEN TESTER",
            "ispb": "99999008"
        }
    }
}