egcservices/iugu-extension

Extensão do IUGU. Criada por Gabriel Perez. Atualizada por Elson Costa.

2.0.1 2021-06-01 15:21 UTC

This package is auto-updated.

Last update: 2024-05-14 02:35:51 UTC


README

Biblioteca base utilizada egcservices/iugu-php-sdk

Biblioteca que realiza integração com a API da Iugu

StyleCI

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

StyleCI Maintainability

Instalação via composer

$ composer require egcservices/iugu-php-sdk

Serviços

Este SDK suporta os seguintes serviços:

Referência da API

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.