PHPackages                             vitorccs/bradesco-api-php - 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. [Payment Processing](/categories/payments)
4. /
5. vitorccs/bradesco-api-php

ActiveLibrary[Payment Processing](/categories/payments)

vitorccs/bradesco-api-php
=========================

SDK PHP para a API de Registro de Boletos do Bradesco

v1.6.2(3y ago)477.9k24GPL-3.0PHPPHP &gt;=7.1

Since Aug 30Pushed 3y ago3 watchersCompare

[ Source](https://github.com/vitorccs/bradesco-api-php)[ Packagist](https://packagist.org/packages/vitorccs/bradesco-api-php)[ Docs](https://github.com/vitorccs/bradesco-api-php)[ RSS](/packages/vitorccs-bradesco-api-php/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (16)Used By (0)

Bradesco API - SDK PHP
======================

[](#bradesco-api---sdk-php)

SDK PHP para a API de Registro On-line de Boletos de Cobrança Bradesco

Requisitos
----------

[](#requisitos)

- PHP &gt;= 7.1

Descrição
---------

[](#descrição)

SDK em PHP para integração com os serviços de Registro On-line de Boletos de Cobrança Bradesco

[Manual\_Registro\_de\_Boleto\_Bancario\_Online\_Janeiro 2019.pdf](https://github.com/vitorccs/bradesco-api-php/files/4225281/Manual_Registro_de_Boleto_Bancario_Online_Janeiro.2019.pdf)

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

[](#instalação)

Via Composer

```
composer require vitorccs/bradesco-api-php
```

Parâmetros
----------

[](#parâmetros)

ParâmetroObrigatórioPadrãoComentárioBRADESCO\_CERT\_PATHSim-Caminho do certificado PKCS#7 em formato .pfxBRADESCO\_CERT\_PASSWORDSim-Senha do certificadoBRADESCO\_SANDBOXNãotrueUtilizar ambiente de Homologação (true) ou Produção (false)BRADESCO\_TIMEOUTNão30Timeout em segundos para estabelecer conexão com a APIBRADESCO\_FOLDER\_PATHNão""Caminho para esta biblioteca gerar arquivos temporários, necessários parar realizar a criptografia. Os arquivos são criados com hash randômica e excluídos automaticamente, sem a necessidade de se preocupar em limpá-los periodicamente.Como usar
---------

[](#como-usar)

1. Os parâmetros podem ser definidos por váriaveis de ambiente:

```
putenv('BRADESCO_SANDBOX=true');
putenv('BRADESCO_TIMEOUT=20');
putenv('BRADESCO_CERT_PATH=myCertificate.pfx');
putenv('BRADESCO_CERT_PASSWORD=myPassword');
```

ou passados por `array`:

```
\BradescoApi\Http\Bradesco::setParams([
    'BRADESCO_SANDBOX' => true,
    'BRADESCO_TIMEOUT' => 20,
    'BRADESCO_CERT_PATH' => 'myCertificate.pfx',
    'BRADESCO_CERT_PASSWORD' => 'myPassword'
]);
```

2. Em seguida, basta utilizar o comando abaixo passando os dados do boleto em formato `array`.

```
$boleto = \BradescoApi\BankSlip::create($data);
```

Normalização de dados
---------------------

[](#normalização-de-dados)

Foram adicionadas diversas funções para normalizar os dados conforme exigido pela API do Bradesco:

- Campos ausentes são inseridos com seus respectivos valores padrão (página 19 do manual).
- Valores em `null` são trocados para vazio "".
- Valores em `integer` ou `float` são convertidos para string.
- Valores com caracteres especiais (ção) são substituídos por caracteres básicos (cao).
- Valores de nome e endereço do pagador são recortados para a quantidade máxima de caracteres.
- Datas no formato "yyyy-mm-dd" ou "dd/mm/yyy" são normalizadas para "dd.mm.yyyy".
- Moedas no formato 14.90 ou "14,90" são normalizadas para "1490".
- Números de CPF e CNPJ "123.456.789-01" são normalizadas para "00012345678901".

Exemplo de implementação
------------------------

[](#exemplo-de-implementação)

```
error_reporting(E_ALL);
ini_set('display_errors', 1);

require __DIR__.'/vendor/autoload.php';

putenv('BRADESCO_SANDBOX=true');
putenv('BRADESCO_TIMEOUT=20');
putenv('BRADESCO_CERT_PATH=myCertificate.pfx');
putenv('BRADESCO_CERT_PASSWORD=myPassword');

use BradescoApi\Exceptions\BradescoApiException;
use BradescoApi\Exceptions\BradescoRequestException;

$data = [
  "nuCPFCNPJ" => "123456789",
  "filialCPFCNPJ" => "0001",
  "ctrlCPFCNPJ" => "39",
  "idProduto" => "09",
  "nuNegociacao" => "123400000001234567",
  "nuCliente" => "123456",
  "dtEmissaoTitulo" => "25/05/2017",
  "dtVencimentoTitulo" => "2017-06-20",
  "vlNominalTitulo" => 100.00,
  "cdEspecieTitulo" => "04",
  "nomePagador" => "Cliente Teste",
  "logradouroPagador" => "Rua Teste",
  "nuLogradouroPagador" => "90",
  "complementoLogradouroPagador" => null,
  "cepPagador" => "12345",
  "complementoCepPagador" => "500",
  "bairroPagador" => "Bairro Teste",
  "municipioPagador" => "Cidade Teste",
  "ufPagador" => "SP",
  "nuCpfcnpjPagador" => "549.435.260-98",
];

try {
    $bankSlip = \BradescoApi\BankSlip::create($data);
    print_r($bankSlip);
} catch (BradescoApiException $e) { // erros retornados pela API Bradesco
    echo $e->getErrorCode() == 69 // este é o único código de erro que não exige tratativa
         ? "API Bradesco indica que boleto já foi registrado"
         : sprintf("%s (%s)", $e->getMessage(), $e->getErrorCode());
} catch (BradescoRequestException $e) { // erros não tratados (erros HTTP 4xx e 5xx)
    echo sprintf("%s (%s)", $e->getMessage(), $e->getErrorCode());
} catch (\Exception $e) { // demais erros
    echo $e->getMessage();
}
```

Dicas
-----

[](#dicas)

- Mesmo em ambiente Sandbox é necessário utilizar o arquivo e senha correta do certificado, e utilizar os dados reais do beneficiário (nuCPFCNPJ, filialCPFCNPJ, ctrlCPFCNPJ, nuNegociacao). Também é necessário que a sua carteira de boletos já esteja autorizada junto ao Bradesco para utilizar a API de Registro On-line.
- Como qualquer serviço, a API do Bradesco não possui 100% de disponibilidade. É recomendável armazenar o status de sucesso, e prever algum tratamento de retentativa para os casos que não retornaram sucesso.
- A exceção BradescoApiException é lançada quando é detectado alguma mensagem de erro retornada pela própria API Bradesco, e a exceção BradescoRequestException para problemas diversos de servidor e conexão (erros HTTP 4xx e 5xx)
- A única exceção que não exige retentativa, é a de código 69 pois representa que o Boleto já se encontra registrado

OpenSSL 3
---------

[](#openssl-3)

A partir da versão 3 do OpenSSL, o certificado `.pfx` pode apresentar erro de leitura e será necessário habilitar o modo "legacy" ([veja no StackOverflow](https://stackoverflow.com/questions/73832854/php-openssl-pkcs12-read-error0308010cdigital-envelope-routinesunsupported))

Testes
------

[](#testes)

Caso queira contribuir, por favor, implementar testes de unidade em PHPUnit.

Para executar:

1. Faça uma cópia de phpunit.xml.dist em phpunit.xml na raíz do projeto
2. Altere os parâmtros ENV com os dados de seu acesso
3. Execute o comando abaixo no terminal dentro da pasta deste projeto:

```
composer test
```

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity36

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 95.2% of commits — single point of failure

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

Every ~107 days

Recently: every ~306 days

Total

15

Last Release

1309d ago

PHP version history (2 changes)v1.0PHP &gt;=7.0.0

v1.6.0PHP &gt;=7.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/2d5d2e771a97ac9dc5a1a1c8a18ec3cf97b5ea7872bfbc0fd62b060545cf6dfa?d=identicon)[vitorccs](/maintainers/vitorccs)

---

Top Contributors

[![vitorccs](https://avatars.githubusercontent.com/u/9891961?v=4)](https://github.com/vitorccs "vitorccs (40 commits)")[![adb-deploy](https://avatars.githubusercontent.com/u/125529745?v=4)](https://github.com/adb-deploy "adb-deploy (2 commits)")

---

Tags

boletobradescocobrancaregistrotitulo

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/vitorccs-bradesco-api-php/health.svg)

```
[![Health](https://phpackages.com/badges/vitorccs-bradesco-api-php/health.svg)](https://phpackages.com/packages/vitorccs-bradesco-api-php)
```

###  Alternatives

[openboleto/openboleto

Biblioteca para geração de boletos bancários.

610205.4k1](/packages/openboleto-openboleto)[openboleto/opencnabphp

Biblioteca multibanco para geração e leitura de arquivos Cnab de remessa e retorno

2097.3k](/packages/openboleto-opencnabphp)[mrprompt/cielo

Integration with Cielo gateway.

481.9k1](/packages/mrprompt-cielo)

PHPackages © 2026

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