egcservices / iugu-extension
Extensão do IUGU. Criada por Gabriel Perez. Atualizada por Elson Costa.
Requires
- php: ^7.4|^8.0
- composer-runtime-api: ^2.0
- ext-json: *
- egcservices/iugu-php-sdk: ^2.0
- guzzlehttp/guzzle: ^7.3.0
README
Biblioteca base utilizada egcservices/iugu-php-sdk
Biblioteca que realiza integração com a API da Iugu
Instalação via composer
$ composer require egcservices/iugu-extension
Serviços
Este SDK extende os seguintes serviços:
Referência da API
Documentação iugu-php-sdk
Configuração
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');
MarketPlace
Listar subcontas
$response = $iugu->marketplace()->list(); // Imprime uma lista de subcontas echo $response;
Criar MarketPlace
$response = $iugu->marketplace()->create([ 'parametros' ]); // Imprime o ID da subconta dd($response);
Editar MarketPlace
$response = $iugu->marketplace()->update('SUBCONTA_ID',[ 'parametros' ]); // Imprime a subconta atualizada dd($response);
Enviar verificação de subconta
$response = $iugu->marketplace()->requestVerification('SUBCONTA_ID',[ 'parametros' ]); dd($response);
Ver subconta
$response = $iugu->marketplace()->show('SUBCONTA_ID'); dd($response);
Pedido de saque
$response = $iugu->marketplace()->requestWithdraw('SUBCONTA_ID'); dd($response);
Master
Adicionar Domicílio Bancário
$iugu->master()->createBankVerificantion(['parametros']);
Verificar Envio de Domicilio Bancario
$iugu->master()->showBankVerificantion();
Solicitar verificação para uso de Cartão de Crédito
⚠️ O documento de comprovante de Contrato Social ou documento de Atividade é obrigatório
Além deste documento é necessário enviar (CNH ou RG) ou CPF caso não possua CNH.
$iugu->master()->requestCreditCardVerification(['parametros']);
Verificar Solicitação de cartão de crédito
$iugu->master()->checkCreditCardVerification();
Configurar Pagamentos
Habilita ou Desabilita o Pix.
$iugu->master()->settingPix(TRUE or FALSE)
Consultar Gestão de Cobranças.
$iugu->master()->ConsultManagement()
Alterar Gestão de Cobranças.
$iugu->master()->updateManagement()
Multi Split
⚠️ Criar um novo multi split sobrepõe o que já está configurado. Todas as faturas pagas em uma conta irão respeitar as regras de splits criadas.
Criar split
$response = $iugu->split()->create(['parametros']); dd($response);
Listar splits
$response = $iugu->split()->list(); dd($response);
Visualizar split
$response = $iugu->split()->search('split_id'); dd($response);
Consultar splits
$response = $iugu->split()->current('split_id'); dd($response);
Planos
Listar um plano
$response = $iugu->plan->list(); dd($response);
criar um plano
$response = $iugu->plan->create(['paramentros']); dd($response);
Alterar um Plano
$response = $iugu->plan->update('id', ['paramentros']); dd($response);
Remover Plano
$response = $iugu->plan->destroy('id'); dd($response);
Buscar Plano
$response = $iugu->plan->get('id'); dd($response);
Buscar Plano pelo Identificador
$response = $iugu->plan->getByIdentifier('identifier'); dd($response);
alterar um plano
Helps
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';
iugu-php-sdk
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 egcservices\Iugu; use egcservices\Iugu\Exceptions\IuguException; use egcservices\Iugu\Exceptions\IuguValidationException; $iugu = new Iugu('SEU_TOKEN');
Clientes
Criar cliente
$customer = $iugu->customer()->create([ 'name' => 'Lucas Colette', 'email' => 'lucas@bubb.com.br', ]); // 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' => '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 ], ], ]);
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' => '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'];
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
Change log
Consulte CHANGELOG para obter mais informações sobre o que mudou recentemente.
Contribuindo
Consulte CONTRIBUTING para obter mais detalhes.
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.