dgvai/laravel-nagad 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

dgvai/laravel-nagad

最新稳定版本:1.0.1

Composer 安装命令:

composer require dgvai/laravel-nagad

包简介

Nagad Payment Gateway for Laravel (Bangladesh)

README 文档

README

Latest Stable Version Total Downloads Latest Unstable Version License Monthly Downloads Daily Downloads composer.lock

Nagad is one of the Financial Services in Bangladesh. This package is built for Nagad Payment Gateway for Laravel 6.x, 7.x and 8.x+

Contents

Installation

You can install the package via composer:

composer require dgvai/laravel-nagad

Setting up your configuration

Extract the nagad config files:

php artisan vendor:publish --tag=nagad-config
  • This will publish and config file in config_path() of your application. Eg. config/nagad.php

  • Configure the configurations for the nagad merchant acocunt. Use sandbox = true for development stage.

  • Be sure to set the timezone of you application to Asia/Dhaka in order to work with Nagad PG. To do this: go to config/app.php and set 'timezone' => 'Asia/Dhaka'

Usage

NagadPG uses three stages of payment process, and two of theme are simultaneous. To get started, first you have to setup a callback route (GET) for the Nagad Callback and name the route in the nagad config file.

    // in routes/web.php
    Route::get('/nagad/callback', 'NagadController@callback')->name('nagad.callback');

    //in config/nagad.php
    'callback' => 'nagad.callback' // or use env variable to store

To Start payment, in your controller:

    // in SomeController.php
    use DGvai\Nagad\Facades\Nagad;

    public function createPayement() 
    {
        /**
         * Method 1: Quickest
         * This will automatically redirect you to the Nagad PG Page
         * */

        return Nagad::setOrderID('ORDERID123')
            ->setAmount('540')
            ->checkout()
            ->redirect();
        
        /**
         * Method 2: Manual Redirection
         * This will return only the redirect URL and manually redirect to the url
         * */

        $url = Nagad::setOrderID('ORDERID123')
            ->setAmount('540')
            ->checkout()
            ->getRedirectUrl();

        return ['url' => $url];


        /**
         * Method 3: Advanced 
         * You set additional params which will be return at the callback
         * */

        return Nagad::setOrderID('ORDERID123')
            ->setAmount('540')
            ->setAddionalInfo(['pid' => 9, 'myName' => 'DG'])
            ->checkout()
            ->redirect();


        /**
         * Method 4: Advanced Custom Callabck
         * You can set/override callback url while creating payment
         * */

        return Nagad::setOrderID('ORDERID123')
            ->setAmount('540')
            ->setAddionalInfo(['pid' => 9, 'myName' => 'DG'])
            ->setCallbackUrl("https://manual-callback.url/callback")
            ->checkout()
            ->redirect();
    }
    

To receive the callback response, in your callback controller method:

     // in CallbackController.php
    use DGvai\Nagad\Facades\Nagad;
    use Illuminate\Http\Request;

    /**
     * This is the routed callback method
     * which receives a GET request.
     * 
     * */

    public function callback(Request $request)
    {
        $verified = Nagad::callback($request)->verify();
        if($verified->success()) {

            // Get Additional Data
            dd($verified->getAdditionalData());
            
            // Get Full Response
            dd($verified->getVerifiedResponse());
        } else {
            dd($verified->getErrors());
        }
    }

Available Methods

For Checking-out

  • setOrderID(string $orderID) : $orderID to be any unique AlphaNumeric String
  • setAmount(string $amount) : $amount to be any valid currency numeric String
  • setAddionalInfo(array $array) : $array to be any array to be returned at callback
  • setCallbackUrl(string $url) : $url to be any url string to be overidden the defualt callback url set in config
  • checkout() : to initiate checkout process.
  • redirect() : to direct redirect to the NagadPG Web Page.
  • getRedirectUrl() : instead of redirecting, getting the redirect url manually.

For Callback

  • callback($request) : $request to be Illuminate\Http\Request instance
  • verify() : to verify the response.
  • success() : to check if transaction is succeed.
  • getErrors() : to get the error and errorCode if fails transactions | returns array[]
  • getVerifiedResponse() : to get the full verified response | returns array[]
  • getAdditionalData(bool $object) : to get the additional info passed during checkout. $object is to set return object or array.

Changelog

Please see CHANGELOG for more information what has changed recently.

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 1.72k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 10
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 10
  • Watchers: 2
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-09-23