wisereducacao/vindi-php

SDK Vindi para PHP.

This package's canonical repository appears to be gone and the package has been frozen as a result.

dev-master / 1.0.x-dev 2020-03-25 12:18 UTC

This package is not auto-updated.

Last update: 2021-09-24 14:03:09 UTC


README

alt text align:center

Vindi - SDK PHP

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

Descrição

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

Requisitos

  • PHP >=5.5.19;
  • Certificado digital HTTPS assinado por uma entidade certificadora;
  • Conta ativa na Vindi.

Instalação

Via Composer

composer require vindi/vindi-php

Teste

composer test

Exemplo

require __DIR__.'/vendor/autoload.php';

// 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 />";
}

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 corpo da requisição
$body = (string) $customerService->getLastResponse()->getBody();
// Retorna o HTTP Status Code
$lastResponse->getStatusCode();
// Retorna o todos os headers
$lastResponse->getHeaders();
// Retorna um único header
$lastResponse->getHeader('Header-Name');

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:

require __DIR__.'/vendor/autoload.php';

// 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;
}

Dúvidas

Caso necessite de informações sobre a plataforma ou API, por favor acesse o Atendimento Vindi.

Contribuindo

Por favor, leia o arquivo CONTRIBUTING.md. Caso tenha alguma sugestão ou bug para reportar, por favor nos comunique através das issues.

Segurança

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

Changelog

Todas as informações sobre cada release podem ser consultadas em CHANGELOG.md.

Créditos

Licença

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