PHP code example of mozakar / gateway

1. Go to this page and download the library: Download mozakar/gateway 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/ */

    

mozakar / gateway example snippets


"  ...
  "mozakar/gateway" : "dev-master"
},
"repositories": [
    {
        "type": "git",
        "url": "https://github.com/mozakar/gateway.git"
    }
],



'providers' => [
  ...
  Mozakar\Gateway\GatewayServiceProvider::class, // <-- add this line at the end of provider array
],


'aliases' => [
  ...
  'Gateway' => Mozakar\Gateway\Gateway::class, // <-- add this line at the end of aliases array
]



php artisan vendor:publish --provider=Mozakar\Gateway\GatewayServiceProviderLaravel5



php artisan vendor:publish 

// then choose : GatewayServiceProviderLaravel6
// then choose : GatewayServiceProviderLaravel7
// then choose : GatewayServiceProviderLaravel8
// then choose : GatewayServiceProviderLaravel9
// then choose : GatewayServiceProviderLaravel10



php artisan migrate



try {

   $gateway = \Gateway::make('mellat');

   $gateway->setCallback(url('/bank/response')); // You can also change the callback
   $gateway->price(1000)
           // setFactorNumber("13131313") // optional - just for vandar
           ->ready();

   $refId =  $gateway->refId(); // شماره ارجاع بانک
   $transID = $gateway->transactionId(); // شماره تراکنش

  
   // در اینجا
   //  شماره تراکنش  بانک را با توجه به نوع ساختار دیتابیس تان 
   //  در جداول مورد نیاز و بسته به نیاز سیستم تان
   // ذخیره کنید .

    //برای دیجی پی
    //نوع تیکت شماره همراه کاربر و شماره سفارش الزامی است.
    // $gateway->setTicketType(11);
    // $gateway->setMobile("09350000000");
    // $gateway->setOrderId(1);
   return $gateway->redirect();

} catch (\Exception $e) {

   echo $e->getMessage();
}



try { 

   $gateway = \Gateway::verify();
   $trackingCode = $gateway->trackingCode();
   $refId = $gateway->refId();
   $cardNumber = $gateway->cardNumber();

   // تراکنش با موفقیت سمت بانک تایید گردید
   // در این مرحله عملیات خرید کاربر را تکمیل میکنیم

} catch (\Mozakar\Gateway\Exceptions\RetryException $e) {

    // تراکنش قبلا سمت بانک تاییده شده است و
    // کاربر احتمالا صفحه را مجددا رفرش کرده است
    // لذا تنها فاکتور خرید قبل را مجدد به کاربر نمایش میدهیم

    echo $e->getMessage() . "<br>";

} catch (\Exception $e) {

    // نمایش خطای بانک
    echo $e->getMessage();
}



try { 

  $track_id   = Str::random(32);
  $payment_number = rand(1000000000, 9999999999);
  $gateway = \Gateway::vandar();
  //ibanRequest($amount, $iban, $track_id, $payment_number, $is_instant = true)
  $response = $gateway->ibanRequest($amount, $sheba_number, $track_id, $payment_number, true);
  if($response){
      $response = ['success' => true, 'tx' => $track_id, 'data' => $response];
      return $response;
  }

}catch (\Exception $e) {

    // نمایش خطای بانک
    echo $e->getMessage();
}



try { 

  $gateway = \Gateway::vandar();

  //نمایش موجودی
  $balance = $gateway->balance();

  //نمایش تراکنش ها
  $transactions = $gateway->transactions();

}catch (\Exception $e) {

    // نمایش خطای بانک
    echo $e->getMessage();
}