kesterpay / gateway-sdk
SDK PHP GATEWAY
1.0.14
2021-03-16 20:49 UTC
Requires
- php: >=7.0
- ext-curl: *
- ext-json: *
README
Modalidades de pagamentos:
- Cartão de crédito
- Cartão de débito
- Paypal Plus
- Paypal Express Chekout
- Pagseguro V4.0
- Boleto bancário (Bradesco Shop Fácil e Itaú Shopline)
- Transferência eletronica bancária (Itaú Shopline)
Recursos disponíveis
- Parcelamento de pagamentos
- Pagamentos agendados ( recorrências )
- Análise de antifraude
- Tokenização de cartões
Cartão de crédito (Exemplo)
namespace Gateway\API; include_once "autoload.php"; use Exception as Exception; try { $credential = new Credential("{{INSERT_MERCHANT_ID}}", "{{INSERT_TOKEN}}", Environment::SANDBOX); $gateway = new Gateway($credential); ### CREATE A NEW TRANSACTION $transaction = new Transaction(); // Set ORDER $transaction->Order() ->setReference("ss") ->setTotalAmount(1000); // Set PAYMENT $transaction->Payment() ->setAcquirer(Acquirers::CIELO_V3) ->setMethod(Methods::CREDIT_CARD_INTEREST_BY_ISSUER) ->setCurrency(Currency::BRAZIL_BRAZILIAN_REAL_BRL) ->setCountry("BRA") ->setNumberOfPayments(2) ->setSoftDescriptor("John Doe") ->Card() ->setBrand(Brand::VISA) ->setCardHolder("John Doe") ->setCardNumber("2223000148400010") ->setCardSecurityCode("123") ->setCardExpirationDate("202001"); // SET CUSTOMER $transaction->Customer() ->setCustomerIdentity("999999999") ->setName("John Doe") ->setCpf("30212212212") ->setEmail("JohnDoe@test.com"); // SET FRAUD DATA OBJECT $transaction->FraudData() ->setName("John Doe") ->setDocument("30683882828") ->setEmail("JohnDoe@g.com") ->setAddress("Rua test") ->setAddress2("Apartamento 23") ->setAddressNumber("300") ->setPostalCode("08742350") ->setCity("São Paulo") ->setState("SP") ->setCountry("BRASIL") ->setPhonePrefix("11") ->setPhoneNumber("99999-9999") ->setDevice("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36") ->setCostumerIP("192.168.0.1") ->setItems([ ["productName" => "Iphone X", "quantity" => 1, "price" => "20.00"], ["productName" => "Iphone XL", "quantity" => 12, "price" => "1220.00"] ]); // Set URL RETURN $transaction->setUrlReturn("http://127.0.0.1:8989/return.php"); // PROCESS - ACTION #$response = $gateway->sale($transaction); $response = $gateway->authorize($transaction); // REDIRECT IF NECESSARY (Debit uses) if ($response->isRedirect()) { $response->redirect(); } // RESULTED if ($response->isAuthorized()) { // Action Authorized print "<br>RESULTED: " . $response->getStatus(); } else { // Action Unauthorized print "<br>RESULTED:" . $response->getStatus(); } // CAPTURE if ($response->canCapture()) { $response = $gateway->Capture($response->getTransactionID()); print "<br>CAPTURED: " . $response->getStatus(); } // CANCELL if ($response->canCancel()) { $response = $gateway->Cancel($response->getTransactionID()); print "<br>CANCELED: " . $response->getStatus(); } // REPORT $response = $gateway->Report($response->getTransactionID()); print "<br>REPORTING: " . $response->getStatus(); } catch (Exception $e) { print_r($e->getMessage()); }
Credencias de acesso
$credential = new Credential("{MERCHANTID}", "{MERCHANTKEY}", Environment::SANDBOX);
Autenticação
$gateway = new Gateway($credential);
Ambientes disponíveis
Criando um nova transação de pagamento
$transaction = new Transaction();
Informando um pedido
- setReference é usado como referência do pedido
- setTotalAmount deve ser em centavos
// Set ORDER $transaction->Order() ->setReference("Pedido123") ->setTotalAmount(1000);
Informando os dados do comprador
- setCustomerIdentity é usado como referência do comprador (Deve ser único)
$transaction->Customer() ->setCustomerIdentity("999999999") ->setName("JohnDoe") ->setCpf("30212212212") ->setEmail("John@doe.com");
Informando a forma de pagamento
- setAcquirer define qual a operadora a ser utilizado, verifique tabela abaixo
- setMethod define qual o método de pagamento a ser processado, verifique tabela abaixo
- setNumberOfPayments define o parcelamento ( usado para Cartão de Crédito)
- setSoftDescriptor texto a ser exibido na fatura do cartão do comprador
// Set PAYMENT $transaction->Payment() ->setAcquirer(Acquirers::CIELO_V3) ->setMethod(Methods::CREDIT_CARD_INTEREST_BY_ISSUER) ->setCurrency(Currency::BRAZIL_BRAZILIAN_REAL_BRL) ->setCountry("BRA") ->setNumberOfPayments(2) ->setSoftDescriptor("John Doe") ->Card() ->setBrand(Brand::VISA) ->setCardHolder("John Doe") ->setCardNumber("2223000148400010") ->setCardSecurityCode("123") ->setCardExpirationDate("202001");
Informando a URL de retorno
A URL de retorno é utlizada para receber um POST e redirecionar o usuário a após a conclusão da operaçñao de pagamento
// Set URL RETURN $transaction->setUrlReturn("http://127.0.0.1:8989/return.php");
Tipos de operações financeiras
Autorização (Pre-auth)
$response = $gateway->Authorize($transaction);
Venda Direta (auth)
$response = $gateway->Sale($transaction);
Captura (Capture)
$response = $gateway->Capture("{TransactionID}");
Cancelamento (Cancel | Void)
$response = $gateway->sale("{TransactionID}");
Tranferência Bancária (Transfer)
$response = $gateway->OnlineTransfer($transaction);
Boleto Bancário (Payment Bank Slip)
$response = $gateway->Boleto($transaction);
Paypal
$response = $gateway->Paypal($transaction);
Pagamento agendado ( Recorrência)
$response = $gateway->Rebill($transaction);