PHP code example of tural / epoint

1. Go to this page and download the library: Download tural/epoint library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

tural / epoint example snippets




$response = Epoint::typeCard(PRIVATE_KEY, PUBLIC_KEY, "your_order_id", "0.01", "Test payment");

if ($response->status == "success") {

    // if successful it redirects to bank's payment page,
    // when user pays successfully, epoint will call the success webhook you provided
    $this->flashSuccess()->redirect($response->redirect_url);
    
} else {

    // handle failure
    
}

$response = Epoint::cancel("write epoint transaction id");

if ($response->status == "success") {

    // handle success
    
} else {

    // handle failure
    
}

// if false, it will check by order_id, if true,
// it will check by epoint transaction id
$epoint_transaction = false;

$response = Epoint::checkPayment("order or transaction id", $epoint_transaction);

// handle response
dd($response);

$response = Epoint::saveCardForPayment("Kartı yadda saxla");

if ($response->status == "success") {

    // save it to db
    $card_uid=$response->card_id;

    $this->flashSuccess()->redirect($response->redirect_url);
    
} else {

    // handle failure
    
}

$response = Epoint::saveCardForRefund("Kartı yadda saxla");

if ($response->status == "success") {

    // save it to db
    $card_uid = $response->card_id;
    $this->flashSuccess()->redirect($response->redirect_url);
    
} else {

    // handle failure
    
}

// if successful it returns success
$response = Epoint::payWithSaved("card_uid", "order_id", "amount for ex. 0.01", "write description");

if ($response->status == "success") {

    $epoint_transaction = $response->transaction;
    $bank_transaction = $response->bank_transaction;
    
} else {

    // handle failure
    
}

$response = Epoint::refund("card_uid", "order_id", "amount 0.05", "write description");

if ($response->status == "success") {

    // handle success
    $this->redirect($response->redirect_url, true);
    
} else {

    // handle failure
    
}


$data = $this->req("data");

if (!empty($data)) {

    $epoint = new Epoint([
        "data" => $_POST["data"], 
        "signature" => $_POST["signature"]
    ]);

    // verify the response is really coming from epoint
    if ($epoint->isSignatureValid()) {

        $json_string = $epoint->getDataAsJson();
        $json = $epoint->getDataAsObject();

        // handle them for your needs
        $json->order_id ?? null,
        $json->status ?? null, 
        $json->code ?? null, 
        $json->transaction ?? null, 
        $json->bank_transaction ?? null, 
        $json->card_id ?? null, 
        $json->card_name ?? null, 
        $json->card_mask ?? null, 
        $json->operation_code ?? null, 
        
        // json as string
        $json_string ?? null;

        // if payment is successful
        if ($json->status == "success") {

            // if card_id is set it means it is save_card response
            if (!empty($json->card_id)) {

                // handle

            }
        }

    }
}