SDK de integração eRede
- PHP >= 5.6
Se já possui um arquivo composer.json
, basta adicionar a seguinte dependência ao seu projeto:
{
"require": {
"developersrede/erede-php": "*"
}
}
Com a dependência adicionada ao composer.json
, basta executar:
composer install
Alternativamente, você pode executar diretamente em seu terminal:
composer require "developersrede/erede-php"
<?php
// Configuração da loja em modo produção
$store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::production());
// Configuração da loja em modo sandbox
// $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox());
// Transação que será autorizada
$transaction = (new \Rede\Transaction(20.99, 'pedido' . time()))->creditCard(
'5448280000000007',
'235',
'12',
'2020',
'John Snow'
);
// Autoriza a transação
$transaction = (new \Rede\eRede($store))->create($transaction);
if ($transaction->getReturnCode() == '00') {
printf("Transação autorizada com sucesso; tid=%s\n", $transaction->getTid());
}
Por padrão, a transação é capturada automaticamente; caso seja necessário apenas autorizar a transação, o método Transaction::capture()
deverá ser chamado com o parâmetro false
:
<?php
// Configuração da loja em modo produção
$store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::production());
// Configuração da loja em modo sandbox
// $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox());
// Transação que será autorizada
$transaction = (new \Rede\Transaction(20.99, 'pedido' . time()))->creditCard(
'5448280000000007',
'235',
'12',
'2020',
'John Snow'
)->capture(false);
// Autoriza a transação
$transaction = (new \Rede\eRede($store))->create($transaction);
if ($transaction->getReturnCode() == '00') {
printf("Transação autorizada com sucesso; tid=%s\n", $transaction->getTid());
}
//...
<?php
// Configuração da loja em modo produção
$store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::production());
// Configuração da loja em modo sandbox
// $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox());
// Transação que será autorizada
$transaction = (new \Rede\Transaction(20.99, 'pedido' . time()))->creditCard(
'5448280000000007',
'235',
'12',
'2020',
'John Snow'
)->mcc(
'LOJADOZE',
'22349202212',
new \Rede\SubMerchant(
'1234',
'São Paulo',
'Brasil'
)
);
// Autoriza a transação
$transaction = (new \Rede\eRede($store))->create($transaction);
if ($transaction->getReturnCode() == '00') {
printf("Transação autorizada com sucesso; tid=%s\n", $transaction->getTid());
}
//...
<?php
// Configuração da loja em modo produção
$store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::production());
// Configuração da loja em modo sandbox
// $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox());
// Transação que será autorizada
$transaction = (new \Rede\Transaction(20.99, 'pedido' . time()))->creditCard(
'5448280000000007',
'235',
'12',
'2020',
'John Snow'
)->iata('code123', '250');
// Autoriza a transação
$transaction = (new \Rede\eRede($store))->create($transaction);
if ($transaction->getReturnCode() == '00') {
printf("Transação autorizada com sucesso; tid=%s\n", $transaction->getTid());
}
<?php
//Define o ambiente da integração
// Ambiente de produção
$environment = \Rede\Environment::production();
// Ambiente sandbox
// $environment = \Rede\Environment::sandbox();
$environment->setIp('127.0.0.1');
$environment->setSessionId('NomeEstabelecimento-WebSessionID');
// Configuração da loja
$store = new \Rede\Store('PV', 'TOKEN', $environment);
// Transação que será autorizada
$transaction = (new \Rede\Transaction(20.99, 'pedido' . time()))->creditCard(
'5448280000000007',
'235',
'12',
'2020',
'John Snow'
);
//Dados do antifraude
$antifraud = $transaction->antifraud($environment);
$antifraud->consumer('Fulano', 'fulano@de.tal', '11111111111')
->setGender(\Rede\Consumer::MALE)
->setPhone(new \Rede\Phone('011', '999999999'))
->addDocument('RG', '111111111');
$antifraud->address()
->setAddresseeName('Fulano')
->setAddress('Rua dos bobos')
->setNumber('0')
->setZipCode('01122123')
->setNeighbourhood('Bairro legal')
->setCity('Cidade Bonita')
->setState('UF')
->setType(\Rede\Address::COMMERCIAL);
$antifraud->addItem(
(new \Rede\Item('123123', 1, \Rede\Item::PHYSICAL))
->setAmount(200000)
->setDescription('Televisão')
->setFreight(199)
->setDiscount(199)
->setShippingType('Sedex')
);
// Autoriza a transação
$transaction = (new \Rede\eRede($store))->create($transaction);
if ($transaction->getReturnCode() == '00') {
$antifraud = $transaction->getAntifraud();
printf("Transação autorizada com sucesso; tid=%s\n", $transaction->getTid());
printf("\tAntifraude: %s\n", $antifraud->isSuccess() ? 'Sucesso' : 'Falha');
printf("\tScore: %s\n", $antifraud->getScore());
printf("\tNível de Risco: %s\n", $antifraud->getRiskLevel());
printf("\tRecomendação: %s\n", $antifraud->getRecommendation());
}
<?php
//Define o ambiente da integração
// Ambiente de produção
$environment = \Rede\Environment::production();
// Ambiente sandbox
// $environment = \Rede\Environment::sandbox();
$environment->setIp('127.0.0.1');
$environment->setSessionId('NomeEstabelecimento-WebSessionID');
// Configuração da loja
$store = new \Rede\Store('PV', 'TOKEN', $environment);
// Transação que será autorizada
$transaction = (new \Rede\Transaction(20.99, 'pedido' . time()))->creditCard(
'5448280000000007',
'235',
'12',
'2020',
'John Snow'
);
//Dados do antifraude
$antifraud = $transaction->antifraud($environment);
$antifraud->consumer('Guilherme', 'lorem@ipsum.com', '15153855406')
->setGender(\Rede\Consumer::MALE)
->setPhone(new \Rede\Phone('011', '912341234'))
->addDocument('RG', '3123123123123');
$antifraud->address()
->setAddresseeName('Daenerys')
->setAddress('Avenida Paulista')
->setNumber('123')
->setComplement('Ap 2')
->setZipCode('01122123')
->setNeighbourhood('Bela Vista')
->setCity('Sao Paulo')
->setState('SP')
->setType(\Rede\Address::COMMERCIAL);
//Dados do voo e passageiro
$antifraud->setIata(
(new \Rede\Flight('123213', 'Los Angeles, LA', 'New York, NY', '2017-02-15T10:54:45-9:00'))
->setPassenger((new \Rede\Passenger('Arya Stark', 'lorem@ipsum.com', '32423432432'))
->setPhone(new \Rede\Phone('011', '912341234')))
);
// Autoriza a transação
$transaction = (new \Rede\eRede($store))->create($transaction);
if ($transaction->getReturnCode() == '00') {
$antifraud = $transaction->getAntifraud();
printf("Transação autorizada com sucesso; tid=%s\n", $transaction->getTid());
printf("\tAntifraude: %s\n", $antifraud->isSuccess() ? 'Sucesso' : 'Falha');
printf("\tScore: %s\n", $antifraud->getScore());
printf("\tNível de Risco: %s\n", $antifraud->getRiskLevel());
printf("\tRecomendação: %s\n", $antifraud->getRecommendation());
}
<?php
// Configuração da loja em modo produção
$store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::production());
// Configuração da loja em modo sandbox
// $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox());
// Transação que será capturada
$transaction = (new \Rede\eRede($store))->capture((new \Rede\Transaction(20.99))->setTid('TID123'));
if ($transaction->getReturnCode() == '00') {
printf("Transação capturada com sucesso; tid=%s\n", $transaction->getTid());
}
<?php
// Configuração da loja em modo produção
$store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::production());
// Configuração da loja em modo sandbox
// $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox());
// Transação que será canelada
$transaction = (new \Rede\eRede($store))->cancel((new \Rede\Transaction(20.99))->setTid('TID123'));
if ($transaction->getReturnCode() == '359') {
printf("Transação cancelada com sucesso; tid=%s\n", $transaction->getTid());
}
<?php
// Configuração da loja em modo produção
$store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::production());
// Configuração da loja em modo sandbox
// $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox());
$transaction = (new \Rede\eRede($store))->get('TID123');
printf("O status atual da autorização é %s\n", $transaction->getAuthorization()->getStatus());
<?php
// Configuração da loja em modo produção
$store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::production());
// Configuração da loja em modo sandbox
// $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox());
$transaction = (new \Rede\eRede($store))->getByReference('pedido123');
printf("O status atual da autorização é %s\n", $transaction->getAuthorization()->getStatus());
<?php
// Configuração da loja em modo produção
$store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::production());
// Configuração da loja em modo sandbox
// $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox());
$transaction = (new \Rede\eRede($store))->getRefunds('TID123');
printf("O status atual da autorização é %s\n", $transaction->getAuthorization()->getStatus());
<?php
// Configuração da loja em modo produção
$store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::production());
// Configuração da loja em modo sandbox
// $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox());
// Configura a transação que será autorizada após a autenticação
$transaction = (new \Rede\Transaction(25, 'pedido' . time()))->debitCard(
'5277696455399733',
'123',
'01',
'2020',
'John Snow'
);
// Configura o 3dSecure para autenticação
$transaction->threeDSecure(\Rede\ThreeDSecure::DECLINE_ON_FAILURE);
$transaction->addUrl('https://redirecturl.com/3ds/success', \Rede\Url::THREE_D_SECURE_SUCCESS);
$transaction->addUrl('https://redirecturl.com/3ds/failure', \Rede\Url::THREE_D_SECURE_FAILURE);
$transaction = (new \Rede\eRede($store))->create($transaction);
if ($transaction->getReturnCode() == '220') {
printf("Redirecione o cliente para \"%s\" para autenticação\n", $transaction->getThreeDSecure()->getUrl());
}