e.Rede integration SDK
SDK de integração eRede, (*1)
Este SDK possui as seguintes funcionalidades: * Autorização * Captura * Consultas * Cancelamento * 3DS2 * Zero dollar * iata * MCC dinâmico., (*2)
Se jĆ” possui um arquivo composer.json
, basta adicionar a seguinte dependĆŖncia ao seu projeto:, (*3)
{ "require": { "developersrede/erede-php": "*" } }
Com a dependĆŖncia adicionada ao composer.json
, basta executar:, (*4)
composer install
Alternativamente, vocĆŖ pode executar diretamente em seu terminal:, (*5)
composer require "developersrede/erede-php"
O SDK utiliza PHPUnit com TestDox para os testes. Para executĆ”-los em ambiente local, vocĆŖ precisa exportar
as variƔveis de ambiente REDE_PV
e REDE_TOKEN
com suas credenciais da API. Feito isso, basta rodar:, (*6)
export REDE_PV=1234 export REDE_TOKEN=5678 ./tests
Os testes também podem ser executados através de um container com a configuração ideal para o projeto. Para isso, basta fazer:, (*7)
docker build . -t erede-docker docker run -e REDE_PV='1234' -e REDE_TOKEN='5678' erede-docker
````
Caso necessÔrio, o SDK possui a possibilidade de logs de depuração que podem ser utilizados ao executar os testes. Para isso,
basta exportar a variƔvel de ambiente REDE_DEBUG
com o valor 1:, (*8)
export REDE_DEBUG=1
<?php // Configuração da loja em modo produção $store = new Store('PV', 'TOKEN', 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 Transaction(20.99, 'pedido' . time()))->creditCard( '5448280000000007', '235', '12', '2020', 'John Snow' ); // Autoriza a transação $transaction = (new 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
:, (*9)
<?php // Configuração da loja em modo produção $store = new Store('PV', 'TOKEN', 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 Transaction(20.99, 'pedido' . time()))->creditCard( '5448280000000007', '235', '12', '2020', 'John Snow' )->capture(false); // Autoriza a transação $transaction = (new 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 Store('PV', 'TOKEN', 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 Transaction(20.99, 'pedido' . time()))->creditCard( '5448280000000007', '235', '12', '2020', 'John Snow' ); // Configuração de parcelamento $transaction->setInstallments(3); // Autoriza a transação $transaction = (new 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 Store('PV', 'TOKEN', 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 Transaction(20.99, 'pedido' . time()))->creditCard( '5448280000000007', '235', '12', '2020', 'John Snow' )->additional(1234, 56); // Autoriza a transação $transaction = (new 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 Store('PV', 'TOKEN', 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 Transaction(20.99, 'pedido' . time()))->creditCard( '5448280000000007', '235', '12', '2020', 'John Snow' )->mcc( 'LOJADOZE', '22349202212', new SubMerchant( '1234', 'São Paulo', 'Brasil' ) ); // Autoriza a transação $transaction = (new 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 Store('PV', 'TOKEN', 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 Transaction(20.99, 'pedido' . time()))->creditCard( '5448280000000007', '235', '12', '2020', 'John Snow' )->iata('code123', '250'); // Autoriza a transação $transaction = (new 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 Store('PV', 'TOKEN', 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 eRede($store))->capture((new 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 Store('PV', 'TOKEN', Environment::production()); // Configuração da loja em modo sandbox // $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox()); // Transação que serÔ cancelada $transaction = (new eRede($store))->cancel((new 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 Store('PV', 'TOKEN', Environment::production()); // Configuração da loja em modo sandbox // $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox()); $transaction = (new 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 Store('PV', 'TOKEN', Environment::production()); // Configuração da loja em modo sandbox // $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox()); $transaction = (new 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 Store('PV', 'TOKEN', Environment::production()); // Configuração da loja em modo sandbox // $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox()); $transaction = (new 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 Store('PV', 'TOKEN', 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 Transaction(25, 'pedido' . time()))->debitCard( '5277696455399733', '123', '01', '2020', 'John Snow' ); // Configura o 3dSecure para autenticação $transaction->threeDSecure( new Device( ColorDepth: 1, DeviceType3ds: 'BROWSER', JavaEnabled: false, Language: 'BR', ScreenHeight: 500, ScreenWidth: 500, TimeZoneOffset: 3 ) ); $transaction->addUrl('https://redirecturl.com/3ds/success', Url::THREE_D_SECURE_SUCCESS); $transaction->addUrl('https://redirecturl.com/3ds/failure', Url::THREE_D_SECURE_FAILURE); $transaction = (new eRede($store))->create($transaction); if ($transaction->getReturnCode() == '220') { printf("Redirecione o cliente para \"%s\" para autenticação\n", $transaction->getThreeDSecure()->getUrl()); }