Skip to content

Bills & Payments ​

Todos os endpoints de bills exigem Authorization: Bearer <token> e o header x-client-id (tenant).

Visão geral ​

A API de Bills & Payments permite que o seu tenant pague boletos em nome de uma conta e emita/consulte cobranças através do provedor bancário configurado. O gateway resolve o provedor bancário automaticamente a partir da conta operada (accountFrom / accountId / receiver.account) — você não envia nenhum campo de provedor.

A API expõe exatamente cinco endpoints, todos POST:

EndpointFinalidade
POST /v1/bills/payBillPaga um boleto pelo código de barras / linha digitável
POST /v1/bills/checkBillConsulta os dados de um boleto antes do pagamento
POST /v1/bills/CreateChargeCria uma cobrança (emissão de boleto) no provedor
POST /v1/bills/CheckChargeConsulta uma cobrança já criada pelo transactionId
POST /v1/bills/getChargePDFObtém o PDF da cobrança (boleto) pelo transactionId

POST /v1/bills/payBill ​

Paga um boleto existente pelo código de barras / linha digitável, debitando a conta de origem. Se o accountFrom estiver ausente, a requisição é rejeitada com 400 { "message": "Missing accountFrom" }.

Headers:

HeaderValorObrigatório
x-client-idO id do seu tenant — mesmo valor do Client_ID do OAuth (detalhes)Sim
AuthorizationBearer tokenSim

Request Body:

json
{
  "accountFrom": "30054029183",
  "cpfcnpj": "11122233344",
  "barCode": {
    "type": "NPC",
    "digitable": "23793.38128 60000.000003 00000.000400 1 84340000010000",
    "barCode": "23791843400000100003381286000000000000000040"
  },
  "billData": {
    "value": 100.00,
    "originalValue": 100.00,
    "valueWithDiscount": 95.00,
    "valueWithAdditional": 102.00
  },
  "dueDate": "2026-03-20",
  "transactionIdAuthorize": 123456,
  "externalNSU": "123456",
  "externalTerminal": "TERM001"
}
CampoTipoObrigatórioDescrição
accountFromstringSimId da conta de origem (a ser debitada). Ausente → 400
cpfcnpjstringNãoCPF/CNPJ do pagador
barCode.typestringNãoTipo do código de barras (ex.: NPC)
barCode.digitablestringNãoLinha digitável (código de barras formatado)
barCode.barCodestringNãoValor numérico do código de barras
billData.valuenumberNãoValor a pagar
billData.originalValuenumberNãoValor original do boleto
billData.valueWithDiscountnumberNãoValor com desconto aplicado
billData.valueWithAdditionalnumberNãoValor com multa/juros
dueDatestringNãoData de vencimento
transactionIdAuthorizenumberNãoReferência da transação de autorização
externalNSUstringNãoReferência externa da transação
externalTerminalstringNãoId do terminal (POS/ATM)

Response 200 OK:

Em caso de sucesso, o corpo traz message e data (o resultado do pagamento); em caso de falha, { "message": "..." } com o status HTTP correspondente:

json
{
  "message": null,
  "data": {
    "errorCode": "0",
    "message": "Bill paid successfully",
    "status": 200,
    "transactionId": "7110444"
  }
}

POST /v1/bills/checkBill ​

Retorna os dados de um boleto (cedente, valores, data de vencimento, linha digitável) antes de iniciar o pagamento. O provedor é resolvido a partir de accountFrom ou accountId, quando presentes.

Request Body:

json
{
  "barCode": {
    "type": "NPC",
    "digitable": "23793.38128 60000.000003 00000.000400 1 84340000010000",
    "barCode": "23791843400000100003381286000000000000000040"
  },
  "externalNSU": "123456",
  "externalTerminal": "TERM001"
}
CampoTipoObrigatórioDescrição
barCode.typestringNãoTipo do código de barras
barCode.digitablestringNãoLinha digitável
barCode.barCodestringNãoValor numérico do código de barras
externalNSUstringNãoReferência externa da transação
externalTerminalstringNãoId do terminal
accountFrom / accountIdstringNãoUsado apenas para resolver o provedor bancário

Response 200 OK:

json
{
  "assignor": "EMPRESA EXEMPLO LTDA",
  "registerData": {
    "originalValue": "100.00",
    "totalUpdated": "102.00",
    "totalWithDiscount": "95.00",
    "discountValue": "5.00",
    "fineValueCalculated": "1.00",
    "interestValueCalculated": "1.00",
    "payDueDate": "2026-03-20",
    "allowChangeValue": "false"
  },
  "settleDate": "2026-03-20",
  "dueDate": "2026-03-20",
  "digitable": "23793.38128 60000.000003 00000.000400 1 84340000010000",
  "transactionId": "7110444",
  "type": "NPC",
  "value": "100.00",
  "maxValue": "100.00",
  "minValue": "100.00",
  "status": "success",
  "errorCode": "0",
  "message": ""
}

POST /v1/bills/CreateCharge ​

Cria uma cobrança (emissão de boleto) no provedor bancário configurado. O gateway repassa o corpo da requisição como está para a API de cobrança do provedor; o único campo que o próprio gateway lê é a conta recebedora (receiver.account, ou accountFrom / accountId), usada para resolver o provedor.

Request Body:

O payload de criação de cobrança aceito pelo provedor bancário. Ele inclui um objeto receiver cujo account é usado para o roteamento do provedor.

json
{
  "receiver": {
    "account": "30054029183"
  }
}
CampoTipoObrigatórioDescrição
receiver.accountstringNãoConta recebedora; usada para resolver o provedor

Os demais campos são os exigidos pela API de cobrança do provedor bancário subjacente e são repassados sem alteração. Consulte a especificação de cobrança do seu provedor para a lista completa de campos.

Response 200 OK:

Retorna o objeto da cobrança tal como devolvido pelo provedor bancário (data). Os campos são definidos pelo provedor; um transactionId que identifica a cobrança criada é incluído e pode ser usado com CheckCharge / getChargePDF.

json
{
  "transactionId": "7110444",
  "status": "PENDING"
}

POST /v1/bills/CheckCharge ​

Retorna as informações de uma cobrança já criada, identificada pelo transactionId.

Request Body:

json
{
  "transactionId": "7110444"
}
CampoTipoObrigatórioDescrição
transactionIdstringSimIdentificador da cobrança a consultar
accountId / receiverAccountstringNãoUsado apenas para resolver o provedor bancário

Response 200 OK:

Retorna o objeto da cobrança tal como devolvido pelo provedor bancário (data).

json
{
  "transactionId": "7110444",
  "status": "PENDING"
}

POST /v1/bills/getChargePDF ​

Retorna o PDF de uma cobrança (boleto), identificada pelo transactionId.

Request Body:

json
{
  "transactionId": "7110444"
}
CampoTipoObrigatórioDescrição
transactionIdstringSimIdentificador da cobrança cujo PDF será retornado
accountId / receiverAccountstringNãoUsado apenas para resolver o provedor bancário

Response 200 OK:

Retorna o PDF da cobrança tal como produzido pelo provedor bancário (data).

json
{
  "transactionId": "7110444",
  "pdf": "JVBERi0xLjQKJeLj...[base64 encoded PDF]"
}