PHPackages                             shahzadthathal/skipcash - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. shahzadthathal/skipcash

ActiveLibrary[Payment Processing](/categories/payments)

shahzadthathal/skipcash
=======================

Skipcash payment gateway integration.

1.0.0(2y ago)04.1k↓37.4%3MITPHP

Since Jan 23Pushed 2y ago1 watchersCompare

[ Source](https://github.com/shahzadthathal/skipcash)[ Packagist](https://packagist.org/packages/shahzadthathal/skipcash)[ RSS](/packages/shahzadthathal-skipcash/feed)WikiDiscussions main Synced 3d ago

READMEChangelogDependenciesVersions (2)Used By (0)

SkipCash Payment Gateway
========================

[](#skipcash-payment-gateway)

Install package
---------------

[](#install-package)

`composer require shahzadthathal/skipcash`

Add Skipcash Provider to config/app.php `providers` array.

`Shahzadthathal\Skipcash\Providers\SkipcashProvider::class`

Update .env file

```
SKIPCASH_CLIENT_ID=''
SKIPCASH_KEY_ID=''
SKIPCASH_KEY_SECRET=''
SKIPCASH_WEBHOOK_KEY=''
SKIPCASH_URL='https://skipcashtest.azurewebsites.net'
#SKIPCASH_URL='https://api.skipcash.app'

```

Publish config skipcash helper if you want otherwise leave this command. It will create skipcash.php helper under config dir.

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

Run migration.

This will create `skipcash_logs` table where we will save logs from payment gateway.

`php artisan migrate`

There are two methods to use this package.

### 1. First method

[](#1-first-method)

You can use built in Trait in your controller:

```
use Shahzadthathal\Skipcash\Traits\SkipCashPaymentGatewayTrait;
use Shahzadthathal\Skipcash\Models\SkipcashLogs;

class YourPaymentController extends Controller{

    use SkipCashPaymentGatewayTrait;

    //Generate payment link
    //http://127.0.0.1:8000/payment/generate-payment-link
    $this->generatePaymentLinkSkipcash(Request $request){
            //Your custom transaciton id or order id
            $transactionId = 'xyz12345';
            //Sequance of the fields is important, don't move keys
            $requestData = [
                "Uid" =>\Str::uuid()->toString(),
                "KeyId"=>   env('SKIPCASH_KEY_ID'),
                "Amount" => "40.00",
                'FirstName' => 'Muhammad',
                'LastName' => 'Shahzad',
                'Phone' => '+971507520175',
                'Email' => 'shahzadthathal@gmail.com',
                "TransactionId" => $transactionId,
                "Custom1" => 'Custom1 anything',
                // Add other required fields... i.e. Custom2
            ];
            $responseSkipcashResponse = $this->generatePaymentLinkSkipcash($requestData);
            $responseSkipcashArr = json_decode($responseSkipcashResponse, true);
            if(isset($responseSkipcashArr['resultObj'])){
                $payUrl = $responseSkipcashArr['resultObj']['payUrl'];
                header('Content-Type: application/json; charset=utf-8');
                header("Location:".$payUrl);
                exit;
            }

    }

    //Validate payment
    //http://127.0.0.1:8000/payment/gateway/response/skipcash
   //Please update above url in SkipCash payment portal in Return URL input box.
    $this->validatePaymentSkipcash(Request $request){
            $payment_id = $request->get('id');

            //Save logs
            $currentUrlWithParams = url()->full();
            $skipcashLogs = new SkipcashLogs();
            $skipcashLogs->user_id = \Auth::user()->id??0;
            $skipcashLogs->logs = 'returning '.$currentUrlWithParams;
            $skipcashLogs->save();

            //Verify payment
            $responseSkipcash = $this->validatePaymentSkipcash($payment_id);
            $responseSkipcashArr = json_decode($responseSkipcash, true);
            $resultObj = $responseSkipcashArr['resultObj'];
            //Payment success
            if(isset($resultObj['statusId']) && $resultObj['statusId']===2){
                //Your custom transaciton id or order id from the payment gateway
                $transactionId = $resultObj['transactionId'];
                dd('transactionId '.$transactionId.' is verifid payment please update your order.');
            }
    }

    //Webhook
   //http://127.0.0.1:8000/payment/gateway/response/skipcash/webhook
   //Please update above url in SkipCash payment portal in Webhook URL input box.
    public function paymentGatewayResponseSkipcashWebhook(Request $request){
        try{
            $data = $request->all();
            $skipcashLogs = new SkipcashLogs();
            $skipcashLogs->user_id = 0;
            $skipcashLogs->logs = 'webhook '.$data;
            $skipcashLogs->save();
            return response()->json(['message' => 'Success'], 200);
        }catch(\Exception $e){
            throw $e;
        }

    }

}

```

Please see `\vendor\shahzadthathal\skipcash\src\Http\Controllers\SkipCashController.php` for more methods.

### 2. Second method

[](#2-second-method)

`php artisan vendor:publish --tag=routes`

Above command will create a skipcash.php route file. Please include skipcash.php in the end of the `web.php` route file.

`require __DIR__.'/skipcash.php';`

Create a new controller i.e. `YourSkipCashController.php` and update it in `skipcash.php` route file. Copy the content of `\vendor\shahzadthathal\skipcash\src\Http\Controllers\SkipCashController.php` and paste into your controller.

Now you can access these routes to generate pay link and verify payments.

```
http://127.0.0.1:8000/payment/generate-payment-link

http://127.0.0.1:8000/payment/gateway/response/skipcash

http://127.0.0.1:8000/payment/gateway/response/skipcash/webhook

```

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 64.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

894d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5c2fe45c2bf1956d93612b884db0d5ef521edf8bb597649879cf964ea0c5850c?d=identicon)[shahzadthathal](/maintainers/shahzadthathal)

---

Top Contributors

[![shahzadthathal](https://avatars.githubusercontent.com/u/4338236?v=4)](https://github.com/shahzadthathal "shahzadthathal (9 commits)")[![shahzad-esm](https://avatars.githubusercontent.com/u/127843858?v=4)](https://github.com/shahzad-esm "shahzad-esm (5 commits)")

### Embed Badge

![Health badge](/badges/shahzadthathal-skipcash/health.svg)

```
[![Health](https://phpackages.com/badges/shahzadthathal-skipcash/health.svg)](https://phpackages.com/packages/shahzadthathal-skipcash)
```

###  Alternatives

[msilabs/bkash

bKash Payment Gateway API for Laravel Framework.

181.2k](/packages/msilabs-bkash)[binkode/laravel-paystack

A description for laravel-paystack.

112.1k](/packages/binkode-laravel-paystack)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
