1. Go to this page and download the library: Download betalabs/vindi-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
betalabs / vindi-php example snippets
// 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;
// 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);
// Cria um novo cliente:
$customer = $customerService->create([
'name' => 'Teste da Silva',
'email' => '[email protected]',
]);
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 />";
// 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');
// 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;
}
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.