Download the PHP package danielbbarcelos/laravel-bancos without Composer

On this page you can find all versions of the php package danielbbarcelos/laravel-bancos. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-bancos

laravel-bancos

CI Latest Version Total Downloads

Integração com bancos brasileiros (Pix, e futuramente boleto, pagamentos e conciliação) sob um contrato único, com um driver por banco. Você programa contra a interface canônica; cada driver faz o de-para para a API específica do banco.

Requisitos

Instalação

Configure as credenciais em .env — veja .env.example (na raiz do package) com todas as variáveis comentadas (Pix + boleto, Sicredi + C6) e config/bancos.php. Bancos de Pix exigem certificado mTLS — informe *_CERT_PATH e *_KEY_PATH.

Sicredi: como ligar de verdade

Para a integração funcionar contra a API real do Sicredi você precisa de três coisas:

  1. Credenciais OAuth2 — client_id e client_secret gerados no app do Portal do Desenvolvedor Sicredi → SICREDI_CLIENT_ID / SICREDI_CLIENT_SECRET.
  2. Certificado mTLS (obrigatório em toda chamada) — baixe no portal o .cer (PEM) e a chave .key SEM senha. Aponte em SICREDI_CERT_PATH / SICREDI_KEY_PATH. Sem o certificado, a API responde 403.
  3. Scopes — são obrigatórios (sem eles o Sicredi retorna 400 "Escopo vazio"). O driver já envia um default para Pix (cob.* pix.* webhook.*); ajuste em SICREDI_SCOPES se precisar de cobv.*, cobr.* etc.

Ambientes: produção é https://api-pix.sicredi.com.br (default). A URL de homologação não é pública — solicite ao Sicredi ([email protected]) e defina em SICREDI_BASE_URL.

Diagnóstico

Antes de emitir cobranças, valide a conexão de ponta a ponta:

O comando traduz os erros mais comuns (ex.: 403 → certificado mTLS; 401 → credenciais). Em código, o mesmo está disponível via Bancos::driver('sicredi')->verificarConexao().

Uso em SaaS / multi-tenant

Em vez de credenciais fixas no .env, cada empresa/tenant pode ter as suas. A aplicação passa tudo em runtime com Bancos::build() — nada sensível precisa ir para o .env:

[!note] Bancos::driver('sicredi') (modo .env) e Bancos::build('sicredi', [...]) (runtime) coexistem. Single-tenant usa o primeiro; SaaS usa o segundo.

Cobrança com vencimento (cobv) — "boleto-Pix"

Cobrança com data de vencimento, multa, juros e desconto. O txid é sempre seu (PUT):

[!note] cobv exige os scopes cobv.read cobv.write no token — já incluídos no default do driver Sicredi. As modalidades de multa/juros/desconto seguem o padrão BACEN.

Gerenciar cobrança e conciliar

Boleto registrado

📖 Guia de integração completo (multi-tenant com credenciais em runtime, emissão, PDF, alteração, listagem, webhook, tratamento de erros e exemplo Service+Controller): docs/README.md.

A API de boleto do Sicredi é um produto separado do Pix (outra base URL, OAuth2 grant_type=password + x-api-key, sem mTLS). Configure o bloco boleto em config/bancos.php e use:

[!note] Cheque o suporte antes: Bancos::banco()->suporta(Recurso::Boleto).

Webhook de boleto (liquidação/estorno)

Diferente do webhook Pix, o boleto usa um contrato de webhook:

Webhook Pix (confirmação de recebimento)

Para saber que uma cobrança foi paga, registre um webhook e processe a notificação.

1. Registrar o webhook no PSP

2. Receber a notificação

O package não registra rota — você cria o endpoint e aplica a sua segurança. O Sicredi notifica via mTLS (valide o certificado do cliente na borda: servidor web / proxy), e é recomendável restringir por IP. No controller, delegue o parsing ao package:

processarNotificacao() dispara o evento Events\PixRecebido para cada Pix recebido e retorna list<Recebimento>.

3. Reagir ao pagamento

[!warning] O endpoint de webhook é público. Proteja-o (mTLS do PSP na borda + allowlist de IP). O padrão BACEN não usa assinatura HMAC — a autenticidade vem do mTLS.

Arquitetura

Camada Papel
Contracts\* O contrato canônico, independente de banco (Banco, PixGateway, BoletoGateway).
Data\* DTOs readonly canônicos (Valor, Pessoa, CobrancaImediata, CobrancaComVencimento, Cobranca, Devolucao, Webhook, Recebimento).
Events\* Eventos de domínio (PixRecebido, BoletoLiquidado), despachados ao processar webhooks.
BancoManager Resolve/cacheia drivers a partir da config. Use extend() para registrar bancos próprios.
Drivers\Bacen\* Núcleo reutilizável do padrão BACEN: BacenPixGateway + Mappers + ClienteHttpBacen (mTLS, cache de token).
Drivers\<Banco> Só o que muda por banco: autenticação (token) e rotas/versões. Reaproveita o núcleo BACEN.

Como Sicredi, C6 e a maioria dos PSPs brasileiros seguem o padrão Pix do BACEN, o de-para vive uma vez só em Drivers\Bacen. Um novo banco geralmente é só um Connector (como ele emite o token) + os prefixos de rota.

Trocar de banco não muda o código de quem chama.

Registrar um driver de terceiros

Suporte atual

Banco Pix Boleto Pagamento Conciliação
Sicredi ✅ ✅ 🔜 🔜
C6 ✅* 🔜 🔜 🔜

* C6: implementado sobre o núcleo BACEN. O endpoint de token, scopes e versão das rotas estão sob a doc oficial (portal exige cadastro) — confirme e ajuste via config (token_url, token_via_basic, scopes, rota_cob, rota_pix) antes de produção.

Antes de chamar um recurso que pode não existir: Bancos::banco()->suporta(Recurso::Boleto).

Testes

Os testes usam Http::fake() — não tocam nenhuma API real.

Segurança

Robustez


All versions of laravel-bancos with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/support Version ^11.0|^12.0
illuminate/http Version ^11.0|^12.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package danielbbarcelos/laravel-bancos contains the following files

Loading the files please wait ...