Descrição
Este provider utiliza o client jlcd/api-cielo30, que por sua vez utiliza o sdk oficial da Cielo., (*1)
Qualquer issue referente à comunicação com a Cielo deverá ser tratado diretamente nos issues do client., (*2)
Versões do Laravel anteriores à 5.0 não foram testadas e o funcionamento não é garantido., (*3)
Instalação
Via Composer: composer require jlcd/api-cielo30-laravel, (*4)
Laravel
Incluir o código abaixo na posição providers no arquivo config/app.php, (*5)
(...)
'providers' => [
(...)
/*
* Package Service Providers...
*/
// Cielo
jlcd\CieloLaravel\CieloServiceProvider::class,
(...)
],
(...)
Executar php artisan vendor:publish no projeto., (*6)
Lumen
Criar o arquivo config/cielo.php:, (*7)
<?php
return [
'merchant_id' => env('CIELO_ID', 'default_id'),
'merchant_key' => env('CIELO_KEY', 'default_key'),
'environment' => env('CIELO_ENV', 'default_environment'), // production | sandbox
];
Incluir o código abaixo em bootstrap/app.php:, (*8)
(...)
$app->configure('cielo');
$app->register(jlcd\CieloLaravel\CieloServiceProvider::class);
(...)
Configuração
As variáveis de ambiente CIELO_ID, CIELO_KEY e CIELO_ENV deverão ser configuradas no arquivo .env., (*9)
Os valores aceitos para CIELO_ENV são:, (*10)
Ex.:, (*11)
CIELO_ID=123435678
CIELO_KEY=25fbb99341c739dd84a7b06ec78c2cac718838630f30b182d033ce2e621c34f3
CIELO_ENV=sandbox
Como alternativa, após vendor:publish, as configurações poderão ser incluídas diretamente no arquivo de configuração config/cielo.php., (*12)
Utilização
Exemplo utilizando o arquivo routes/web.php:, (*13)
Realizar pagamento
<?php
use jlcd\Cielo\Resources\CieloPayment;
use jlcd\Cielo\Resources\CieloCreditCard;
use jlcd\Cielo\Resources\CieloCustomer;
use jlcd\Cielo\Resources\CieloOrder;
Route::get('/', function () {
$payment = new CieloPayment();
$payment->setValue(1541);
$creditCard = new CieloCreditCard();
$creditCard->setCardNumber('1234432112344321');
$creditCard->setExpirationDate('12/2018');
$creditCard->setBrand('visa');
$creditCard->setSecurityCode('888');
$creditCard->setHolder('Fulano');
$payment->setCreditCard($creditCard);
$order = new CieloOrder();
$order->setId('123');
$customer = new CieloCustomer();
$customer->setName('Fulano');
$payment = app()->cielo->payment($payment, $order, $customer);
dd($payment);
});
Cancelar pagamento
<?php
use jlcd\Cielo\Resources\CieloPayment;
Route::get('/cancel/{id}', function ($id) {
$payment = new CieloPayment();
$payment->setId($id);
$payment->setValue(1541);
$payment = app()->cielo->cancelPayment($payment);
dd($payment);
});
Capturar pagamento
<?php
use jlcd\Cielo\Resources\CieloPayment;
Route::get('/capture/{id}', function ($id) {
$payment = new CieloPayment();
$payment->setId($id);
$payment->setValue(1541);
$payment = app()->cielo->capturePayment($payment);
dd($payment);
});
Tokenizar Cartão
<?php
use jlcd\Cielo\Resources\CieloCreditCard;
use jlcd\Cielo\Resources\CieloCustomer;
Route::get('/tokenize', function () {
$creditCard = new CieloCreditCard();
$creditCard->setCardNumber("1234432112344321");
$creditCard->setHolder("Comprador T Cielo");
$creditCard->setExpirationDate("12/2018");
$creditCard->setBrand("Visa");
$customer = new CieloCustomer();
$customer->setName('Fulano');
$token = app()->cielo->tokenizeCreditCard($creditCard, $customer);
dd($token);
});
Realizar pagamento via Token de Cartão
<?php
use jlcd\Cielo\Resources\CieloPayment;
use jlcd\Cielo\Resources\CieloCreditCard;
use jlcd\Cielo\Resources\CieloCustomer;
use jlcd\Cielo\Resources\CieloOrder;
Route::get('/paymenttoken/{id}', function ($id) {
$payment = new CieloPayment();
$payment->setValue(1541);
$creditCard = new CieloCreditCard();
$creditCard->setBrand('visa');
$creditCard->setToken($id);
$creditCard->setSecurityCode('888');
$payment->setCreditCard($creditCard);
$order = new CieloOrder();
$order->setId('123');
$customer = new CieloCustomer();
$customer->setName('Fulano');
$payment = app()->cielo->payment($payment, $order, $customer);
dd($payment);
});
Para maiores detalhes vide repositório do client utilizado (jlcd/api-cielo30) e a documentação oficial., (*14)