PHPackages                             sistem-atc/bank-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. sistem-atc/bank-sdk

ActiveLibrary

sistem-atc/bank-sdk
===================

Pacote unificado de integração bancária (Bradesco, Itaú) — Open Banking, DDA, extrato, PIX/pagamentos e CNAB 240/400

v0.1.0(yesterday)03↑2900%MITPHP ^8.2

Since Jul 22Compare

[ Source](https://github.com/sistem-atc/bank-sdk)[ Packagist](https://packagist.org/packages/sistem-atc/bank-sdk)[ RSS](/packages/sistem-atc-bank-sdk/feed)WikiDiscussions Synced today

READMEChangelogDependencies (5)Versions (2)Used By (0)

sistem-atc/bank-sdk
===================

[](#sistem-atcbank-sdk)

SDK PHP unificado de integração bancária — **Bradesco** e **Itaú**. Segue o mesmo molde do [`sistem-atc/marketplace-sdk`](https://github.com/sistem-atc/marketplace-sdk): entrypoint enum, grupos de métodos por domínio, DTOs tipados e credenciais fornecidas pelo host via contract.

Cobre Open Banking (OAuth2 client\_credentials + mTLS), consulta de extrato, cobrança (boleto e Pix), recebimentos Pix (arranjo regulatório Bacen), pagamentos (SISPAG) e CNAB 240/400.

Instalação
----------

[](#instalação)

```
composer require sistem-atc/bank-sdk
```

Laravel 10–13. O `BanksServiceProvider` é auto-descoberto e publica o config:

```
php artisan vendor:publish --tag=banks-config
```

Uso
---

[](#uso)

O entrypoint é o enum `Bank`, encadeado a partir do case:

```
use SistemAtc\Banks\Bank;

// Autenticação (client_credentials + mTLS) — devolve o AuthToken vigente
$token = Bank::Itau->auth($integration);

// Extrato (conciliação)
$eventos = Bank::Itau->statement($integration)->periodo('2026-07-01', '2026-07-31');

// Pagamento Pix de saída (SISPAG)
$res = Bank::Itau->pix($integration)->pagar([
    'valor_pagamento' => '1260.00',
    'data_pagamento'  => '2026-07-22',
    'chave'           => 'maria_pix@gmail.com',
]);
```

Trocar `Bank::Itau` por `Bank::Bradesco` não muda o código do consumidor nos domínios comuns — cada método é tipado pela interface de domínio, não pelo banco.

Credenciais — o contract `BankIntegration`
------------------------------------------

[](#credenciais--o-contract-bankintegration)

O SDK **não** guarda credenciais. O host (ex.: o ERP) implementa `SistemAtc\Banks\Contracts\BankIntegration`, entregando por request:

- `client_id` / `client_secret` do app no portal do banco;
- o **certificado mTLS** (`getCertificate(): ?ClientCertificate`) — PEM `.crt`+`.key` (Itaú, "certificado dinâmico") ou PKCS#12 `.pfx` (Bradesco);
- flags de ambiente e persistência do `access_token`.

Multiempresa é nativo: cada CNPJ tem seu app e seu certificado, e cada chamada carrega a integração da empresa dona da operação.

### Autenticação

[](#autenticação)

- **Itaú** — `client_credentials` sobre mTLS, token no STS (`sts.itau.com.br`), válido ~300s. Suporta os dois métodos de client-auth: `client_secret` (default) e `private_key_jwt` (client\_assertion RS256). Headers obrigatórios (`x-itau-apikey`, `x-itau-correlationID`) são injetados pelo SDK.
- **Bradesco** — `client_credentials` (Basic), com hook pra `client_assertion`JWT quando a API exigir.

Domínios
--------

[](#domínios)

DomínioItaúBradescoAuth (OAuth2 + mTLS)✅✅Extrato / Saldo✅✅Pagamentos / Pix saída✅✅Boletos cobrança✅✅Recebimentos Pix (Bacen COB/COBV/PIX/LOC/WEBHOOK)✅✅Pix Automático (recorrência + QR)✅—Bolecode Pix✅—Saque/Troco Pix✅—Cobrança QR Code (boleto híbrido)—✅Débito veicular (SP/MG/PR/BA)—✅Arrecadação (contas de consumo e tributos)—✅TED—✅Ágora Investimentos (somente leitura)—✅CNAB 240/400 (remessa/retorno)compartilhadocompartilhado> As APIs do Itaú vivem em hosts distintos por produto (`api.itau.com.br`, `pix-pj.api.itau.com`, `account-statement.api.itau.com`…); o SDK resolve o host por produto e ambiente.

CNAB
----

[](#cnab)

Módulo compartilhado (FEBRABAN posicional): `CnabType` (240/400), `LayoutInterface` pluggável por banco, `RetornoParser` (extração posicional) e `RemessaBuilder`.

Testes
------

[](#testes)

```
composer install
vendor/bin/pest
```

Arquitetura
-----------

[](#arquitetura)

```
src/
  Bank.php                 entrypoint (enum) → BankConnector
  Contracts/               BankIntegration, BankConnector, DTOInterface, Endpoints/*
  Common/                  AutoHydrate, CastToArray, attributes, HttpMethod
  Support/                 AuthToken, ClientCertificate, MtlsOptions, PrivateKeyJwt
  Exceptions/              BankAuthenticationException, BankRequestException
  Itau/  Bradesco/         Support (OAuth/HttpClientFactory/TokenRefresher),
                           Bases/BaseMethods, Endpoints/*, DTO/Response/*
  Cnab/                    CnabType, Layout, Remessa, Retorno, DTO

```

Licença
-------

[](#licença)

MIT.

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance100

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/91651940ca236120559f6a48f56ce5cdd7187ee6eabe5598d6a94c9e8cfac818?d=identicon)[sistem-atc](/maintainers/sistem-atc)

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/sistem-atc-bank-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/sistem-atc-bank-sdk/health.svg)](https://phpackages.com/packages/sistem-atc-bank-sdk)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.3M347](/packages/psalm-plugin-laravel)[api-platform/laravel

API Platform support for Laravel

58174.6k17](/packages/api-platform-laravel)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45444.2k1](/packages/pressbooks-pressbooks)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
