Biblioteca base utilizada egcservices/iugu-php-sdk
Biblioteca que realiza integração com a API da Iugu
$ composer require egcservices/iugu-extension
Este SDK extende os seguintes serviços:
Referência da API
Documentação iugu-php-sdk
Para utilizar este SDK, será necessário inserir em seu .env
IUGU_API_KEY=CHAVE_API_IUGU
IUGU_API_TEST_KEY=CHAVE_DE_TEST_API_IUGU
IUGU_ACCOUNT_ID=ID_DA_CONTA_MASTER
E em config/services.php
'iugu' => [
'account_id' => env('IUGU_ACCOUNT_ID', ''),
'api_test_key' => env('IUGU_API_TEST_KEY', ''),
'api_key' => env('IUGU_API_KEY', ''),
]
Ao realizar use das classes, será necessario fazer o seguinte e instaciar a classe iugu
use services\Iugu\Iugu;
use egcservices\Iugu\Exceptions\IuguException;
use egcservices\Iugu\Exceptions\IuguValidationException;
$iugu = new Iugu;
// Também possivel setar apitoken na chamada da classe
$iugu = new Iugu('apiKey');
$response = $iugu->marketplace()->list();
// Imprime uma lista de subcontas
echo $response;
$response = $iugu->marketplace()->create([
'parametros'
]);
// Imprime o ID da subconta
dd($response);
$response = $iugu->marketplace()->update('SUBCONTA_ID',[
'parametros'
]);
// Imprime a subconta atualizada
dd($response);
$response = $iugu->marketplace()->requestVerification('SUBCONTA_ID',[
'parametros'
]);
dd($response);
$response = $iugu->marketplace()->show('SUBCONTA_ID');
dd($response);
$response = $iugu->marketplace()->requestWithdraw('SUBCONTA_ID');
dd($response);
$iugu->master()->createBankVerificantion(['parametros']);
$iugu->master()->showBankVerificantion();
Além deste documento é necessário enviar (CNH ou RG) ou CPF caso não possua CNH.
$iugu->master()->requestCreditCardVerification(['parametros']);
$iugu->master()->checkCreditCardVerification();
Habilita ou Desabilita o Pix.
$iugu->master()->settingPix(TRUE or FALSE)
$iugu->master()->ConsultManagement()
$iugu->master()->updateManagement()
$response = $iugu->split()->create(['parametros']);
dd($response);
$response = $iugu->split()->list();
dd($response);
$response = $iugu->split()->search('split_id');
dd($response);
$response = $iugu->split()->current('split_id');
dd($response);
$response = $iugu->plan->list();
dd($response);
$response = $iugu->plan->create(['paramentros']);
dd($response);
$response = $iugu->plan->update('id', ['paramentros']);
dd($response);
$response = $iugu->plan->destroy('id');
dd($response);
$response = $iugu->plan->get('id');
dd($response);
$response = $iugu->plan->getByIdentifier('identifier');
dd($response);
Consts
// Obtenha um array com todos os bancos aceitos pela Iugu
const BANKS = [
'Itaú', 'Bradesco', 'Caixa Econômica', ...
]
const PERSON_TYPE = [
'Pessoa Física', 'Pessoa Jurídica'
];
const PERSON_TYPE_PHYSICAL = 'Pessoa Física';
const PERSON_TYPE_LEGAL = 'Pessoa Jurídica';
const INTERVAL_TYPES = [
'weeks', 'months'
];
const INTERVAL_TYPE_WEEKS = 'weeks';
const INTERVAL_TYPE_MONTHS = 'months';
const PAYABLE_WITHS = [
'all', 'credit_card', 'bank_slip', 'pix'
];
const PAYABLE_WITH_ALL = 'all';
const PAYABLE_WITH_CREDIT_CARD = 'credit_card';
const PAYABLE_WITH_BANK_SLIP = 'bank_slip';
const PAYABLE_WITH_PIX = 'pix';
Biblioteca que realiza integração com a API da Iugu
$ composer require egcservices/iugu-php-sdk
Este SDK suporta os seguintes serviços:
Para utilizar este SDK, será necessário utilizar seu token de acesso de sua conta Iugu.
use egcservices\Iugu;
use egcservices\Iugu\Exceptions\IuguException;
use egcservices\Iugu\Exceptions\IuguValidationException;
$iugu = new Iugu('SEU_TOKEN');
$customer = $iugu->customer()->create([
'name' => 'Lucas Colette',
'email' => 'lucas@bubb.com.br',
]);
// Imprime o ID do cliente
echo $customer['id'];
$customer = $iugu->customer()->update('ID_CLIENTE', [
'name' => 'John'
]);
$customer = $iugu->customer()->find('ID_CLIENTE');
var_dump($customer);
$iugu->customer()->delete('ID_CLIENTE');
$charge = $iugu->charge()->create([
'method' => 'bank_slip',
'email' => 'lucas@bubb.com.br',
'order_id' => uniqid(),
'payer' => [
'cpf_cnpj' => '65634052076',
'name' => 'Lucas Colette',
'phone_prefix' => '11',
'phone' => '11111111',
'email' => 'lucas@bubb.com.br',
'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
],
],
]);
$charge = $iugu->charge()->create([
'invoice_id' => '12345678',
'token' => '0000000000000000' // Token gerado através da lib iugu.js
]);
$invoice = $iugu->invoice()->create([
'order_id' => uniqid(),
'email' => 'lucas@bubb.com.br',
'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' => 'Lucas Colette',
'phone_prefix' => '11',
'phone' => '11111111',
'email' => 'lucas@bubb.com.br',
'address' => [
'street' => 'Foo Bar',
'number' => '123',
'district' => 'Foo',
'city' => 'Foo',
'state' => 'SP',
'zip_code' => '14940000',
],
],
]);
// Imprime o ID da fatura
echo $invoice['id'];
$iugu->invoice()->capture('ID_FATURA');
$iugu->invoice()->find('ID_FATURA');
$iugu->invoice()->refund('ID_FATURA');
$iugu->invoice()->cancel('ID_FATURA');
$payment = $iugu->paymentMethod()->create('ID_CLIENTE', [
'description' => 'Cartão de Crédito',
'token' => '123456',
]);
// Imprime o ID do pagamento
echo $payment['id'];
$iugu->paymentMethod()->update('ID_CLIENTE', 'ID_METODO_PAGAMENTO', [
'description' => 'Outra description',
]);
$iugu->paymentMethod()->find('ID_CLIENTE', 'ID_METODO_PAGAMENTO');
$iugu->paymentMethod()->delete('ID_CLIENTE', 'ID_METODO_PAGAMENTO');
$ composer test
Consulte CHANGELOG para obter mais informações sobre o que mudou recentemente.
Consulte CONTRIBUTING para obter mais detalhes.
Se você descobrir quaisquer problemas relacionados à segurança, envie um e-mail para contato@bubbstore.com.br em vez de usar as issues.