kesterpay/gateway-sdk

SDK PHP GATEWAY

1.0.14 2021-03-16 20:49 UTC

This package is auto-updated.

Last update: 2024-09-17 04:42:41 UTC


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);

Códigos das operadoras

Códigos das bandeiras de cartões

Métodos de pagamentos

Outros exemplos de modalidades de pagamentos