Skip to content

alnazer/knet-payment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latest Stable Version Total Downloads Build Status License

knet-payment

to test payment choose KNET from banks list (بنك اختبار كنيت [KNET1])

Card Number : 8888880000000001

for Captured 
Expiry Date : 09/25

for Not Captured
Expiry Date : Any

CVC : Any 4 digit

Installation

composer require alnazer/knet-payment

usage

use Alnazer\KnetPayment\Knet;

$config = [
    "tranportal_id"=>"",
    "password"=>"",
    "resource_key"=>"",
    "response_url" => "https://yourdomain.com/result.php",
    "error_url" => "https://yourdomain.com/error.php",
    "amount"=> 1,
    "udf1"=> "",
    "udf2"=> "",
    "udf3"=> "",
    "udf4"=> "",
    "udf5"=> "",
];

$knet  = new Knet($config);

// **************  request from knet *************//
$request = $knet->request();

if($request["status"] == 1)
{
    // redirect to knet payment page using $request["data"]["url"];
}
else
{
    // display errors print_r($request["errors"]);
}

// ************** back from knet  *************//

$resutl = $knet->responce();

if($resutl["status"] == "success"){
    // get reult and update your database
}
else
{
    // print error $resutl["ErrorText"]
}

For user Register after 4/9/2023

if you register after 4/9/2023 and want active KNET new policy set this active

$is_redirection_mode = true;

to return redirect page using this function

//$redirect_url the link will redirect (your order page or confiremed payment)
//$payment_id : payment id return from KNET
print_redirect($redirect_url,$payment_id);
// ************** back from knet  *************//

$resutl = $knet->responce();

if($resutl["status"] == "success"){
  // get reult and update your database
  echo $knet->print_redirect("The page url will redirect to it",$resutl["paymentid"]);
}
else
{

  // get reult and update your database
  echo $knet->print_redirect("The error page url will redirect to it",$resutl["paymentid"]);
}

require information

get this information knet account

$tranportal_id;
$password;
$resource_key;

if you want test payment

$is_test = true;

return urls

$response_url; // url bank will return after payment operation success
$error_url;// url bank will return if faveing error in payment operation

call request using function

$this->request()

call result using function

$this->responce()

validate

$this->validate();

to add error

$this->addError("index_name","message");

Eventes

** Must implement this functions

before validate

public function beforeValidate()
{
    parent::beforeValidate();

    //code here ....

    return true;
}

after validate

public function afterValidate()
{
    parent::afterValidate();

    //code here ....

    return true;
}

before request

called before call knet url

public function beforeRequest()
{
    parent::beforeRequest();

    //code here ....

    return true;
}

after request

called after call knet url

public function afterRequest($trackid, $pay_url)
{
    parent::afterRequest($trackid, $pay_url);

    //code here ....

    return true;
}

before responce

public function beforeResponce()
{
    parent::beforeResponce();

    //code here ....

    return true;
}

after responce

public function afterResponce($payment_id, $trackid, $result)
{
    parent::afterResponce($payment_id, $trackid, $result);

    //code here ....

    return true;
}

Result

request return

success

[
"status" => 1,
  "data"=>
    [
      "url"=>"https://knetpayment.com",
      "trackid"=>"23492375295"
    ],
  "errors"=>false
]

error

[
"status" => 0,
  "data"=>
    [
      "url"=>"",
      "trackid"=>"23492375295"
    ],
  "errors"=>
    [
      "index_error" = > "error message",
      "index_error2" = > "error message2",
    ]
]

responce "result" return

success

[
  "status" => "success",
  "paymentid" => "2423sdfsd723482582",
  "trackid" => "3424234234",
  "tranid" => "4234234234234",
  "ref" => "3523235252",
  "result" => "CAPTURED", //knet result CAPTURED,NOT CAPTURED,CANCELED ... ect
  "postdate" => "3234234",
  "auth" => "44445",
  "avr" => "4566",
  "amount" => "1.000",
  "udf1" => "", // you set this data in request function
  "udf2" => "",// you set this data in request function
  "udf3" => "",// you set this data in request function
  "udf4" => "",// you set this data in request function
  "udf5" => "",// you set this data in request function
  "data" => "", // all $_REQUEST data
  "ErrorText" => "",
  "Error" => "",
]

error

[
  "status" => "error",
  "paymentid" => "2423sdfsd723482582",
  "trackid" => "3424234234",
  "tranid" => "4234234234234",
  "ref" => "3523235252",
  "result" => "error",
  "postdate" => "3234234",
  "auth" => "44445",
  "avr" => "4566",
  "amount" => "1.000",
  "udf1" => "", // you set this data in request function
  "udf2" => "",// you set this data in request function
  "udf3" => "",// you set this data in request function
  "udf4" => "",// you set this data in request function
  "udf5" => "",// you set this data in request function
  "ErrorText" => "get from knet responce",
  "Error" => "get from knet responce",
]

Chnagelog

###version 1.1.0

  • active redirection mode for KNET new policy

###version 1.0.2

  • fixed call array of string php version 8

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages