Criação de CCB — Pagamento de Boleto (BILLET_PAYMENT)

Visão Geral

Neste fluxo, o desembolso da CCB é realizado via liquidação de boleto bancário. O payload carrega os dados do boleto previamente validado no array billets_info, incluindo o código digitável, valores, datas e hashes de validação.

Assim como no fluxo de QR Code PIX, o boleto deve ser validado antes da criação da Application — o campo validation_hash

Etapa 1 — Validação do Boleto

Antes de criar a Application, o boleto deve ser validado para confirmar que o valor e o beneficiário são compatíveis com a operação. O validation_hash retornado deve ser incluído no campo correspondente dentro de billets_info.

Consulte a massa de testes aqui

1. Validar o boleto → curl --location --request POST '{{api_host}}/banking/originator/billets/validate-billets' \
--header 'Authorization: {{originator_access_token}}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "billets": [
    {
      "digitable_or_bar_code": "23797898400001500003381260083013525600006330"
    },
    {
      "digitable": "00190000090100159000700117369173390420000098888"
    },
    {
      "bar_code": "00191000000000341080000003373384221022152517"
    }
  ]
}'


Etapa 2 — Criação da Application

Endpoint

POST /banking/originator/applications

Payload Completo

{
  "product": {
    "id": "d4e5252f-f3fc-47a3-8ef9-7a8d9ff4e60f"
  },
  "borrower": {
    "id": "a03f9d67-1afa-48df-b1c5-537be306f26e"
  },
  "funding": {
    "id": "7b8432fb-34e7-4f14-ba6a-a24dc2b29c35"
  },
  "simulation_id": "e5d70282-00be-4ce9-8ec3-a66b88a42f56",
  "payment_method": "BILLET_PAYMENT",
  "billets_info": [
    {
      "digitable": "12190000050000001111442325241141800000000000000",
      "type": 2,
      "amount": 1500,
      "assignor": "BANCO GERADOR S.A.",
      "payer": "PAGADOR AMBIENTE DE HOMOLOGACAO",
      "recipient": "BENEFICIARIO AMBIENTE HOMOLOGACAO",
      "original_amount": 1500,
      "settle_date": "10/03/2026",
      "document_payer": "698.447.801-44",
      "document_recipient": "87.754.347/0001-08",
      "validation_hash": "9fed06ed460c1bf287e442b4a5dc7bcb",
      "discount_amount": 0,
      "fine_amount": 0
    }
  ]
}

billets_info é um array — é possível incluir múltiplos boletos em uma única operação, desde que a soma dos amount seja compatível com o valor da simulação.


Referência de Campos

Campos raiz

CampoTipoObrigatórioDescrição
product.iduuidsimID do produto configurado
borrower.iduuidsimID do tomador cadastrado
funding.iduuidsimID do fundo/originador
simulation_iduuidsimRetornado pelo endpoint /preview. Vincula os dados da simulação
payment_methodenumsimMétodo de pagamento do desembolso. BILLET_PAYMENT para este fluxo
billets_infoarraysimLista de boletos a serem liquidados no desembolso

Objeto dentro de billets_info

CampoTipoObrigatórioDescrição
digitablestringsimCódigo digitável do boleto (linha digitável)
typeintegersimTipo do boleto. 1 = convênio · 2 = banco
amountnumbersimValor a ser pago neste boleto (pode ser diferente do original_amount se houver desconto ou multa)
original_amountnumbersimValor original do boleto sem ajustes
assignorstringsimNome do banco/cedente emissor do boleto
payerstringsimNome do pagador identificado no boleto
recipientstringsimNome do beneficiário/recebedor do boleto
document_payerstringsimCPF ou CNPJ do pagador (com formatação)
document_recipientstringsimCPF ou CNPJ do beneficiário (com formatação)
settle_datestringsimData de vencimento/liquidação no formato DD/MM/YYYY
validation_hashstringsimHash retornado pela validação prévia do boleto. Garante integridade dos dados
discount_amountnumbernãoValor de desconto aplicado. Enviar 0 se não houver
fine_amountnumbernãoValor de multa aplicada. Enviar 0 se não houver

Diferenças em Relação ao Fluxo de QR Code PIX

Pagamento via BoletoPagamento via QR Code PIX
payment_methodBILLET_PAYMENTQRCODE_PIX
Dados de pagamentobillets_infobeneficiary_account
IdentificadorCódigo digitávelChave PIX + EMV
Múltiplos destinosSim — array com N boletosNão — único QR Code por operação
Validação préviavalidation_hash/validate-pix-emv

Observações Importantes

validation_hash é obrigatório — deve ser obtido na etapa de validação do boleto. Enviar um hash inválido ou ausente resultará em erro no processamento do desembolso.

Múltiplos boletos — o array billets_info aceita mais de um boleto por operação. A soma dos campos amount de todos os itens deve ser compatível com o valor da simulação.

settle_date — deve ser uma data válida e não vencida no momento do desembolso. Boletos vencidos podem ser recusados dependendo da política do banco emissor.

beneficiary_account não deve ser enviado neste fluxo — é exclusivo para operações QRCODE_PIX e será ignorado ou retornará erro se enviado junto com payment_method: BILLET_PAYMENT.

simulation_id — expira após um período configurado no produto. Sempre crie a Application logo após a simulação para evitar expiração.


Erros Comuns

SituaçãoCausa provável
Boleto recusado no desembolsovalidation_hash inválido ou expirado
Valor divergenteSoma dos amount em billets_info não corresponde ao valor da simulação
Boleto vencidosettle_date anterior à data do desembolso
document_recipient inválidoCPF/CNPJ do beneficiário com formatação incorreta ou não elegível
simulation_id expiradoTempo entre simulação e criação excedeu o limite configurado no produto

Documento gerado para integração técnica. Em caso de dúvidas, acione o time de suporte via canal dedicado.