egcservices / iugu-php-sdk
Biblioteca não oficial de integração com a API da Iugu
2.0
2021-06-01 12:12 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.3
Requires (Dev)
- codeclimate/php-test-reporter: ~0.4.4
- larapack/dd: ^1.1
- mockery/mockery: ^1.4.2
- phpunit/phpunit: ^9.5.4
- squizlabs/php_codesniffer: ~2.3
README
Biblioteca que realiza integração com a API da Iugu
Instalação via composer
$ composer require egcservices/iugu-php-sdk
Serviços
Este SDK suporta os seguintes serviços:
Configuração
Para utilizar este SDK, será necessário utilizar seu token de acesso de sua conta Iugu.
use bubbstore\Iugu; use bubbstore\Iugu\Exceptions\IuguException; use bubbstore\Iugu\Exceptions\IuguValidationException; $iugu = new Iugu('SEU_TOKEN');
Clientes
Criar cliente
$customer = $iugu->customer()->create([ 'name' => 'User Test', 'email' => 'test@test.com', ]); // Imprime o ID do cliente echo $customer['id'];
Atualizar cliente
$customer = $iugu->customer()->update('ID_CLIENTE', [ 'name' => 'John' ]);
Buscar cliente
$customer = $iugu->customer()->find('ID_CLIENTE'); var_dump($customer);
Excluir cliente
$iugu->customer()->delete('ID_CLIENTE');
Cobranças diretas
Criar cobrança com boleto bancário
$charge = $iugu->charge()->create([ 'method' => 'bank_slip', 'email' => 'test@test.com', 'order_id' => uniqid(), 'payer' => [ 'cpf_cnpj' => '65634052076', 'name' => 'User Test', 'phone_prefix' => '11', 'phone' => '111111111', 'email' => 'test@test.com', 'address' => [ 'street' => 'Foo Bar', 'number' => '123', 'district' => 'Foo', 'city' => 'Foo', 'state' => 'SP', 'zip_code' => '14940000', ], ], 'items' => [ [ 'description' => 'Item 1', 'quantity' => 1, 'price_cents' => 1000 ], [ 'description' => 'Item 2', 'quantity' => 2, 'price_cents' => 2000 ], ], ]);
Realizar pagamento de uma fatura com cartão
$charge = $iugu->charge()->create([ 'invoice_id' => '12345678', 'token' => '0000000000000000' // Token gerado através da lib iugu.js ]);
Faturas
Criar fatura
$invoice = $iugu->invoice()->create([ 'order_id' => uniqid(), 'email' => 'test@test.com', 'due_date' => '2018-07-14', 'notification_url' => 'https://webhook.site/08703bf2-d408-4f4c-b91c-0bc8e14352b2', 'fines' => false, 'per_day_interest' => false, 'discount_cents' => 500, 'ignore_due_email' => true, 'payable_with' => 'bank_slip', 'items' => [ [ 'description' => 'Item 1', 'quantity' => 1, 'price_cents' => 1000 ], [ 'description' => 'Item 2', 'quantity' => 2, 'price_cents' => 2000 ], [ 'description' => 'Frete', 'quantity' => 1, 'price_cents' => 1000 ], ], 'payer' => [ 'cpf_cnpj' => '65634052076', 'name' => 'User Test', 'phone_prefix' => '11', 'phone' => '11111111', 'email' => 'test@test.com', 'address' => [ 'street' => 'Foo Bar', 'number' => '123', 'district' => 'Foo', 'city' => 'Foo', 'state' => 'SP', 'zip_code' => '14940000', ], ], ]); // Imprime o ID da fatura echo $invoice['id'];
Capturar fatura
$iugu->invoice()->capture('ID_FATURA');
Buscar fatura
$iugu->invoice()->find('ID_FATURA');
Reembolsar fatura
$iugu->invoice()->refund('ID_FATURA');
Cancelar fatura
$iugu->invoice()->cancel('ID_FATURA');
Métodos de pagamento
Criar método de pagamento
$payment = $iugu->paymentMethod()->create('ID_CLIENTE', [ 'description' => 'Cartão de Crédito', 'token' => '123456', ]); // Imprime o ID do pagamento echo $payment['id'];
Atualizar método de pagamento
$iugu->paymentMethod()->update('ID_CLIENTE', 'ID_METODO_PAGAMENTO', [ 'description' => 'Outra description', ]);
Buscar método de pagamento
$iugu->paymentMethod()->find('ID_CLIENTE', 'ID_METODO_PAGAMENTO');
Excluir método de pagamento
$iugu->paymentMethod()->delete('ID_CLIENTE', 'ID_METODO_PAGAMENTO');
Testando
$ composer test
Segurança
Se você descobrir quaisquer problemas relacionados à segurança, envie um e-mail para contato@bubbstore.com.br em vez de usar as issues.