2017 © Pedro Peláez
 

library vindi-php

SDK Vindi para PHP.

image

vindi/vindi-php

SDK Vindi para PHP.

  • Friday, July 13, 2018
  • by vindi
  • Repository
  • 16 Watchers
  • 20 Stars
  • 10,107 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 22 Forks
  • 0 Open issues
  • 20 Versions
  • 14 % Grown

The README.md

, (*1)

#

Vindi - SDK PHP

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

Descrição

Este pacote consiste em um SDK em PHP para a API de Recorrência da Vindi., (*3)

Requisitos

  • PHP versão 7.2.x ou superior.
  • cURL habilitado para o PHP.
  • Certificado SSL.
  • Conta ativa na Vindi.

Instalação

Via Composer, (*4)

composer require vindi/vindi-php

Métodos de Autenticação

Variável de ambiente

Esse método de autenticação utiliza-se de inserção de variáveis de ambiente., (*5)


require __DIR__.'/vendor/autoload.php'; // Coloca a chave da Vindi (VINDI_API_KEY) na variável de ambiente do PHP. putenv('VINDI_API_KEY=SUA_CHAVE_DA_API'); // Coloca a chave da Vindi (VINDI_API_URI) na variável de ambiente do PHP. putenv('VINDI_API_URI=https://sandbox-app.vindi.com.br/api/v1/'); // Instancia o serviço de Customers (Clientes) $customerService = new Vindi\Customer;

Argumento de instância

Esse método de autenticação utiliza-se de inserção de um array como argumento na primeira instância de uma classe filha de Resource, sendo ignorada uma nova tentativa de inserir o argumento em uma outra instância., (*6)


require __DIR__.'/vendor/autoload.php'; // Declara em um array os valores de VINDI_API_KEY e VINDI_API_URI $arguments = array( 'VINDI_API_KEY' => 'SUA_CHAVE_DA_API', 'VINDI_API_URI' => 'https://sandbox-app.vindi.com.br/api/v1/' ); // Instancia o serviço de Customers (Clientes) com o array contendo VINDI_API_KEY e VINDI_API_URI $customerService = new Vindi\Customer($arguments);

Exemplo de implementação

Exemplo de código após autenticação (uma das duas formas existentes descritas acima), seguindo a sequência de instanciação de Customer., (*7)


// 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 />"; } // Instancia o serviço de Product que não requer argumentos, pois já foi configurado em Customer ou foi configurado nas variáveis de ambiente. $productService = new Vindi\Product; // Cria um novo produto: $product = $productService->create([ 'name' => 'Teste de Produto', 'pricing_schema' => [ 'price' => 150, 'schema_type' => 'flat', ] ]); echo "Novo produto criado com o id '{$product->id}'.<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., (*8)

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., (*9)

// 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:, (*10)

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., (*11)

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., (*12)

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., (*13)

Changelog

Todas as informações sobre cada release podem ser consultadas em CHANGELOG.md., (*14)

Créditos

Licença

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

The Versions

13/07 2018

dev-master

9999999-dev https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

11/07 2018

dev-rtakauti-pull-request-templ

dev-rtakauti-pull-request-templ https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

28/05 2018

1.2.0

1.2.0.0 https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

28/05 2018

dev-feature/adiciona_novas_features

dev-feature/adiciona_novas_features https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

12/05 2018

1.1.0

1.1.0.0 https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

14/03 2018

1.0.11

1.0.11.0 https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

14/03 2018

dev-release-1.0.11

dev-release-1.0.11 https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

04/09 2017

dev-fix/novos-metodos-e-endpoints-da-api

dev-fix/novos-metodos-e-endpoints-da-api https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

20/12 2016

dev-fix/documentacao-php

dev-fix/documentacao-php https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

05/09 2016

dev-feature/add_end_points

dev-feature/add_end_points https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

19/08 2016

1.0.9

1.0.9.0 https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

04/02 2016

1.0.8

1.0.8.0 https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

19/01 2016

1.0.7

1.0.7.0 https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

24/11 2015

1.0.6

1.0.6.0 https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

21/10 2015

1.0.5

1.0.5.0 https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

08/10 2015

1.0.4

1.0.4.0 https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

02/10 2015

1.0.3

1.0.3.0 https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

05/08 2015

1.0.2

1.0.2.0 https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

05/08 2015

1.0.1

1.0.1.0 https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk

04/08 2015

1.0.0

1.0.0.0 https://github.com/vindi/vindi-php

SDK Vindi para PHP.

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

vindi vindi-php vindi-php-sdk