PHPackages                             nibblelab/boletobancario-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. [API Development](/categories/api)
4. /
5. nibblelab/boletobancario-php

ActiveLibrary[API Development](/categories/api)

nibblelab/boletobancario-php
============================

client for BoletoBancario's Boleto Fácil REST API

1.2-stable(7y ago)2481Apache-2.0PHPPHP ^7.1.0

Since Feb 22Pushed 6y ago1 watchersCompare

[ Source](https://github.com/nibblelab/boletobancario-php)[ Packagist](https://packagist.org/packages/nibblelab/boletobancario-php)[ RSS](/packages/nibblelab-boletobancario-php/feed)WikiDiscussions master Synced yesterday

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

Biblioteca de integração com a API de geração de pagamentos via boleto e cartão fornecida pela Boleto Bancário
==============================================================================================================

[](#biblioteca-de-integração-com-a-api-de-geração-de-pagamentos-via-boleto-e-cartão-fornecida-pela-boleto-bancário)

A especificação da API pode ser encontrada em

Pré requisitos
--------------

[](#pré-requisitos)

- PHP &gt;= 7.1.0
- libcurl
- composer

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

[](#instalação)

Instale pelo composer

```
$ composer require nibblelab/boletobancario-php

```

Requisição de Pagamento
-----------------------

[](#requisição-de-pagamento)

Para requisitar um pagamento primeiro crie os dados do mesmo, assim como quem está pagando

```
include './vendor/autoload.php';

use BoletoFacil\Payment\PaymentItem;
use BoletoFacil\Payment\Payer;
use BoletoFacil\BoletoFacil;

$item = new PaymentItem();
$item->setDescricao("Descrição"); # texto de descrição do pagamento
$item->setDataVencimento("99/99/9999"); # data de vencimento, no formato DD/MM/YYYY
$item->setValor(10.50); # valor do pagamento
$item->setReferencia("Id interno"); # referência do pagamento que me permita linkar o registro interno do meu sistema com o do boleto fácil

$pagador = new Payer();
$pagador->setNome("Teste de Teste"); # nome do pagador
$pagador->setCpfCnpj("099.999.999-99"); # CPF do pagador

```

### Pagamento via Boleto

[](#pagamento-via-boleto)

```
$token = "seu_token"; # token de produção ou sandbox
try
{
    //$b = new BoletoFacil($token,"sua url de notificação",true); # modo sandbox
    $b = new BoletoFacil($token,"sua url de notificação"); # modo produção
    $url = $b->gerarBoleto($item, $pagador); # gera o boleto e obtem a URL de checkout
}
catch(Exception $ex)
{
    echo $ex->getMessage();
}

```

### Pagamento via Carnê

[](#pagamento-via-carnê)

```
$item->setParcelas(2); # carnê possui duas ou mais parcelas
$token = "seu_token"; # token de produção ou sandbox
try
{
    //$b = new BoletoFacil($token,"sua url de notificação",true); # modo sandbox
    $b = new BoletoFacil($token,"sua url de notificação"); # modo produção
    $urls = $b->gerarCarne($item, $pagador); # gera o boleto e obtem as URLs de checkout
}
catch(Exception $ex)
{
    echo $ex->getMessage();
}

```

### Pagamento via Cartão

[](#pagamento-via-cartão)

```
$token = "seu_token"; # token de produção ou sandbox
try
{
    //$b = new BoletoFacil($token,"sua url de notificação",true); # modo sandbox
    $b = new BoletoFacil($token,"sua url de notificação"); # modo produção
    $url = $b->gerarPagtoCartao($item, $pagador); # gera o pagamento e obtem a URL de checkout
}
catch(Exception $ex)
{
    echo $ex->getMessage();
}

```

### Pagamento via Cartão com antecipação de parcelas

[](#pagamento-via-cartão-com-antecipação-de-parcelas)

```
$token = "seu_token"; # token de produção ou sandbox
try
{
    //$b = new BoletoFacil($token,"sua url de notificação",true); # modo sandbox
    $b = new BoletoFacil($token,"sua url de notificação"); # modo produção
    $url = $b->gerarPagtoCartao($item, $pagador, true); # gera o pagamento e obtem a URL de checkout
}
catch(Exception $ex)
{
    echo $ex->getMessage();
}

```

### Pagamento via Cartão ou boleto

[](#pagamento-via-cartão-ou-boleto)

```
$token = "seu_token"; # token de produção ou sandbox
$antecipar = false; # flag para permitir ou não a antecipação de parcelas
try
{
    //$b = new BoletoFacil($token,"sua url de notificação",true); # modo sandbox
    $b = new BoletoFacil($token,"sua url de notificação"); # modo produção
    $url = $b->gerarBoletoOuCartao($item, $pagador, $antecipar); # gera o pagamento e obtem a URL de checkout
}
catch(Exception $ex)
{
    echo $ex->getMessage();
}

```

### Pagamento Transparente via Cartão

[](#pagamento-transparente-via-cartão)

O hash do cartão é obrigatório nessa modalidade de pagamento. Instruções de como gerar esse campo estão em: [https://www.boletobancario.com/boletofacil/integration/integration.html#credit\_card\_hash](https://www.boletobancario.com/boletofacil/integration/integration.html#credit_card_hash)

```
$token = "seu_token"; # token de produção ou sandbox
$hash_cartao = "hash_cartao"; # hash do cartão de crédito

try
{
    //$b = new BoletoFacil($token,"sua url de notificação",true); # modo sandbox
    $b = new BoletoFacil($token,"sua url de notificação"); # modo produção
    $b->gerarPagtoCartaoTransparente($item, $pagador, $hash_cartao); # gera o pagamento

    $status = $b->getPaymentResponse()->getData()->getPayments()[0]->getStatus(); # obtendo o status da transação
    if($status == 'AUTHORIZED' || $status == 'CONFIRMED') # pagamento permitido
    {
        $id_cartao = $b->getPaymentResponse()->getData()->getPayments()[0]->getCreditCardId(); # obtendo o id do cartão
    }
    else if($status == 'DECLINED' || $status == 'FAILED' || $status == 'NOT_AUTHORIZED') # pagamento não permitido
    {

    }
}
catch(Exception $ex)
{
    echo $ex->getMessage();
}

```

### Pagamento Transparente via Cartão com armazenamento de cartão

[](#pagamento-transparente-via-cartão-com-armazenamento-de-cartão)

O hash do cartão é obrigatório nessa modalidade de pagamento. Instruções de como gerar esse campo estão em: [https://www.boletobancario.com/boletofacil/integration/integration.html#credit\_card\_hash](https://www.boletobancario.com/boletofacil/integration/integration.html#credit_card_hash)

É possível armazenar o cartão de crédito para futuros pagamentos. Se for o caso, o Boleto Fácil gerará um id que pode ser enviado em futuras transações de pagamento transparente.

```
$token = "seu_token"; # token de produção ou sandbox
$hash_cartao = "hash_cartao"; # hash do cartão de crédito

$id_cartao = ''; # id de cartão previamente armazenado
$armazenar_cartao = true; # flag para indicar se o cartão será armazenado ou não
try
{
    //$b = new BoletoFacil($token,"sua url de notificação",true); # modo sandbox
    $b = new BoletoFacil($token,"sua url de notificação"); # modo produção
    $b->gerarPagtoCartaoTransparente($item, $pagador, $hash_cartao, $id_cartao, $armazenar_cartao); # gera o pagamento

    $status = $b->getPaymentResponse()->getData()->getPayments()[0]->getStatus(); # obtendo o status da transação
    if($status == 'AUTHORIZED' || $status == 'CONFIRMED') # pagamento permitido
    {

    }
    else if($status == 'DECLINED' || $status == 'FAILED' || $status == 'NOT_AUTHORIZED') # pagamento não permitido
    {

    }
}
catch(Exception $ex)
{
    echo $ex->getMessage();
}

```

Notificação de Pagamento
------------------------

[](#notificação-de-pagamento)

A API Boleto Fácil notifica as mudanças no status do pagamento para a url que informou durante a requisição de pagamento.

Para processar essa notificação e obter os dados use

```
include './vendor/autoload.php';

use BoletoFacil\BoletoFacil;

$token = "seu_token"; # token de produção ou sandbox
try
{
    //$b = new BoletoFacil($token,"",true); # modo sandbox
    $b = new BoletoFacil($token); # modo produção
    $b->processarNotificacao(); # processa a requisição

    $valor_pago = $b->getNotificationResponse()->getValorPago(); # obtendo o valor pago
    $valor_taxas = $b->getNotificationResponse()->getValorTaxas(); # obtendo o valor das taxas
    $valor_cobrado = $b->getNotificationResponse()->getValorCobrado(); # obtendo o valor cobrado
    $referencia = $b->getNotificationResponse()->getPagtoReferencia(); # obtendo a referência do pagamento fornecida durante o pagamento
}
catch(Exception $ex)
{
    echo $ex->getMessage();
}

```

Busca de cobranças
------------------

[](#busca-de-cobranças)

### Pela data de vencimento

[](#pela-data-de-vencimento)

```
include './vendor/autoload.php';

use BoletoFacil\BoletoFacil;

$token = "seu_token"; # token de produção ou sandbox
try
{
    //$b = new BoletoFacil($token,"",true); # modo sandbox
    $b = new BoletoFacil($token); # modo produção
    $pagamentos = $b->buscarCobrancasPorDataVencimento('99/99/9999'); # busca as cobranças que venceram após a data fornecida
    # itere
    foreach($cobrancas as $c)
    {
        $data_vencimento = $c->getDueDate(); # data de vencimento
        # liste os pagamentos do registro
        foreach($c->todosOsPagamentos() as $p) {
            $data_pagto = $p->getDate(); # data do pagamento
            $valor_pago = $p->getAmount(); # valor pago
            $valor_taxas = $p->getFee(); # valor das taxas
            $tipo_pagto = $p->getType(); # tipo do pagamento
            $status_pagto = $p->getStatus(); # status do pagamento
        }
    }
}
catch(Exception $ex)
{
    echo $ex->getMessage();
}

```

### Pela data de pagamento

[](#pela-data-de-pagamento)

```
include './vendor/autoload.php';

use BoletoFacil\BoletoFacil;

$token = "seu_token"; # token de produção ou sandbox
try
{
    //$b = new BoletoFacil($token,"",true); # modo sandbox
    $b = new BoletoFacil($token); # modo produção
    $cobrancas = $b->buscarCobrancasPorDataPagto('99/99/9999'); # busca as cobranças que foram pagas após a data fornecida
    # itere
    foreach($cobrancas as $c)
    {
        $data_vencimento = $c->getDueDate(); # data de vencimento
        # liste os pagamentos do registro
        foreach($c->todosOsPagamentos() as $p) {
            $data_pagto = $p->getDate(); # data do pagamento
            $valor_pago = $p->getAmount(); # valor pago
            $valor_taxas = $p->getFee(); # valor das taxas
            $tipo_pagto = $p->getType(); # tipo do pagamento
            $status_pagto = $p->getStatus(); # status do pagamento
        }
    }
}
catch(Exception $ex)
{
    echo $ex->getMessage();
}

```

### Pela data de confirmação de pagamento

[](#pela-data-de-confirmação-de-pagamento)

```
include './vendor/autoload.php';

use BoletoFacil\BoletoFacil;

$token = "seu_token"; # token de produção ou sandbox
try
{
    //$b = new BoletoFacil($token,"",true); # modo sandbox
    $b = new BoletoFacil($token); # modo produção
    $cobrancas = $b->buscarCobrancasPorDataConfirmacaoPagto('99/99/9999'); # busca as cobranças que tiveram pagamento confirmado após a data fornecida
    # itere
    foreach($cobrancas as $c)
    {
        $data_vencimento = $c->getDueDate(); # data de vencimento
        # liste os pagamentos do registro
        foreach($c->todosOsPagamentos() as $p) {
            $data_pagto = $p->getDate(); # data do pagamento
            $valor_pago = $p->getAmount(); # valor pago
            $valor_taxas = $p->getFee(); # valor das taxas
            $tipo_pagto = $p->getType(); # tipo do pagamento
            $status_pagto = $p->getStatus(); # status do pagamento
        }
    }
}
catch(Exception $ex)
{
    echo $ex->getMessage();
}

```

License
-------

[](#license)

Este projeto está licenciado com Apache - veja [LICENSE.md](LICENSE.md) pra mais detalhes

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 87.5% 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

Unknown

Total

1

Last Release

2684d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/6741887?v=4)[Nibblelab Tecnologia](/maintainers/nibblelab)[@nibblelab](https://github.com/nibblelab)

---

Top Contributors

[![nibblelab](https://avatars.githubusercontent.com/u/6741887?v=4)](https://github.com/nibblelab "nibblelab (14 commits)")[![leonardoweslei](https://avatars.githubusercontent.com/u/942453?v=4)](https://github.com/leonardoweslei "leonardoweslei (2 commits)")

### Embed Badge

![Health badge](/badges/nibblelab-boletobancario-php/health.svg)

```
[![Health](https://phpackages.com/badges/nibblelab-boletobancario-php/health.svg)](https://phpackages.com/packages/nibblelab-boletobancario-php)
```

###  Alternatives

[corsinvest/cv4pve-api-php

Corsinvest Proxmox VE Client API PHP

811.4M](/packages/corsinvest-cv4pve-api-php)[tinify/tinify

PHP client for the Tinify API. Tinify compresses your images intelligently. Read more at https://tinify.com.

2515.4M76](/packages/tinify-tinify)[zzantares/proxmoxve

A simple PHP 5.5+ Proxmox API client.

17662.8k5](/packages/zzantares-proxmoxve)[snowcap/emarsys

Emarsys RestFull API client

381.2M](/packages/snowcap-emarsys)[shortpixel/shortpixel-php

ShortPixel PHP SDK. Read more at https://shortpixel.com/api-tools

36542.7k11](/packages/shortpixel-shortpixel-php)[mrkampf/proxmox-ve

Proxmox VE API Client

6039.7k](/packages/mrkampf-proxmox-ve)

PHPackages © 2026

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