Looking to hire Laravel developers? Try LaraJobs

laravel maintained by ndps

Description
NTT DATA Payment Services Laravel Composer package
Author
NTT DATA Payment Services India
Last update
2022/12/05 05:08 (dev-main)
License
Links
Downloads
10

Comments
comments powered by Disqus

NDPS-Dev/laravel

Official Laravel library for NTT DATA Payment Service.

Prerequisites

  • A minimum of PHP 7.3 upto 8.1

Installation

  • If your project using composer, run the below command

    composer require ndps/laravel:dev-main
    
  • If you are not using composer, download the latest release from the releases section. You should download the laravel.zip file from atomlite/laravel. And place in vendor folder.

How To Use It

  • To handle the request use below function which will provide the request URL.

      public function payment()
    {
      include_once base_path('vendor/autoload.php');
      $transactionRequest = new \NDPS\TransactionRequest();
    
      /* Add your return URL */
      $ru = "http://127.0.0.1:8000/response";
    
      /*
      *Setting all values here
      */
      $transactionRequest->setLogin('192');
      $transactionRequest->setPassword("Test@123");
      $transactionRequest->setProductId("NSE");
      $transactionRequest->setAmount('50.55');
      $transactionRequest->setTransactionCurrency("INR");
      $transactionRequest->setTransactionAmount('50.55');
      $transactionRequest->setReturnUrl($ru);
      $transactionRequest->setClientCode('NAVIN');
      $transactionRequest->setTransactionId('0010');
      $transactionRequest->setCustomerName("Test Name");
      $transactionRequest->setCustomerEmailId("test@test.com");
      $transactionRequest->setCustomerMobile("9999999999");
      $transactionRequest->setCustomerBillingAddress("Mumbai");
      $transactionRequest->setCustomerAccount("639827");
      $transactionRequest->setReqHashKey("KEY123657234");
      $transactionRequest->seturl("https://paynetzuat.atomtech.in/paynetz/epi/fts");
      $transactionRequest->setRequestEncypritonKey("8E41C78439831010F81F61C344B7BFC7");
      $transactionRequest->setSalt("8E41C78439831010F81F61C344B7BFC7");
    
    
      $url = $transactionRequest->getPGUrl();
      echo "<br>url:<br>".$url;
      header("Location: $url");
     }
    
  • To handle the response use below function which will return the final response array.

      public function response()
        {
         include_once base_path('vendor/autoload.php');
         $transactionResponse = new \NDPS\TransactionResponse();
    
         /*
         **Enter the keys provided by NDPS
         */
         $transactionResponse->setRespHashKey("KEYRESP123657234");
         $transactionResponse->setResponseEncypritonKey("8E41C78439831010F81F61C344B7BFC7");
         $transactionResponse->setSalt("8E41C78439831010F81F61C344B7BFC7");
         $arrayofdata = $transactionResponse->decryptResponseIntoArray($_POST['encdata']);
    
    
         /*
         **Signature Verification for response and reponse verification
         */
         $verification = $transactionResponse->validateResponse($arrayofdata, "KEYRESP123657234");		
         if($verification){
    // final logic
    if($arrayofdata["f_code"] == "Ok"){
      echo "Transaction successful!";
    }
    elseif($arrayofdata["f_code"] == "C"){ 
      echo "Transaction Cancelled!";	
    }
    else{
      echo "Transaction Failed!";	
    }	  
         }
         else{
    echo "Transaction Failed!";
         }
    
          echo "<br><br>Response Array:<br>";
          print_r($arrayofdata);
    
       }   
    
  • Note: To handle above response as return URL we need defined method as post in routes/web.php file, also we need disable csrf validation for this response function edit following file app/Http/Middleware/VerifyCsrfToken.php

namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
class VerifyCsrfToken extends Middleware
{
    /**
     * Indicates whether the XSRF-TOKEN cookie should be set on the response.
     *
     * @var bool
     */
    protected $addHttpCookie = true;
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        'response/'
    ];
}