boletosimples-php
boletosimples-php copied to clipboard
Biblioteca PHP para API do Boleto Simples (DEPRECATED)
Boleto Simples PHP
Biblioteca PHP para acessar informações do Boleto Simples através da API.
Instalação
Requisitos
PHP 5.4 ou superior
Usando Composer
Crie um arquivo chamado composer.json
com o seguinte conteúdo:
{
"minimum-stability": "dev",
"prefer-stable" : true,
"require": {
"boletosimples/boletosimples": "dev-master"
}
}
Execute:
$ composer install
Configuração
<?php
require_once 'vendor/autoload.php';
BoletoSimples::configure(array(
"environment" => 'production', // default: 'sandbox'
"access_token" => 'access-token'
));
?>
Variáveis de ambiente
Você também pode configurar as variáveis de ambiente a seguir e não será necessário chamar BoletoSimples::configure
ENV['BOLETOSIMPLES_ENV']
ENV['BOLETOSIMPLES_APP_ID']
ENV['BOLETOSIMPLES_APP_SECRET']
ENV['BOLETOSIMPLES_ACCESS_TOKEN']
Exemplos
Boletos Bancários
// Criar um boleto
$bank_billet = BoletoSimples\BankBillet::create(array (
'amount' => 9.01,
'description' => 'Despesas do contrato 0012',
'expire_at' => '2014-01-01',
'customer_address' => 'Rua quinhentos',
'customer_address_complement' => 'Sala 4',
'customer_address_number' => '111',
'customer_city_name' => 'Rio de Janeiro',
'customer_cnpj_cpf' => '012.345.678-90',
'customer_email' => '[email protected]',
'customer_neighborhood' => 'Sao Francisco',
'customer_person_name' => 'Joao da Silva',
'customer_person_type' => 'individual',
'customer_phone_number' => '2112123434',
'customer_state' => 'RJ',
'customer_zipcode' => '12312-123'
));
// Criar um novo boleto instanciando o objeto
$bank_billet = new BoletoSimples\BankBillet(['amount' => 199.99, 'expire_at' => '2020-01-01']);
$bank_billet->description = 'Cobrança XPTO';
$bank_billet->save();
// Mensagens de erro na criação do boleto
$bank_billet = BoletoSimples\BankBillet::create(['amount' => 9.1]);
print_r($bank_billet->response_errors);
// Array
// (
// [expire_at] => Array
// (
// [0] => não pode ficar em branco
// [1] => não é uma data válida
// )
//
// [customer_person_name] => Array
// (
// [0] => não pode ficar em branco
// )
//
// [customer_cnpj_cpf] => Array
// (
// [0] => não pode ficar em branco
// )
//
// [description] => Array
// (
// [0] => não pode ficar em branco
// )
//
// [customer_zipcode] => Array
// (
// [0] => não pode ficar em branco
// )
//
// )
// Pegar informações de um boleto
$bank_billet = BoletoSimples\BankBillet::find(1); // onde 1 é o id do boleto.
// Se o não for encontrado nenhum boleto com o id informado, uma exceção será levantada com a mensagem 'Not Found'
// Listar os boletos
$bank_billets = BoletoSimples\BankBillet::all(['page' => 1, 'per_page' => 50]);
foreach($bank_billets as $bank_billet) {
print_r($bank_billet->attributes());
}
// Após realizar a chamada na listagem, você terá acesso aos seguintes dados:
BoletoSimples::$last_request->total // número total de boletos
BoletoSimples::$last_request->links['first'] // url da primeira página
BoletoSimples::$last_request->links['prev'] // url da página anterior
BoletoSimples::$last_request->links['next'] // url da próxima página
BoletoSimples::$last_request->links['last'] // url da última página
// Cancelar um boleto
$bank_billet = BoletoSimples\BankBillet::find(1);
$bank_billet->cancel();
Clientes
// Criar um cliente
$customer = BoletoSimples\Customer::create(array (
'person_name' => "Joao da Silva",
'cnpj_cpf' => "321.315.217-07",
'email' => "[email protected]",
'address' => "Rua quinhentos",
'city_name' => "Rio de Janeiro",
'state' => "RJ",
'neighborhood' => "bairro",
'zipcode' => "12312-123",
'address_number' => "111",
'address_complement' => "Sala 4",
'phone_number' => "2112123434"
));
// Criar um novo cliente instanciando o objeto
$customer = new BoletoSimples\Customer();
$customer->cnpj_cpf = '828.788.171-41';
$customer->person_name = 'Joao da Silva';
$customer->zipcode = '12312-123';
$customer->save();
// Mensagens de erro na criação do cliente
$customer = BoletoSimples\Customer::create(['person_name' => 'Joao da Silva', 'cnpj_cpf' => '321.315.217-07']);
print_r($customer->response_errors);
// ["cnpj_cpf"=>["já está em uso"],"zipcode"=>["não pode ficar em branco"]]
// Pegar informações de um cliente
$customer = BoletoSimples\Customer::find(1); // onde 1 é o id do cliente.
// Se o não for encontrado nenhum cliente com o id informado, uma exceção será levantada com a mensagem 'Not Found'
// Listar os clientes
$customers = BoletoSimples\Customer::all(['page' => 1, 'per_page' => 50]);
foreach($customers as $customer) {
print_r($customer->attributes());
}
// Após realizar a chamada na listagem, você terá acesso aos seguintes dados:
BoletoSimples::$last_request->total // número total de clientes
BoletoSimples::$last_request->links['first'] // url da primeira página
BoletoSimples::$last_request->links['prev'] // url da página anterior
BoletoSimples::$last_request->links['next'] // url da próxima página
BoletoSimples::$last_request->links['last'] // url da última página
Extrato
// Listar todas as transações
$transactions = BoletoSimples\Transaction::all();
foreach($transactions as $transaction) {
print_r($transaction->attributes());
}
Extras
// Dados do usuário logado
$userinfo = BoletoSimples\Extra::userinfo();
Remessas
// Criar uma remessa
$remittance = BoletoSimples\Remittance::create(array (
'bank_billet_account_id' => "1"
));
Retornos
// Enviar um retorno
//Caminho para o seu arquivo
$path = realpath(dirname(__FILE__) . '/cnab.txt');
$discharge = BoletoSimples\Discharge::create(array (
'content' => file_get_contents($path)
));
Desenvolvendo
Instale as dependências
$ composer install
Rode os testes
$ ./vendor/bin/phpunit
Licença
Esse código é livre para ser usado dentro dos termos da licença MIT license.
Bugs, Issues, Agradecimentos, etc
Comentários são bem-vindos. Envie seu feedback através do issue tracker do GitHub
Autor
Rafael Lima trabalhando no Boleto Simples
Blog: http://rafael.adm.br
Twitter: http://twitter.com/rafaelp