Skip to content

neputertech/khalti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel Khalti

This package can help you integrate Khalti new ePayment Gateway (NEW) to your php application.

Khalti ePay Docs

Here is an example of how you can initiate Khalti transaction:

...
use Neputer\Facades\Khalti;
use Illuminate\Support\Facades\Redirect;

class PaymentController extends Controller {
    ...
    public function pay() {
        $return_url = "http://example.com/verify";
        $purchase_order_id = "your_transaction_id"; // example 123567;
        $purchase_order_name = "your_order_name"; // example Transaction: 1234,
        $amount = 1000; // Your total amount in paisa Rs 1 = 100 paisa

        $response =  Khalti::initiate($return_url, $purchase_order_id, $purchase_order_name,  $amount);

        // Custom handle of khalti response

        return Redirect::to($response->payment_url);
    }

    public function verify(Request $request) {
        $pidx = $request->get('pidx');
        return Khalti::lookup($pidx);
    }


}

Installation

You can install the package via composer:

composer require neputertech/khalti

The package will automatically register itself.

You can publish the config with:

php artisan vendor:publish --tag=khalti-config

This is the contents of the published config file:

<?php

return [
    'debug' => env('KHALTI_DEBUG', true), // set false to run on live khalti url
    'website_url' => 'https://example.com', // your website url
    'public_key' => env('KHALTI_PUBLIC_KEY', ''), // public key from khalti
    'secret_key' => env('KHALTI_SECRET_KEY', ''), // secret key from khalti
];

Update .env with your khalti credentials

This credentals are provided with merchant dashboard.

set debug flag to false in config to use live khalti

KHALTI_DEBUG=true # Set this flag to false to use khatli in production
KHALTI_PUBLIC_KEY=
KHALTI_SECRET_KEY=

Usage

The basic concept of this package is that you can integrate Khalti ePayment Gateway (NEW) to your laravel applications and initiate/verify transactions