Describe the bug
Não funciona com o Slim-Framework
To Reproduce
Steps to reproduce the behavior:
Instale o slim-framework tanto faz o 3.0 quanto o 4.0
composer create-project slim/slim-skeleton meu-rest-service "~3.0"
cd meu-rest-service
composer require edson-nascimento/getnet-php
em src/routes.php
adicione um metodo get
// Routes
use Getnet\API\Getnet;
use Getnet\API\Transaction;
use Getnet\API\Environment;
use Getnet\API\Token;
use Getnet\API\Credit;
use Getnet\API\Customer;
use Getnet\API\Card;
use Getnet\API\Order;
// Resultado da transação - Consultar tabela abaixo
$response->getStatus();
return $res->withJson($response->getStatus());
});
Não vai funcionar.. pois há conflito com o método Request do Slim-framework.
Para corrigir altere a classe da getnet-php para RequestGetNet e pa bum funfa.
Não existe problema em ter classes com o mesmo nome Ex Request desde que estejam em namespaces diferentes.
Provavelmente o seu problema deve ser alguma configuração no Slim
Describe the bug Não funciona com o Slim-Framework
To Reproduce Steps to reproduce the behavior: Instale o slim-framework tanto faz o 3.0 quanto o 4.0
composer create-project slim/slim-skeleton meu-rest-service "~3.0" cd meu-rest-service composer require edson-nascimento/getnet-php
em src/routes.php
adicione um metodo get // Routes use Getnet\API\Getnet; use Getnet\API\Transaction; use Getnet\API\Environment; use Getnet\API\Token; use Getnet\API\Credit; use Getnet\API\Customer; use Getnet\API\Card; use Getnet\API\Order;
use Getnet\API\Boleto; $app->get('/cartao',function($request,$res,$args){ //return $response->withJson($this->get('GetNet')['sandbox']); $gnet = (object)$this->get('GetNet')['sandbox']; $client_id = $gnet->client_id; $client_secret = $gnet->client_secret; $seller_id = $gnet->seller_id; $environment = Environment::sandbox(); $keySession = null;
//Autenticação da API $getnet = new Getnet($client_id, $client_secret, $environment, $keySession); //$getnet->setDebug(true);
// Inicia uma transação $transaction = new Transaction();
// Dados do pedido - Transação $transaction->setSellerId($seller_id); $transaction->setCurrency("BRL"); $transaction->setAmount(27.50);
// Detalhes do Pedido $transaction->order("123456") ->setProductType(Order::PRODUCT_TYPE_SERVICE) ->setSalesTax(0);
// Gera token do cartão $tokenCard = new Token("5155901222280001", "customer_210818263", $getnet);
// Ou para usar um cartão já tokenizado que está salvo // $tokenCard = new \Getnet\API\Entity\CardToken('Pass your card token');
// Dados do método de pagamento do comprador $transaction->credit() ->setAuthenticated(false) ->setDynamicMcc("1799") ->setSoftDescriptor("LOJATESTECOMPRA-123") ->setDelayed(false) ->setPreAuthorization(false) ->setNumberInstallments(2) ->setSaveCardData(false) ->setTransactionType(Credit::TRANSACTION_TYPE_INSTALL_NO_INTEREST) ->card($tokenCard) ->setBrand(Card::BRAND_MASTERCARD) ->setExpirationMonth("12") ->setExpirationYear("30") ->setCardholderName("Jax Teller") ->setSecurityCode("123");
// Dados pessoais do comprador $transaction->customer("customer_210818263") ->setDocumentType(Customer::DOCUMENT_TYPE_CPF) ->setEmail("customer@email.com.br") ->setFirstName("Jax") ->setLastName("Teller") ->setName("Jax Teller") ->setPhoneNumber("5551999887766") ->setDocumentNumber("12345678912") ->billingAddress() ->setCity("São Paulo") ->setComplement("Sons of Anarchy") ->setCountry("Brasil") ->setDistrict("Centro") ->setNumber("1000") ->setPostalCode("90230060") ->setState("SP") ->setStreet("Av. Brasil");
// Dados de entrega do pedido $transaction->shipping() ->setFirstName("Jax") ->setEmail("customer@email.com.br") ->setName("Jax Teller") ->setPhoneNumber("5551999887766") ->setShippingAmount(0) ->address() ->setCity("Porto Alegre") ->setComplement("Sons of Anarchy") ->setCountry("Brasil") ->setDistrict("São Geraldo") ->setNumber("1000") ->setPostalCode("90230060") ->setState("RS") ->setStreet("Av. Brasil");
//Ou pode adicionar entrega com os mesmos dados do customer //$transaction->addShippingByCustomer($transaction->getCustomer())->setShippingAmount(0);
// FingerPrint - Antifraude $transaction->device("device_id")->setIpAddress("127.0.0.1"); //return $res->withJson($transaction); // Processa a Transação $response = $getnet->authorize($transaction);
// Resultado da transação - Consultar tabela abaixo $response->getStatus(); return $res->withJson($response->getStatus()); }); Não vai funcionar.. pois há conflito com o método Request do Slim-framework. Para corrigir altere a classe da getnet-php para RequestGetNet e pa bum funfa.