Composite QR Code Creation
This page will go through the creation of all the available Automatic Pix QR codes
Composite QR code
This endpoint is used in journey 2 to create a QR code containing the recurring payment contract
Request
POST 'https://apisandbox.delbank.com.br/baas/api/v1/pix/qrcode/recurrences'
Headers
| Name | Description |
|---|---|
| x-delbank-api-key | Required. API key |
Body Parameters
| Name | Type | Description |
|---|---|---|
| responseFormat | enum | Required. Expected format in the response. Domains: ONLY_PAYLOAD PAYLOAD_AND_QRCODE |
| city | string | Required. Name of the city (max 15 characters) |
| recurrenceId | string | Optional. Recurrence ID (max 29 characters) |
| frequencyType | enum | Required. Frequency type. Domains: WEEKLY, MONTHLY, QUARTERLY, SEMIANNUAL, ANNUAL |
| recurrenceStartDate | string | Required. Start date of the recurrence (max 10 characters) |
| recurrenceEndDate | string | Optional. End date of the recurrence (max 10 characters) |
| amount | number | Optional. Transaction amount |
| minPayerMaxAmount | number | Optional. Minimum allowed for payer's max amount |
| beneficiary | object | Optional. Object containing info about the beneficiary |
| beneficiary.ispb | string | Optional. ISPB code of the beneficiary |
| beneficiary.document | string | Required. Document of the beneficiary (CPF/CNPJ) |
| beneficiary.name | string | Required. Fullname of the beneficiary (max 140 characters) |
| debtor | object | Required. Object containing info about the debtor |
| debtor.type | enum | Required. Type of the debtor's document. Domains: NATURAL LEGAL |
| debtor.document | string | Required. Document of the debtor (CPF/CNPJ) |
| debtor.name | string | Required. Fullname of the debtor |
| contractNumber | string | Required. Contract number (max 35 characters) |
| contractDescription | string | Optional. Description of the contract (max 35 characters) |
| retry | enum | Required. If retries are allowed. Domains: NOT_ALLOWED ALLOWED |
| beneficiaryConciliationId | string | Required. Receiver conciliation ID |
Body
{
"responseFormat": "ONLY_PAYLOAD",
"city": "São Paulo",
"recurrenceId": "RR3822485720250615A1B2C3D4E5",
"frequencyType": "MONTHLY",
"recurrenceStartDate": "2025-06-29",
"recurrenceEndDate": "2026-06-29",
"amount": 150.75,
"minPayerMaxAmount": 150.75,
"beneficiary": {
"ispb": "38224857",
"document": "12345678000199",
"name": "Tech Solutions LTDA"
},
"debtor": {
"type": "NATURAL",
"document": "12345678901",
"name": "João da Silva"
},
"contractNumber": "CTX-987654321",
"contractDescription": "Serviço de streaming premium",
"retry": "NOT_ALLOWED",
"beneficiaryConciliationId": "REC-998877"
}
Response
The status code 200 indicates success in the transaction
Being succeeded, the return will have the following fields in Json format:
{
"documentId": "01000000-3353-6e2c-12c9-08de9f179024",
"qrCodeImageBase64": "iVBORw0KGgoAAAANSUhEUgAAASQAAAEkAQAAAACugnFBAAAD60lEQVR4nO2aSZLcMAwE8QP8/5f4AczKgrp7Dg475kBcWl5GElMOisRSgBz9H0fFl/pSv6UiIrvOz6rO6so895u/agZXqHOd0ZG6jj7Mwc8R5ateoyIzz83kss5laPZn3gfS4CJVEXVGsyp1zStpwXuZam22FlbbG3psxjap81trmaEh7/aBi9f4YRN3KWb7t+OHD92lOLTDWlmdyCTx4uj8GXOuUuXVPERpa+UVPeZYjTFuUTLACs7PCFNPhRRhsUd5TVMmF0xYLsvAeRM9skMp9pZ8lammrsgNoRyR0VuU5ozTaotJDOW0ILeoZ1XvUzK486eUGypYT+ywmX+N196njntqvoocskUGU5lej+lltihdNJACiUzy+IU8JjHBXqKcFeSmRLWwGY4k0j+wREmNecN1rttgeg3Weo1S9PXGBqzzqdZWr5JbVDBL/ZoH2kmd3f/ItdcphThEo7SjclegIq1Enmx1n2pypZKoNjed6PWcchimuEPhoo3jsrtUKAHhN1iiFGJRjUWiZ7rmHHu3KE+10JD4BvN27CPFLlEKJMQyDYxCGy0ka3xVmbepYruznJkinz1GR75t4j6lJWW2FOWOc6OIql5a7jo1Uog3sMRmwnrA+mOJIlO1Q25YlFU5x0/m36Eod3HPoHKywEVDKmPkFpUG0gUBdRNrSknO6A41it91ZhNNFOycwT60yXUK1ZjhcOcLqzMXnblEaaKeus3PzRWJSETHY6vXKYpvpL+rYEddzM/9siVq8pQUh6BJolR26cJ4iUpcV6tb7nqWu2T4bb21yWWK2WUYHa1NryXJXLFF0UBM4q28lT0fC6j4UEO3qehJ7uUzNrnnR7+ywnWqrTaCFmw7OUyHXSu+Rnm0ae63K6dwlYJsiy1qXJRaCffV6vKF5Al2O1S6M2aZrTnH0yLTSb666bcpBZL2qrYZUqjDTD39/vsUoY0WRsZUTWgiK6J3r/Y2hfZBy4YrATXusEV3MnKJsnvyAjXJgAhMI69qjeJ8CoBChPQkeGqVx4euU+5xuhDni0jwaTDddHmy1X3KDLEu3f8pvtQQlfOV065T6QKT3l04SaWLJt2PWqNouPoDZaIzKHl1g3qzlyjad2nB7YaUd5sS5VWV36fQFXKESHeiOh3s+EbZT813nXJKms+3HPSuE3eJJ1vdp1yKuz/W0+7kRfxRqbYomgWJEdI/z9l9IslnF+MyZaVIo4ePSJ2zouWstUbxvyzoQVFjyvKcXd2K3aTCnQK6UeV+OlF45OUaZaObdj+WWG4HxVsDXKcsz/J5gPRpvfEZ5a5TeIebP/MBvB13s0bx7lD/Pr7Ul/ol9Qcqzr7t6yFh6wAAAABJRU5ErkJggg==",
"payloadBase64": "MDAwMjAxMjYxODAwMTRici5nb3YuYmNiLnBpeDUyMDQwMDAwNTMwMzk4NjU4MDJCUjU5MTNDT1JQT1JBVEVOQU1FNjAwOVNhbyBQYXVsbzYyMjUwNTIxdmNoYXJnZTFjMTFhNDU5NWMxODQ4ODA3MTAwMTRici5nb3YuYmNiLnBpeDI1NDlwaXgtaC5kZWxiYW5rLmNvbS5ici92MS9yZWMvdmNoYXJnZTFjMTFhNDU5NWMxODQ4NjMwNDBCODU",
"recurrencePayloadJws": "eyJhbGciOiJQUzUxMiIsImtpZCI6IjE0NzhFNDZBMjI4RjE0RDA5OUQ3RjYxMUMxMUNGNjM3M0NBMDY0MDEiLCJ4NXQiOiJGSGprYWlLUEZOQ1oxX1lSd1J6Mk56eWdaQUUiLCJqa3UiOiJodHRwczovL3BpeC1oLmRlbGJhbmsuY29tLmJyL3YyL2p3a3MiLCJ0eXAiOiJKV1QifQ.eyJpZFJlYyI6IlJSMzgyMjQ4NTcyMDI2MDQyMDBhMWQzYTJhMmQwIiwidmluY3VsbyI6eyJvYmpldG8iOiJDb250YSBkZSBlbmVyZ2lhIiwiZGV2ZWRvciI6eyJjcGYiOiI4NjgyOTUwMzA4NiIsIm5vbWUiOiJDb250YSBUZXN0ZSAwMiJ9LCJjb250cmF0byI6IjEyMzQ1Njc4OTBBQkMifSwiY2FsZW5kYXJpbyI6eyJkYXRhSW5pY2lhbCI6IjIwMjQtMTAtMjEiLCJkYXRhRmluYWwiOiIyMDI1LTExLTI0IiwicGVyaW9kaWNpZGFkZSI6Ik1FTlNBTCJ9LCJ2YWxvciI6eyJ2YWxvclJlYyI6IjEwLjAwIn0sInJlY2ViZWRvciI6eyJjbnBqIjoiMDMyODQ1ODQwMDAxNjIiLCJub21lOiJDT1JQT1JBVEVOQU1FIiwiaXNwYlBhcnRpY2lwYW50ZSI6IjM4MjI0ODU3In0sInBvbGl0aWNhUmV0ZW50YXRpdmEiOiJQRVJNSVRFXzNSXzdEIiwiYXR1YWxpemFjYW8iOlt7InN0YXR1cyIOiJDUklBREEiLCJkYXRhIjoiMjAyNi0wNC0yMFQyMDowMTowOC40NTNaIn1dfQ.rqypmJPU1k3EKZ-6GOKl4QjwsLV0mKn3TnmIH_Xcm1CGjBOq1CMIPtILmxp0ULUcT-7oBqZ7sgGbx8I5Uvtx1RzgBX7P8yL95VDs_cgEhqDx53vfLKZ52ATsty9Flu5x0aVE6hfYMqdk37Ffjw_vpuj7Ph32e0KHAIsTIV1QrDu9fiXraas3rNNollrSKcfhv1br6aoNy3zq61R9XmcgdAzqQ6yPqxv01_XjTDrQUmm9uP7kF0gBQ7iBnc-uemJGTtDRza8vLNlRJwJ1WcT3nCuYZVV5-1kmjWX9pQZXh_wW0S1_Ui9gomG71FsbmttjxqMT3HNMhGeqXXb7DgBZbg"
}
Immediate Composite QR code
This endpoint is used in journey 3 to create a QR code containing the recurring payment contract and a initial Pix payment.
Request
POST 'https://apisandbox.delbank.com.br/baas/api/v1/pix/qrcode/recurrences/immediate-payment'
Headers
| Name | Description |
|---|---|
| x-delbank-api-key | Required. API key |
Body Parameters
| Name | Type | Description |
|---|---|---|
| responseFormat | enum | Required. Expected format in the response. Domains: ONLY_PAYLOAD PAYLOAD_AND_QRCODE (default) |
| key | string | Required. Pix key (max 77 characters) |
| categoryCode | string | Optional. Category code (max 4 characters). Default: 0000 |
| payerRequest | string | Optional. Message shown to the payer (max 140 characters) |
| payerDocument | string | Optional. Payer document (CPF/CNPJ). Size: 11 to 14 characters |
| payerName | string | Optional. Payer name (max 25 characters) |
| city | string | Required. Name of the city (max 15 characters) |
| zipCode | string | Optional. Zip code (max 99 characters) |
| originalAmount | number | Required. Original amount (max 12 integer digits, 2 fraction digits) |
| changeValue | enum | Optional. Change value type. Domains: NOT_ALLOWED (default) ALLOWED |
| qrExpiration | integer | Optional. QR code expiration (in seconds). Default: 86400 |
| additionalData | array | Optional. Additional data list |
| additionalData.name | string | Required. Additional data name (max 100 characters) |
| additionalData.value | string | Required. Additional data value (max 400 characters) |
| reusable | boolean | Optional. If this QR code is reusable. Default: false |
| recurrenceData | object | Required. Recurrence data |
| recurrenceData.recurrenceId | string | Optional. Recurrence ID |
| recurrenceData.frequencyType | enum | Required. Frequency type. Domains: WEEKLY, MONTHLY, QUARTERLY, SEMIANNUAL, ANNUAL |
| recurrenceData.recurrenceStartDate | string | Required. Start date of the recurrence. Pattern: YYYY-MM-DD |
| recurrenceData.recurrenceEndDate | string | Optional. End date of the recurrence |
| recurrenceData.beneficiary | object | Optional. Object containing info about the beneficiary |
| recurrenceData.debtor | object | Required. Object containing info about the debtor |
| recurrenceData.amount | number | Optional. Transaction amount (max 18 integer digits, 2 fraction digits) |
| recurrenceData.minPayerMaxAmount | number | Optional. Minimum allowed for payer's max amount (max 18 integer digits, 2 fraction digits) |
| recurrenceData.contractNumber | string | Required. Contract number |
| recurrenceData.contractDescription | string | Optional. Description of the contract |
| recurrenceData.retry | enum | Required. If retries are allowed. Domains: NOT_ALLOWED ALLOWED |
| beneficiaryConciliationId | string | Optional. Beneficiary conciliation ID |
Body
{
"responseFormat": "PAYLOAD_AND_QRCODE",
"key": "e7c3d5f2-4a1b-4c3d-9d15-1b2c3d4e5f60",
"categoryCode": "0000",
"payerRequest": "Pagamento recorrente - assinatura",
"payerDocument": "12345678901",
"payerName": "Joao da Silva",
"city": "Sao Paulo",
"zipCode": "01311-000",
"originalAmount": 100.01,
"changeValue": "NOT_ALLOWED",
"qrExpiration": 86400,
"additionalData": [
{
"name": "OrderId",
"value": "ORD-20260422-0001"
}
],
"reusable": false,
"recurrenceData": {
"frequencyType": "MONTHLY",
"recurrenceStartDate": "2026-05-01",
"recurrenceEndDate": "2027-05-01",
"recurrenceId": "RR3822485720260422A1B2C3D4E5",
"beneficiary": {
"ispb": "38224857",
"cnpj": "58769325000182",
"name": "Tech Solutions LTDA"
},
"debtor": {
"type": "NATURAL",
"document": "12345678901",
"name": "Joao da Silva"
},
"amount": 100.01,
"minPayerMaxAmount": 100.01,
"contractNumber": "CTX-987654321",
"contractDescription": "Assinatura mensal",
"retry": "NOT_ALLOWED"
},
"beneficiaryConciliationId": "REC-998877"
}
Response
The status code 200 indicates success in the transaction
Being succeeded, the return will have the following fields in Json format:
{
"documentId": "01000000-3353-6e2c-12c9-08de9f179024",
"qrCodeImageBase64": "iVBORw0KGgoAAAANSUhEUgAAASQAAAEkAQAAAACugnFBAAAD60lEQVR4nO2aSZLcMAwE8QP8/5f4AczKgrp7Dg475kBcWl5GElMOisRSgBz9H0fFl/pSv6UiIrvOz6rO6so895u/agZXqHOd0ZG6jj7Mwc8R5ateoyIzz83kss5laPZn3gfS4CJVEXVGsyp1zStpwXuZam22FlbbG3psxjap81trmaEh7/aBi9f4YRN3KWb7t+OHD92lOLTDWlmdyCTx4uj8GXOuUuXVPERpa+UVPeZYjTFuUTLACs7PCFNPhRRhsUd5TVMmF0xYLsvAeRM9skMp9pZ8lammrsgNoRyR0VuU5ozTaotJDOW0ILeoZ1XvUzK486eUGypYT+ywmX+N196njntqvoocskUGU5lej+lltihdNJACiUzy+IU8JjHBXqKcFeSmRLWwGY4k0j+wREmNecN1rttgeg3Weo1S9PXGBqzzqdZWr5JbVDBL/ZoH2kmd3f/ItdcphThEo7SjclegIq1Enmx1n2pypZKoNjed6PWcchimuEPhoo3jsrtUKAHhN1iiFGJRjUWiZ7rmHHu3KE+10JD4BvN27CPFLlEKJMQyDYxCGy0ka3xVmbepYruznJkinz1GR75t4j6lJWW2FOWOc6OIql5a7jo1Uog3sMRmwnrA+mOJIlO1Q25YlFU5x0/m36Eod3HPoHKywEVDKmPkFpUG0gUBdRNrSknO6A41it91ZhNNFOycwT60yXUK1ZjhcOcLqzMXnblEaaKeus3PzRWJSETHY6vXKYpvpL+rYEddzM/9siVq8pQUh6BJolR26cJ4iUpcV6tb7nqWu2T4bb21yWWK2WUYHa1NryXJXLFF0UBM4q28lT0fC6j4UEO3qehJ7uUzNrnnR7+ywnWqrTaCFmw7OUyHXSu+Rnm0ae63K6dwlYJsiy1qXJRaCffV6vKF5Al2O1S6M2aZrTnH0yLTSb666bcpBZL2qrYZUqjDTD39/vsUoY0WRsZUTWgiK6J3r/Y2hfZBy4YrATXusEV3MnKJsnvyAjXJgAhMI69qjeJ8CoBChPQkeGqVx4euU+5xuhDni0jwaTDddHmy1X3KDLEu3f8pvtQQlfOV065T6QKT3l04SaWLJt2PWqNouPoDZaIzKHl1g3qzlyjad2nB7YaUd5sS5VWV36fQFXKESHeiOh3s+EbZT813nXJKms+3HPSuE3eJJ1vdp1yKuz/W0+7kRfxRqbYomgWJEdI/z9l9IslnF+MyZaVIo4ePSJ2zouWstUbxvyzoQVFjyvKcXd2K3aTCnQK6UeV+OlF45OUaZaObdj+WWG4HxVsDXKcsz/J5gPRpvfEZ5a5TeIebP/MBvB13s0bx7lD/Pr7Ul/ol9Qcqzr7t6yFh6wAAAABJRU5ErkJggg==",
"payloadBase64": "MDAwMjAxMjYxODAwMTRici5nb3YuYmNiLnBpeDUyMDQwMDAwNTMwMzk4NjU4MDJCUjU5MTNDT1JQT1JBVEVOQU1FNjAwOVNhbyBQYXVsbzYyMjUwNTIxdmNoYXJnZTFjMTFhNDU5NWMxODQ4ODA3MTAwMTRici5nb3YuYmNiLnBpeDI1NDlwaXgtaC5kZWxiYW5rLmNvbS5ici92MS9yZWMvdmNoYXJnZTFjMTFhNDU5NWMxODQ4NjMwNDBCODU",
"recurrencePayloadJws": "eyJhbGciOiJQUzUxMiIsImtpZCI6IjE0NzhFNDZBMjI4RjE0RDA5OUQ3RjYxMUMxMUNGNjM3M0NBMDY0MDEiLCJ4NXQiOiJGSGprYWlLUEZOQ1oxX1lSd1J6Mk56eWdaQUUiLCJqa3UiOiJodHRwczovL3BpeC1oLmRlbGJhbmsuY29tLmJyL3YyL2p3a3MiLCJ0eXAiOiJKV1QifQ.eyJpZFJlYyI6IlJSMzgyMjQ4NTcyMDI2MDQyMDBhMWQzYTJhMmQwIiwidmluY3VsbyI6eyJvYmpldG8iOiJDb250YSBkZSBlbmVyZ2lhIiwiZGV2ZWRvciI6eyJjcGYiOiI4NjgyOTUwMzA4NiIsIm5vbWUiOiJDb250YSBUZXN0ZSAwMiJ9LCJjb250cmF0byI6IjEyMzQ1Njc4OTBBQkMifSwiY2FsZW5kYXJpbyI6eyJkYXRhSW5pY2lhbCI6IjIwMjQtMTAtMjEiLCJkYXRhRmluYWwiOiIyMDI1LTExLTI0IiwicGVyaW9kaWNpZGFkZSI6Ik1FTlNBTCJ9LCJ2YWxvciI6eyJ2YWxvclJlYyI6IjEwLjAwIn0sInJlY2ViZWRvciI6eyJjbnBqIjoiMDMyODQ1ODQwMDAxNjIiLCJub21lOiJDT1JQT1JBVEVOQU1FIiwiaXNwYlBhcnRpY2lwYW50ZSI6IjM4MjI0ODU3In0sInBvbGl0aWNhUmV0ZW50YXRpdmEiOiJQRVJNSVRFXzNSXzdEIiwiYXR1YWxpemFjYW8iOlt7InN0YXR1cyIOiJDUklBREEiLCJkYXRhIjoiMjAyNi0wNC0yMFQyMDowMTowOC40NTNaIn1dfQ.rqypmJPU1k3EKZ-6GOKl4QjwsLV0mKn3TnmIH_Xcm1CGjBOq1CMIPtILmxp0ULUcT-7oBqZ7sgGbx8I5Uvtx1RzgBX7P8yL95VDs_cgEhqDx53vfLKZ52ATsty9Flu5x0aVE6hfYMqdk37Ffjw_vpuj7Ph32e0KHAIsTIV1QrDu9fiXraas3rNNollrSKcfhv1br6aoNy3zq61R9XmcgdAzqQ6yPqxv01_XjTDrQUmm9uP7kF0gBQ7iBnc-uemJGTtDRza8vLNlRJwJ1WcT3nCuYZVV5-1kmjWX9pQZXh_wW0S1_Ui9gomG71FsbmttjxqMT3HNMhGeqXXb7DgBZbg"
}
Static Composite QR code
This endpoint is used in journey 4 to create a QR code containing the recurring payment contract and a initial Pix payment.
Request
POST 'https://apisandbox.delbank.com.br/baas/api/v1/pix/qrcode/recurrences/static'
Headers
| Name | Description |
|---|---|
| x-delbank-api-key | Required. API key |
Body Parameters
| Name | Type | Description |
|---|---|---|
| responseFormat | enum | Required. Expected format in the response. Domains: ONLY_PAYLOAD PAYLOAD_AND_QRCODE |
| key | string | Required. Pix key |
| categoryCode | string | Optional. Category code. Default: 0000 |
| amount | number | Optional. Amount (must be >= 0.00) |
| city | string | Required. Name of the city |
| zipCode | string | Optional. Zip code |
| beneficiaryConciliationId | string | Optional. Beneficiary conciliation ID. Default: *** |
| additionalData | string | Optional. Additional data |
| ispbFss | string | Optional. ISPB FSS |
| recurrenceData | object | Required. Recurrence data |
| recurrenceData.recurrenceId | string | Optional. Recurrence ID |
| recurrenceData.frequencyType | enum | Required. Frequency type. Domains: WEEKLY, MONTHLY, QUARTERLY, SEMIANNUAL, ANNUAL |
| recurrenceData.recurrenceStartDate | string | Required. Start date of the recurrence. Pattern: YYYY-MM-DD |
| recurrenceData.recurrenceEndDate | string | Optional. End date of the recurrence |
| recurrenceData.beneficiary | object | Optional. Object containing info about the beneficiary |
| recurrenceData.debtor | object | Required. Object containing info about the debtor |
| recurrenceData.amount | number | Optional. Transaction amount (max 18 integer digits, 2 fraction digits) |
| recurrenceData.minPayerMaxAmount | number | Optional. Minimum allowed for payer's max amount (max 18 integer digits, 2 fraction digits) |
| recurrenceData.contractNumber | string | Required. Contract number |
| recurrenceData.contractDescription | string | Optional. Description of the contract |
| recurrenceData.retry | enum | Required. If retries are allowed. Domains: NOT_ALLOWED ALLOWED |
Body
{
"responseFormat": "PAYLOAD_AND_QRCODE",
"key": "49907518093",
"categoryCode": "0000",
"amount": 550.00,
"city": "Sao Paulo",
"zipCode": "01311-000",
"beneficiaryConciliationId": "REC-998877",
"additionalData": "Informacao adicional do PSP do Recebedor",
"ispbFss": "38224857",
"recurrenceData": {
"recurrenceId": "RR3822485720260422A1B2C3D4E5",
"frequencyType": "ANNUAL",
"recurrenceStartDate": "2026-05-01",
"recurrenceEndDate": "2027-05-01",
"beneficiary": {
"ispb": "38224857",
"cnpj": "58769325000182",
"name": "Tech Solutions LTDA"
},
"debtor": {
"type": "NATURAL",
"document": "04623217035",
"name": "Ciclano da Silva"
},
"amount": 550.00,
"minPayerMaxAmount": 550.00,
"contractNumber": "1234567890ABC",
"contractDescription": "Conta de energia",
"retry": "NOT_ALLOWED"
}
}
Response
The status code 200 indicates success in the transaction
Being succeeded, the return will have the following fields in Json format:
{
"payloadBase64": "MDAwMjAxMjYzMzAwMTRici5nb3YuYmNiLnBpeDAxMTEwNTg3NjkzMjU4MjUyMDQwMDAwNTMwMzk4NjU0MDcxMTAwLjAxNTgwMkJSNTkyM0FsaXNzb24gT2xpdmVpcmEgTmV2ZXMgNjAwOVNhbyBQYXVsbzYxMDkwMTIyNy0yMDA2MjI1MDUyMXZjaGFyZ2U0YmYxMGQzNzljNTU0ZjgwNzEwMDE0YnIuZ292LmJjYi5waXgyNTQ5cGl4LWguZGVsYmFuay5jb20uYnIvdjEvcmVjL3ZjaGFyZ2U0YmYxMGQzNzljNTU0ZjYzMDQyOTFB",
"payloadJwsRecorrencia": "eyJhbGciOiJQUzUxMiIsImtpZCI6IjJCQ0E4N0NCQUQyMDYwOEVGRDFCQzlCODA5QTU4RjExMEUxNUYyRTgiLCJ4NXQiOiJLOHFIeTYwZ1lJNzlHOG00Q2FXUEVRNFY4dWciLCJqa3UiOiJodHRwczovL3BpeC1oLmRlbGJhbmsuY29tLmJyL3YyL2p3a3MiLCJ0eXAiOiJKV1QifQ.eyJpZFJlYyI6IlJSMDQzNTg3OTgyMDI0MDYwNW5qdWE3c2hmNDBvIiwidmluY3VsbyI6eyJvYmpldG8iOiJDb250YSBkZSBlbmVyZ2lhIiwiZGV2ZWRvciI6eyJjcGYiOiIwNDYyMzIxNzAzNSIsImNucGoiOiIiLCJub21lIjoiQ2ljbGFubyBkYSBTaWx2YSJ9LCJjb250cmF0byI6IjEyMzQ1Njc4OTBBQkMifSwiY2FsZW5kYXJpbyI6eyJkYXRhSW5pY2lhbCI6IjIwMjQtMDEtMTAiLCJkYXRhRmluYWwiOiIyMDI2LTAxLTEwIiwicGVyaW9kaWNpZGFkZSI6IkFOVUFMIn0sInZhbG9yIjp7InZhbG9yTWluaW1vUmVjZWJlZG9yIjoiNTUwLjAwIn0sInJlY2ViZWRvciI6eyJjbnBqIjoiNTg3NjkzMjU4MiIsIm5vbWUiOiJBbGlzc29uIE9saXZlaXJhIE5ldmVzICIsImlzcGJQYXJ0aWNpcGFudGUiOiIzODIyNDg1NyJ9LCJwb2xpdGljYVJldGVudGF0aXZhIjoiUEVSTUlURV8zUl83RCIsImF0dWFsaXphY2FvIjpbeyJzdGF0dXMiOiJDUklBREEiLCJkYXRhIjoiMjAyNS0wNS0xM1QxODoyNzowOC45OThaIn1dfQ.gNyJtYD6if9spB91AT8vY__CqtOK6Yww3umwdVjKeP4SQqHdxr1hVMj0Iz5e328cjhaQA3krPcgeXRmOaS-CZyP2tUjvZ-6dpDe6KS8rWU5TNZwnI4LB2sL0dIDxT7lVE1YJ2RtcJrc_N-npnGy7x2jX4RSHNjmGi06347ufOBOV-OW_ycw3sNosFLyFIKzVl52ewT3ro4eEPvJfCkD8WKVwpypeKjvc1dwiBWm4CTQxj9soWkxcBxKD-dAppas15Ejq1aQlPA6WSsgVliC6e5W28QAy2ydxsuRnDlquxMTPbotZyp6lSZxlX7gtDmP8WTjhjX77iyJpfQyaQWeYNg"
}
Composite QR code with Due Date
This endpoint is used in journey 4 to create a QR code containing the recurring payment contract and a initial Pix payment.
Request
POST 'https://apisandbox.delbank.com.br/baas/api/v1/pix/qrcode/recurrences/due-date'
Headers
| Name | Description |
|---|---|
| x-delbank-api-key | Required. API key |
| x-delfinance-account-id | Required. The Delfinance bank account number |
Body Parameters
| Name | Type | Description |
|---|---|---|
| responseFormat | enum | Required. Expected format in the response. Domains: ONLY_PAYLOAD PAYLOAD_AND_QRCODE (default) |
| key | string | Required. Pix key (max 77 characters) |
| categoryCode | string | Optional. Category code (max 4 characters). Default: 0000 |
| beneficiaryFantasyName | string | Optional. Beneficiary fantasy name (max 100 characters) |
| beneficiaryConciliationId | string | Optional. Beneficiary conciliation ID. Size: 26 to 35 characters |
| beneficiaryAddress | string | Required. Beneficiary address (max 150 characters) |
| city | string | Required. Name of the city (max 15 characters) |
| state | string | Required. State (UF). Size: 2 characters |
| zipCode | string | Required. Zip code (max 99 characters) |
| payerRequest | string | Optional. Message shown to the payer (max 140 characters) |
| payerDocument | string | Optional. Payer document (CPF/CNPJ). Size: 11 to 14 characters |
| beneficiaryDocument | string | Optional. Beneficiary document (CPF/CNPJ). Size: 11 to 14 characters |
| payerName | string | Required. Payer name (max 200 characters) |
| originalAmount | number | Optional. Original amount (max 12 integer digits, 2 fraction digits) |
| rebate | number | Optional. Rebate amount (max 12 integer digits, 2 fraction digits) |
| discount | number | Optional. Discount amount (max 12 integer digits, 2 fraction digits) |
| interest | number | Optional. Interest amount (max 12 integer digits, 2 fraction digits) |
| fine | number | Optional. Fine amount (max 12 integer digits, 2 fraction digits) |
| dueDate | string | Required. Due date. Pattern: YYYY-MM-DD |
| daysAfterDue | integer | Required. Days after due date. Max: 999999 |
| additionalData | array | Optional. Additional data list |
| additionalData.name | string | Required. Additional data name (max 100 characters) |
| additionalData.value | string | Required. Additional data value (max 400 characters) |
| reusable | boolean | Optional. If this QR code is reusable. Default: false |
| recurrenceData | object | Required. Recurrence data |
| recurrenceData.recurrenceId | string | Optional. Recurrence ID |
| recurrenceData.frequencyType | enum | Required. Frequency type. Domains: WEEKLY, MONTHLY, QUARTERLY, SEMIANNUAL, ANNUAL |
| recurrenceData.recurrenceStartDate | string | Required. Start date of the recurrence. Pattern: YYYY-MM-DD |
| recurrenceData.recurrenceEndDate | string | Optional. End date of the recurrence |
| recurrenceData.beneficiary | object | Optional. Object containing info about the beneficiary |
| recurrenceData.debtor | object | Required. Object containing info about the debtor |
| recurrenceData.amount | number | Optional. Transaction amount (max 18 integer digits, 2 fraction digits) |
| recurrenceData.minPayerMaxAmount | number | Optional. Minimum allowed for payer's max amount (max 18 integer digits, 2 fraction digits) |
| recurrenceData.contractNumber | string | Required. Contract number |
| recurrenceData.contractDescription | string | Optional. Description of the contract |
| recurrenceData.retry | enum | Required. If retries are allowed. Domains: NOT_ALLOWED ALLOWED |
Body
{
"responseFormat": "PAYLOAD_AND_QRCODE",
"key": "90343223007",
"categoryCode": "0000",
"beneficiaryFantasyName": "Tech Solutions",
"beneficiaryConciliationId": "REC-998877-1234567890123456",
"beneficiaryAddress": "Av. Paulista, 1000",
"city": "Sao Paulo",
"state": "SP",
"zipCode": "01311-000",
"payerRequest": "Pagamento recorrente - fatura",
"payerDocument": "04623217035",
"beneficiaryDocument": "58769325000182",
"payerName": "Ciclano da Silva",
"originalAmount": 550.00,
"rebate": 0.00,
"discount": 0.00,
"interest": 0.00,
"fine": 0.00,
"dueDate": "2026-06-10",
"daysAfterDue": 30,
"additionalData": [
{
"name": "OrderId",
"value": "ORD-20260422-0002"
}
],
"reusable": false,
"recurrenceData": {
"recurrenceId": "RR3822485720260422A1B2C3D4E5",
"frequencyType": "MONTHLY",
"recurrenceStartDate": "2026-06-10",
"recurrenceEndDate": "2027-06-10",
"beneficiary": {
"ispb": "38224857",
"cnpj": "58769325000182",
"name": "Tech Solutions LTDA"
},
"debtor": {
"type": "NATURAL",
"document": "04623217035",
"name": "Ciclano da Silva"
},
"amount": 550.00,
"minPayerMaxAmount": 550.00,
"contractNumber": "FAT-2026-06",
"contractDescription": "Fatura recorrente",
"retry": "NOT_ALLOWED"
}
}
Response
The status code 200 indicates success in the transaction
Being succeeded, the return will have the following fields in Json format:
{
"documentId": "52c43361-caa1-4ddb-9152-708426a25db3",
"qrCodeImageBase64": "iVBORw0KGgoAAAANSUhEUgAA...",
"payloadBase64": "MDAwMjAxMjYxODAwMTRici5nb3YuYmNiLnBpeDUyMDQwMDAwNTMwMzk4NjU4MDJCUg==",
"recurrencePayloadJws": "eyJhbGciOiJQUzUxMiIsImtpZCI6IjUwQTM5Qzc0MUE0RTFDQjQxN0Y2OEM2Q0MwMkY2M0JFOi4uLiJ9..."
}