Pular para o conteúdo principal

Woovi - Indireto (1.0.0)

Download OpenAPI specification:Download

Documentação infraestrutura pix indireto.

pixCharge

Endpoint to manage Pix Charges

Generate EMV QR Code for PIX

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.

Key Features:

  • Validation: Strict validation of merchant name and city (no diacritics, length limits)
  • Default Values: Automatically applies standard PIX EMV values when not provided
  • TLV Format: Returns EMV string in proper TLV format for QR code generation
  • Brazilian Standards: Compliant with Brazilian PIX instant payment standards

Validation Rules:

  • merchantName: Required, 1-25 characters, no diacritics
  • merchantCity: Required, 1-15 characters, no diacritics
  • merchantAccountInformationPix.url: Required, valid URI format

Default Values Applied:

  • payloadFormatIndicator: "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.

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
Example
{
  • "merchantName": "Test Merchant",
  • "merchantCity": "Sao Paulo",
  • "merchantAccountInformationPix": {}
}

Response samples

Content type
application/json
Example
{
  • "emv": "00020101021226450014br.gov.bcb.pix2523https://example.com/pix5204000053039865802BR5913Test Merchant6009Sao Paulo62070503***6304E69E"
}

Create a new Pix charge

Create a new Pix charge with the specified parameters

path Parameters
txid
required
string

Unique transaction identifier

Request Body schema: application/json
required
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)

Responses

Request samples

Content type
application/json
{
  • "chargeType": "cob",
  • "calendar": {
    },
  • "additionalInfo": [
    ],
  • "comment": "string",
  • "amount": {
    },
  • "pixKey": "string",
  • "location": {
    },
  • "ensureSameTaxID": true,
  • "debtor": {
    },
  • "receiver": {
    }
}

Response samples

Content type
application/json
{
  • "charge": {
    }
}

Update an existing Pix charge

Update an existing Pix charge with new parameters

path Parameters
txid
required
string

Unique transaction identifier

Request Body schema: application/json
required
chargeType
string (ChargeType)
Enum: "cob" "cobv" "rec"

Charge type

object (Calendar)

Responses

Request samples

Content type
application/json
{
  • "chargeType": "cob",
  • "calendar": {
    }
}

Response samples

Content type
application/json
{
  • "charge": {
    }
}

Get a pix charge

Retrieve details of a specific Pix charge

path Parameters
txid
required
string
Example: 6290ccfd42831958a405debc

pix charge txid

query Parameters
DPP
string

Optional payment date-time for calculation

codMun
string

Optional municipality code for business-day calculation

Responses

Request samples

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();

Response samples

Content type
application/json
{
  • "account": {
    }
}

Delete a Pix charge

Delete a specific Pix charge

path Parameters
txid
required
string

Unique transaction identifier

Responses

Request samples

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();

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get Pix charges by location

Retrieve all Pix charges associated with a specific location

path Parameters
locId
required
string

Location identifier

query Parameters
DPP
string

Optional payment date-time for calculation

codMun
string

Optional municipality code for business-day calculation

Responses

Request samples

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();

Response samples

Content type
application/json
{
  • "charge": {
    }
}

Check if a Pix charge is allowed to be paid

Check if a Pix charge is allowed to be paid

path Parameters
txid
required
string

Unique transaction identifier

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "DPP": "string",
  • "codMun": "string",
  • "paymentValue": 0,
  • "taxID": "string"
}

Response samples

Content type
application/json
{
  • "error": {
    }
}

pixLocation

Endpoints to manage Pix Locations and QR code generation

Get Pix location QR code information

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.

path Parameters
locType
required
string
Enum: "cob" "cobv" "rec"

Type of Pix location

pixUrlAccessToken
required
string

Access token for the Pix location

query Parameters
codMun
string

Municipality code for location-specific data

DPP
string

Additional location parameter

Responses

Request samples

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();

Response samples

Content type
application/json
{
  • "error": "A cobrança em questão não foi encontrada para a location requisitada"
}

Create a new Pix location

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.

Request Body schema: application/json
required
type
required
string
Enum: "cob" "cobv" "rec"

Type of Pix location to create

Responses

Request samples

Content type
application/json
{
  • "type": "cob"
}

Response samples

Content type
application/json
{
  • "location": {
    }
}

decode

Parse EMV (PIX) QR code and optionally resolve COB/REC locations

Request Body schema: application/json
required
emv
required
string

Raw EMV / PIX QR payload (text)

Responses

Request samples

Content type
application/json
{
  • "emv": "00020126780014br.gov.bcb.pix0136f4c6089a-bfde-4c00-a2d9-9eaa584b02190216CobrancaEstatica5204000053039865406546.285802BR5903Pix6008BRASILIA6229052584767c56c2ab4e65b6670de2a80950014br.gov.bcb.pix2573qr-h.sandbox.pix.bcb.gov.br/rest/api/rec/4b62d4a088fe4f51bcb4c64cf078869163044486"
}

Response samples

Content type
application/json
Example
{
  • "emv": {
    },
  • "cobLocation": null,
  • "recLocation": {
    }
}