onix-solutions/boletosimples

一个用于轻松访问 Boleto Simples API 的 PHP 客户端库。

v0.1.0a 2018-09-26 13:19 UTC

This package is not auto-updated.

Last update: 2024-09-20 20:56:56 UTC


README

Lates Stable Version Build Status Scrutinizer Quality Score Scrutinizer Code Coverage Dependency Status License

PHP 库,用于通过 API 访问 Boleto Simples 的信息。

安装

要求

PHP 5.4 或更高版本

使用 Composer

创建一个名为 composer.json 的文件,并包含以下内容

{
  "minimum-stability": "dev",
  "prefer-stable" : true,
  "require": {
    "onix-solutions/boletosimples": "dev-master"
  }
}

执行

$ composer install

配置

<?php

require_once 'vendor/autoload.php';

BoletoSimples::configure(array(
  "environment" => 'production', // default: 'sandbox'
  "access_token" => 'access-token'
));

?>

环境变量

您也可以配置以下环境变量,而无需调用 BoletoSimples::configure

ENV['BOLETOSIMPLES_ENV']
ENV['BOLETOSIMPLES_APP_ID']
ENV['BOLETOSIMPLES_APP_SECRET']
ENV['BOLETOSIMPLES_ACCESS_TOKEN']

示例

银行汇票

// 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' => 'cliente@example.com',
  '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();

客户

// Criar um cliente
$customer = BoletoSimples\Customer::create(array (
  'person_name' => "Joao da Silva",
  'cnpj_cpf' => "321.315.217-07",
  'email' => "cliente@example.com",
  '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

账户摘要

// Listar todas as transações
$transactions = BoletoSimples\Transaction::all();
foreach($transactions as $transaction) {
  print_r($transaction->attributes());
}

其他

// Dados do usuário logado
$userinfo = BoletoSimples\Extra::userinfo();

汇款

// Criar uma remessa
$remittance = BoletoSimples\Remittance::create(array (
  'bank_billet_account_id' => "1"
));

返回

// Enviar um retorno
//Caminho para o seu arquivo
$path = realpath(dirname(__FILE__) . '/cnab.txt');
$discharge = BoletoSimples\Discharge::create(array (
  'content' => file_get_contents($path)
));

开发

安装依赖项

$ composer install

运行测试

$ ./vendor/bin/phpunit

许可

此代码可在 MIT 许可证条款内免费使用。MIT license

错误、问题、感谢等

欢迎评论。通过 GitHub issue tracker 发送您的反馈

作者

Rafael LimaBoleto Simples 工作

博客: http://rafael.adm.br

Twitter: http://twitter.com/rafaelp