Download OpenAPI specification:Download
Documentação infraestrutura pix indireto.
Generates an EMV QR Code string in TLV (Tag-Length-Value) format for PIX payments. This endpoint creates a standardized QR code that can be used for PIX instant payments in Brazil. The generated EMV string contains all necessary information for PIX transactions including merchant details and location URL.
merchantName: Required, 1-25 characters, no diacriticsmerchantCity: Required, 1-15 characters, no diacritics merchantAccountInformationPix.url: Required, valid URI formatpayloadFormatIndicator: "01"pointOfInitiationMethod: "12" (dynamic QR)merchantCategoryCode: "0000"transactionCurrency: "986" (Brazilian Real)countryCode: "BR"additionalDataFieldTemplate.referenceLabel: "***"The endpoint will return validation errors for any field that doesn't meet the requirements.
| merchantName required | string [ 1 .. 25 ] characters Name of the merchant. Must not contain diacritics (accented characters). Will be validated and rejected if longer than 25 characters or contains diacritics. |
| merchantCity required | string [ 1 .. 15 ] characters City where the merchant is located. Must not contain diacritics (accented characters). Will be validated and rejected if longer than 15 characters or contains diacritics. |
required | object |
| payloadFormatIndicator | string EMV QR Code payload format indicator (usually '01') |
| pointOfInitiationMethod | string Point of initiation method (usually '12' for dynamic QR) |
| merchantCategoryCode | string Merchant category code (MCC) for business classification |
| transactionCurrency | string Transaction currency code (986 for Brazilian Real) |
| countryCode | string Country code (BR for Brazil) |
object | |
object |
{- "merchantName": "Test Merchant",
- "merchantCity": "Sao Paulo",
}{- "emv": "00020101021226450014br.gov.bcb.pix2523https://example.com/pix5204000053039865802BR5913Test Merchant6009Sao Paulo62070503***6304E69E"
}Create a new Pix charge with the specified parameters
| txid required | string Unique transaction identifier |
| chargeType | string (ChargeType) Enum: "cob" "cobv" "rec" Charge type |
object (Calendar) | |
Array of objects (AdditionalInfo) <= 50 items | |
| comment | string <= 140 characters |
object (Amount) | |
| pixKey | string [ 1 .. 255 ] characters |
object or null | |
| ensureSameTaxID | boolean |
object (Debtor) | |
object (Receiver) |
{- "chargeType": "cob",
- "calendar": {
- "dueDate": "string",
- "expiration": 1,
- "validateAfterExpiration": 0,
- "presentation": "string",
- "creation": "string"
}, - "additionalInfo": [
- {
- "name": "string",
- "value": "string"
}
], - "comment": "string",
- "amount": {
- "customerCanChangeValue": true,
- "chargeValue": 0,
- "interestRules": {
- "modality": 1,
- "value": 0
}, - "discountRules": {
- "modality": 1,
- "discountFixedDate": [
- {
- "data": "string",
- "value": 0
}
], - "value": 0
}, - "rebateRules": {
- "modality": 1,
- "value": 0
}, - "fineRules": {
- "modality": 1,
- "value": 0
}, - "withdrawal": {
- "withdraw": {
- "value": 0,
- "agentMode": "string",
- "changeMode": 0,
- "withdrawalServiceProvider": "string"
}, - "change": {
- "value": 0,
- "agentMode": "string",
- "changeMode": 0,
- "withdrawalServiceProvider": "string"
}
}
}, - "pixKey": "string",
- "location": {
- "id": "string",
- "isLinked": false
}, - "ensureSameTaxID": true,
- "debtor": {
- "name": "string",
- "taxID": "string",
- "taxIDType": "BR:CNPJ"
}, - "receiver": {
- "name": "string",
- "taxID": "string",
- "taxIDType": "BR:CNPJ",
- "tradeName": "string",
- "email": "string",
- "street": "string",
- "city": "string",
- "state": "st",
- "zipcode": "string"
}
}{- "charge": {
- "txid": "string",
- "status": "ACTIVE",
- "value": 0,
- "key": "string",
- "keyType": "CPF",
- "expiresAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "txi": "string"
}
}Update an existing Pix charge with new parameters
| txid required | string Unique transaction identifier |
| chargeType | string (ChargeType) Enum: "cob" "cobv" "rec" Charge type |
object (Calendar) |
{- "chargeType": "cob",
- "calendar": {
- "dueDate": "string",
- "expiration": 1,
- "validateAfterExpiration": 0,
- "presentation": "string",
- "creation": "string"
}
}{- "charge": {
- "txid": "string",
- "status": "ACTIVE",
- "value": 0,
- "key": "string",
- "keyType": "CPF",
- "expiresAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "txi": "string"
}
}Retrieve details of a specific Pix charge
| txid required | string Example: 6290ccfd42831958a405debc pix charge txid |
| DPP | string Optional payment date-time for calculation |
| codMun | string Optional municipality code for business-day calculation |
const http = require('https'); const options = { method: 'GET', hostname: '', port: null, path: '%3Cname%3E.indireto.woovi-indireto.dev/pix-charge/v1/charge/6290ccfd42831958a405debc?DPP=SOME_STRING_VALUE&codMun=SOME_STRING_VALUE', headers: {} }; const req = http.request(options, function (res) { const chunks = []; res.on('data', function (chunk) { chunks.push(chunk); }); res.on('end', function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
{- "account": {
- "accountId": "6290ccfd42831958a405debc",
- "isDefault": true,
- "balance": {
- "total": 129430,
- "blocked": 0,
- "available": 129430
}
}
}Delete a specific Pix charge
| txid required | string Unique transaction identifier |
const http = require('https'); const options = { method: 'DELETE', hostname: '', port: null, path: '%3Cname%3E.indireto.woovi-indireto.dev/pix-charge/v1/charge/%7Btxid%7D', headers: {} }; const req = http.request(options, function (res) { const chunks = []; res.on('data', function (chunk) { chunks.push(chunk); }); res.on('end', function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
{- "error": {
- "issues": [
- {
- "code": "string",
- "expected": "string",
- "received": "string",
- "path": [
- "string"
], - "message": "string",
- "validation": "string"
}
], - "name": "ZodError",
- "message": "Validation error"
}
}Retrieve all Pix charges associated with a specific location
| locId required | string Location identifier |
| DPP | string Optional payment date-time for calculation |
| codMun | string Optional municipality code for business-day calculation |
const http = require('https'); const options = { method: 'GET', hostname: '', port: null, path: '%3Cname%3E.indireto.woovi-indireto.dev/pix-charge/v1/charge/location/%7BlocId%7D?DPP=SOME_STRING_VALUE&codMun=SOME_STRING_VALUE', headers: {} }; const req = http.request(options, function (res) { const chunks = []; res.on('data', function (chunk) { chunks.push(chunk); }); res.on('end', function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
{- "charge": {
- "txid": "string",
- "status": "ACTIVE",
- "value": 0,
- "key": "string",
- "keyType": "CPF",
- "expiresAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "txi": "string"
}
}Check if a Pix charge is allowed to be paid
| txid required | string Unique transaction identifier |
| DPP | string Optional payment date-time for calculation |
| codMun | string Optional municipality code |
| paymentValue | integer Payment value to validate |
| taxID | string Optional payer taxID when ensureSameTaxID is enabled |
{- "DPP": "string",
- "codMun": "string",
- "paymentValue": 0,
- "taxID": "string"
}{- "error": {
- "issues": [
- {
- "code": "string",
- "expected": "string",
- "received": "string",
- "path": [
- "string"
], - "message": "string",
- "validation": "string"
}
], - "name": "ZodError",
- "message": "Validation error"
}
}Retrieve Pix location information and generate QR code data based on the location type and access token. This endpoint returns JOSE (JSON Object Signing and Encryption) formatted data for QR code generation.
| locType required | string Enum: "cob" "cobv" "rec" Type of Pix location |
| pixUrlAccessToken required | string Access token for the Pix location |
| codMun | string Municipality code for location-specific data |
| DPP | string Additional location parameter |
const http = require('https'); const options = { method: 'GET', hostname: '', port: null, path: '%3Cname%3E.indireto.woovi-indireto.dev/qr/v2/%7BlocType%7D/%7BpixUrlAccessToken%7D?codMun=SOME_STRING_VALUE&DPP=SOME_STRING_VALUE', headers: {} }; const req = http.request(options, function (res) { const chunks = []; res.on('data', function (chunk) { chunks.push(chunk); }); res.on('end', function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
{- "error": "A cobrança em questão não foi encontrada para a location requisitada"
}Create a new Pix location with the specified type. The service will generate a unique access token and return the complete location information including the QR code URL.
| type required | string Enum: "cob" "cobv" "rec" Type of Pix location to create |
{- "type": "cob"
}{- "location": {
- "id": "string",
- "type": "cob",
- "location": "string",
- "pixUrlAccessToken": "string"
}
}| emv required | string Raw EMV / PIX QR payload (text) |
{- "emv": "00020126780014br.gov.bcb.pix0136f4c6089a-bfde-4c00-a2d9-9eaa584b02190216CobrancaEstatica5204000053039865406546.285802BR5903Pix6008BRASILIA6229052584767c56c2ab4e65b6670de2a80950014br.gov.bcb.pix2573qr-h.sandbox.pix.bcb.gov.br/rest/api/rec/4b62d4a088fe4f51bcb4c64cf078869163044486"
}{- "emv": {
- "payloadFormatIndicator": "01",
- "merchantAccountInformationPix": {
- "gui": "br.gov.bcb.pix",
- "pixKey": "f4c6089a-bfde-4c00-a2d9-9eaa584b0219",
- "additionalInformation": "CobrancaEstatica"
}, - "merchantCategoryCode": "0000",
- "transactionCurrency": "986",
- "transactionAmount": "546.28",
- "countryCode": "BR",
- "merchantName": "Pix",
- "merchantCity": "BRASILIA",
- "additionalDataFieldTemplate": {
- "referenceLabel": "84767c56c2ab4e65b6670de2a"
}, - "unreservedTemplates": {
- "gui": "br.gov.bcb.pix",
- "url": "qr-h.sandbox.pix.bcb.gov.br/rest/api/rec/4b62d4a088fe4f51bcb4c64cf0788691"
}, - "crc": "4486"
}, - "cobLocation": null,
- "recLocation": {
- "isValid": true,
- "locationErrors": [ ],
- "payload": {
- "updates": [
- {
- "date": "2025-10-24T18:42:58Z",
- "status": "CRIADA"
}
], - "calendar": {
- "startDate": "2025-10-24",
- "periodicity": "SEMANAL"
}, - "idRec": "RN5481141720251024BnwNHejs9h9",
- "retryPolicy": "NAO_PERMITE",
- "receiver": {
- "cnpj": "44720743000101",
- "participantIspb": "54811417",
- "name": "Woovi Demo"
}, - "value": {
- "valueRec": "0.01"
}, - "link": {
- "contract": "Woovi Demo - Pix Automático",
- "debtor": {
- "cpf": "15775023706",
- "name": "Pedro Cliente"
}
}
}, - "url": "qr-h.sandbox.pix.bcb.gov.br/rest/api/rec/4b62d4a088fe4f51bcb4c64cf0788691"
}
}