API Reference

Payment with Dynamic QR Code

Dynamic QR Code

Payment initialization

This endpoint will provide the basic data related to the payload/QR Code consulted. Beyond that, it will provide the "endToEndId" attribute which will be required in the transfer endpoint.

Below is the request and response example. For more details on this endpoint, click here.

{
    "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"
        }
    ]
}

Below is the list of amounts returned for initiating payment via Dynamic QR Code with immediate payment

NameDescription
key Key related to the beneficiary client
endToEndId Key related to the beneficiary client
typeQR Code type. Domain:

- QR_CODE_STATIC - Static QR Code
- DYNAMIC_IMMEDIATE_PAYMENT - Dynamic QR code with immediate payment
- DYNAMIC_PAYMENT_WITH_EXPIRATION - Dynamic QR Code with expiration time
initiationType[Helper Variable] Initialization type that must be utilized while carrying out the payment. Domain:

- QR_CODE_STATIC
- QR_CODE_DYNAMIC
statusCharge situation. Domain:

- ACTIVE (The QR code can be used)
- CONCLUDED(The QR code has been paid)
- REMOVED_BY_THE_RECEIVER (The QR code has been removed by the creator)
- REMOVED_BY_PSP (The QR code has been removed by the PSP)
transactionIdBeneficiary conciliation Id
categoryCodeBeneficiary client category code. Default "0000"
expirationTimeLimit for QR Code expiration, with a granularity of seconds, so that payment of the charge can be made.
allowChangeAmountIndicates which if the amount value can be changed
createdAtIn the moment which the Dynamic QR Code was created:
UTC format: yyyy-mm-ddTHH:mm.ss.sssZ
capturedAtMoment in which the payer client captured the QR Code to verify the payment date (API requisition instant).
UTC format: yyyy-mm-ddTHH:mm.ss.sssZ

Carrying out the payment

Utilizes the endToEndId while carrying out the payment initialization. Remembering that the "endToEndId" expires and it will only be utilized once.

The payment is like the key with a key, adding a few informations listed below:

FieldDescriptionAbout
transactionIdTransaction Id utilized while generating the QR Code by the beneficiary client. This will be used in the conciliation process.This value will be returned after the QR Code payment initialization .Provide the value that will be in the field transactionId
initiationType Type of initialization utilized by the paymentThis will be filled in according to the type of QR Code/Payload returned by the payment initialization consulting. Below are the possible values:

- QR_CODE_STATIC
- QR_CODE_DYNAMICIn the case which the type being QR_CODE_STATIC, utilize the initiationType as QR_CODE_STATIC, otherwise, send the initiationType as QR_CODE_DYNAMIC

In summary, the transactionId value of the payment initiation response will be used as the transactionId in making the payment, and the type of value of the payment initiation response will be used as the initiationType in making the payment.

Related to converting the QR Code/Payload initiation type to the initialization type when making the payment.

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

Below is the request and response example. For more details on this endpoint, click here.

// 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"
        }
    }
}