Skip to content

talesgalvao/vindi-php

 
 

Repository files navigation

vindi-php

Última Versão no Packagist Licença do Software Status de Build Status de Coverage Nota de Qualidade Downloads no Total

Este pacote consiste em um SDK em PHP para a API de Recorrência da Vindi.

Instalação

Via Composer

composer require vindi/vindi-php

Exemplo de Uso

// Coloca a chave da Vindi (VINDI_API_KEY) no environment do PHP.
putenv('VINDI_API_KEY=SUA_CHAVE_DA_API');

// Instancia o serviço de Customers (Clientes)
$customerService = new Vindi\Customer;

// Cria um novo cliente:
$customer = $customerService->create([
    'name'  => 'Teste da Silva',
    'email' => 'contato@vindi.com.br',
]);

echo "Novo cliente criado com o id '{$customer->id}'.<br />";

// Busca todos os clientes, ordenando pelo campo 'created_at' descendente.
$customers = $customerService->all(['sort_by' => 'created_at', 'sort_order' => 'desc']);

// Para cada cliente da array de clientes
foreach ($customers as $customer) {
    $customerService->update($customer->id, [
        'notes' => 'Este cliente foi atualizado pelo SDK PHP.',
    ]);

    echo "O cliente '{$customer->name}' foi atualizado!<br />";
}

Nota: Para acesso à API, a sua chave de acesso a API deverá ser configurada como uma variável de environment do PHP. Para isso, utilize um pacote como o phpdotenv ou carregue através do comando abaixo, que deverá estar posicionado anteriormente à utilização dos comandos do SDK.

// Coloca a chave da Vindi (VINDI_API_KEY) no environment do PHP.
putenv('VINDI_API_KEY=SUA_CHAVE_DA_API');

// Sua lógica aqui

Para mais detalhes sobre quais serviços existem, quais campos enviar e demais informações, verifique nossa página interativa de uso da API.

Response: Caso precise de mais detalhes sobre a resposta de cada request, utilize o método getLastResponse. Se nenhum request foi efetuado anteriormente este método retornará NULL.

// Retorna os dados da última resposta recebida dos servidores da Vindi
$lastResponse = $customerService->getLastResponse();

// Retorna o HTTP Status Code
$lastResponse->getStatusCode();
// Retorna o todos os headers
$lastResponse->getHeaders();
// Retorna um único header
$lastResponse->getHeader('Header-Name');

Trabalhando com Webhooks

Este pacote torna possível a interpretação dos webhooks enviados pela Vindi. Para tal, disponibilize uma URL/rota que será acessível pela web e nela utilize a classe Vindi\WebhookHandler para a interpretação dos eventos:

// Instancia o objeto que irá lidar com os Webhooks.
$webhookHandler = new Vindi\WebhookHandler();

// Pega o evento interpretado pelo objeto.
$event = $webhookHandler->handle();

// Decide a ação com base no evento
switch ($event->type) {
    case 'subscription_canceled':
        // Lidar com o evento de Assinatura cancelada.
        break;
    case 'subscription_created':
        // Lidar com o evento de Assinatura efetuada
        break;
    case 'charge_rejected':
        // Lidar com o evento de Cobrança rejeitada
        break;
    case 'bill_created':
        // Lidar com o evento de Fatura emitida
        break;
    case 'bill_paid':
        // Lidar com o evento de Fatura paga
        break;
    case 'period_created':
        // Lidar com o evento de Período criado
        break;
    case 'test':
        // Lidar com o evento de Teste da URL
        break;
    default:
        // Lidar com falhas e eventos novos ou desconhecidos
        break;
}

Changelog

Por favor, veja o CHANGELOG para mais informações sobre o que mudou recentemente.

Testando

composer test

Contribuindo

Por favor, veja o CONTRIBUTING para detalhes.

Segurança

Se você descobrir qualquer questão relacionada a segurança, por favor, envie um e-mail para contato@vindi.com.br ao invés de utilizar os issues.

Créditos

Suporte

Para suporte ao sdk e dúvidas relacionadas a Vindi você pode seguir pelos canais:

Licença

GNU GPLv3. Por favor, veja o Arquivo de Licença para mais informações.

About

SDK PHP para a API de Recorrência da Vindi

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%