PHP code example of izal / knet-payment-php

1. Go to this page and download the library: Download izal/knet-payment-php 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/ */

    

izal / knet-payment-php example snippets


$knetGateway = new KnetBilling([
                'alias'        => 'YOUR_KNET_ALIAS',
                'resourcePath' => '/home/my_web_app_folder/' //Absolute Path to where the resource.cgn file is located
            ]);


$knetGateway->setResponseURL('http://mywebapp.com/payment/response.php');
$knetGateway->setErrorURL('http://mywebapp.com/payment/error.php);
$knetGateway->setAmt(100); 
$knetGateway->setTrackId('123456'); // unique string

// Refer the KnetBilling class for other configurations that can be set like currency, language etc


$knetGateway->requestPayment();

/** 
* Get the URL for the Payment and assign it to a variable. this is the URL we will use to redirect the
* customer to payment gateway 
*/

$paymentURL = $knetGateway->getPaymentURL();


// Redirect the USER to the Payment URL
header('Location: '.$paymentURL);



// handle gateway response in http://mywebapp.com/payment/response.php

$paymentID = $_POST['paymentid']; 
$result = $_POST['result']; // if the transaction is success, string "CAPTURED" will be return
$tranid = $_POST['tranid']; // transaction id
$trackid = $_POST['trackid'];

// build URL 
$urlParams = "/?paymentID=" . $paymentID . "&transactionID=" . $transactionID . "&trackID=" . $trackID;

if ($result === "CAPTURED") {
    $redirectURL = 'http://mywebapp.com/payment/success.php';
} else {
    $redirectURL = 'http://mywebapp.com/payment/error.php';
}

return "REDIRECT=" . $redirectURL . $urlParams;

/** Above line is very important
 * KNET expects the return value from the page or method to be starting with 
 * REDIRECT=http://mywebapp.com/payment/success/?paymentID.. etc.
 */ 



    $responseURL = 'http://mywebapp.com/payment/response.php';
    $successURL = 'http://mywebapp.com/payment/success.php';
    $errorURL = 'http://mywebapp.com/payment/error.php';
    $knetAlias = 'TEST_ALIAS';
    $resourcePath = '/home/mywebapp/';
    $amount = 150;
    $trackID = 'UNIQUETRACKID'; 

    try {

        $knetGateway = new KnetBilling([
            'alias'        => $knetAlias,
            'resourcePath' => $resourcePath
        ]);

        $knetGateway->setResponseURL($successURL);
        $knetGateway->setErrorURL($errorURL);
        $knetGateway->setAmt($amount);
        $knetGateway->setTrackId($trackID);

        $knetGateway->requestPayment();
        $paymentURL = $knetGateway->getPaymentURL();

        // helper function to redirect
        return header('Location: '.$paymentURL);

    } catch (\Exception $e) {
    
        // to debug error message 
        // die(var_dump($e->getMessage()));
        
        return header('Location: '.$errorUrl);
    }
        
shell
composer