andrewschiozo / api-cobranca-bb
Integração com a API de Cobranças do Banco do Brasil
Requires
- php: >=8.4
- guzzlehttp/guzzle: ^7.10
- php-di/php-di: ^7.1
- psr/clock: ^1.0
- psr/log: ^3.0
- vlucas/phpdotenv: ^5.6
Requires (Dev)
- phpunit/phpunit: ^12.4
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-08-31 16:33:20 UTC
README
Biblioteca desacoplada e testada para integração com a API de Boletos e Cobranças do Banco do Brasil.
Criada com foco em desacoplamento e testabilidade, esta lib implementa a lógica do Banco do Brasil isolada de qualquer framework PHP.
Projetada em Arquitetura Hexagonal (Ports and Adapters) para garantir que você possa trocar a camada de comunicação HTTP ou o Logger sem precisar tocar na lógica de negócio do BB (Domínio).
De lambuja, ainda entrega uma implementação de httpclient funcional, um container que entrega os adapters mínimos e um serviço de fachada pra executar todos os usecases.
Isso não é uma LIB, é uma MÃE.
Recursos disponíveis
Registro
- Data de vencimento
- Valor do título
- Nosso número
- Dados do Pagador
-
- Número do documento
-
- Nome
-
- Endereço (logradouro, cep, cidade, bairro, uf)
-
- Contato (telefone, email)
- Data de Emissão
- Valor do Abatimento
- Quantidade de Dias de Protesto
- Negativação
-
- Quantidade de Dias de Negativação
-
- Órgão Negativador (SERASA/QUOD)
- Indicador de Aceite Título Vencido
- Número de Dias Limite de Recebimento
- Código de Aceite (reconhecimento da dívida pelo pagador)
- Tipo do Título (padrão DUPLICATA MERCANTIL)
- Indicador de Permissão de Recebimento Parcial
- Número do título para o Beneficiário
- Mensagem Bloqueto Ocorrência (impressa no boleto)
- Descontos (SEM DESCONTO, VALOR FIXO, PERCENTUAL, POR DIA DE ANTECIPAÇÃO)
-
- Primeiro Desconto (O tipo do primeiro desconto será utilizado para o segundo e terceiro desconto.)
-
- Segundo Desconto
-
- Terceiro Desconto
- Juros (VALOR POR DIA ATRASO, TAXA MENSAL, ISENTO)
- Multa (SEM MULTA, VALOR FIXO, PERCENTUAL)
- Dados do Beneficiário Final (sacador avalista)
-
- Número do documento
-
- Nome
- QRCode Pix
Consulta
- Consulta de boletos pelo nosso número, retornando todos os dados do boleto
Alteração (instrução)
- Data de vencimento
- Valor do título
Autenticação
- Integração oAuth para obtenção do access_token
Observações iniciais
O uso da configuração pelos arquivos .env e src/Infrastructure/Bootstrap/container.php é totalmente OPCIONAL, você pode criar instanciar as classes manualmente, criar seu próprio container ou configurar um container já existente.
Instalação
composer install
Testes
./vendor/bin/phpunit
Referências
Documentação oficial do Banco do Brasil
ToDo
- Corrigir Testes existentes
- Criar Testes Unitários p/ os Formatters e ValueObjects
- Implementar todas as opções de registro do boleto
- Implementar todas as opções de alteração do boleto
- Substituir retornos em array por retornos tipados (DTOs) p/ melhor previsibilidade
- Criar camada
RuleCheckerpara validar o payload antes de enviar p/ o BB - Remover duplicidade de regras/validação p/ Value Objects do tipo dinheiro. Abstrair valores monetários e percentuais.