PHPackages                             quickpayge/laravel - 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. quickpayge/laravel

ActiveLibrary

quickpayge/laravel
==================

Laravel integration package for the Quickpay.ge payment gateway

00PHP

Since Jul 31Pushed todayCompare

[ Source](https://github.com/QuickPayGe/laravel-package)[ Packagist](https://packagist.org/packages/quickpayge/laravel)[ RSS](/packages/quickpayge-laravel/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

quickpayge/laravel
==================

[](#quickpaygelaravel)

Laravel integration package for the [Quickpay.ge](https://quickpay.ge) payment gateway.

Provides a ServiceProvider, Facade, config publishing, webhook signature middleware, Laravel Events, and a Blade component. Built on top of [quickpayge/php-sdk](https://github.com/QuickPayGe/php-sdk).

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 11, 12, or 13

Install
-------

[](#install)

```
composer require quickpayge/laravel
```

The package is auto-discovered — no manual provider registration needed.

Setup
-----

[](#setup)

### 1. Publish the config

[](#1-publish-the-config)

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

### 2. Add to `.env`

[](#2-add-to-env)

```
QUICKPAY_API_KEY=qpk_live_your_api_key_here
QUICKPAY_WEBHOOK_SECRET=your_webhook_secret
QUICKPAY_TEST_MODE=false
QUICKPAY_SITE_DOMAIN=https://yourstore.ge
```

Create a payment and redirect
-----------------------------

[](#create-a-payment-and-redirect)

```
use Quickpay\Laravel\Facades\Quickpay;

$payment = Quickpay::payments->create([
    'amount'            => 99.99,
    'currency'          => 'GEL',
    'description'       => 'Order #1234',
    'merchant_order_id' => 'order-1234',
    'idempotency_key'   => 'order-1234-attempt-1',
    'customer' => [
        'name'  => 'John Doe',
        'email' => 'john@example.com',
        'phone' => '+995599123456',
    ],
]);

return redirect($payment->paymentUrl);
```

Webhook routes
--------------

[](#webhook-routes)

### Option A — middleware only (handle manually)

[](#option-a--middleware-only-handle-manually)

```
// routes/web.php
Route::post('/webhook/quickpay', function (Request $request) {
    $event = $request->attributes->get('quickpay_event'); // \Quickpay\Webhook\WebhookEvent

    if ($event->type === 'payment.paid') {
        // mark order as paid
    }

    return response()->json(['ok' => true]);
})->middleware('quickpay.webhook');
```

### Option B — auto-dispatch Laravel events

[](#option-b--auto-dispatch-laravel-events)

```
// routes/web.php
use Quickpay\Laravel\Http\Controllers\WebhookController;

Route::post('/webhook/quickpay', WebhookController::class)
    ->middleware('quickpay.webhook');
```

Listen for events
-----------------

[](#listen-for-events)

```
// app/Providers/EventServiceProvider.php
protected $listen = [
    \Quickpay\Laravel\Events\PaymentPaid::class     => [App\Listeners\HandlePaymentPaid::class],
    \Quickpay\Laravel\Events\PaymentFailed::class   => [App\Listeners\HandlePaymentFailed::class],
    \Quickpay\Laravel\Events\PaymentExpired::class  => [App\Listeners\HandlePaymentExpired::class],
    \Quickpay\Laravel\Events\PaymentRefunded::class => [App\Listeners\HandlePaymentRefunded::class],
    \Quickpay\Laravel\Events\LeadSubmitted::class   => [App\Listeners\HandleLeadSubmitted::class],
];
```

```
// app/Listeners/HandlePaymentPaid.php
use Quickpay\Laravel\Events\PaymentPaid;

class HandlePaymentPaid
{
    public function handle(PaymentPaid $event): void
    {
        $payment = $event->payment; // \Quickpay\DTO\Payment
        // Update your order, send confirmation email, etc.
    }
}
```

Blade component
---------------

[](#blade-component)

```
{{-- Basic usage --}}

{{-- With options --}}

```

**Props:**

PropTypeDefaultDescription`checkout-link`stringrequiredCheckout link UUID or full URL`label`string`Pay Now`Button text`color`string`#2563eb`Background color`text-color`string`#ffffff`Text color`size`string`md``sm` / `md` / `lg``full-width`bool`false`Stretch to container width`radius`string`8px`Border radius`target`string`_self`Link target (`_blank` etc.)Error handling
--------------

[](#error-handling)

```
use Quickpay\Exceptions\AuthException;
use Quickpay\Exceptions\ValidationException;
use Quickpay\Exceptions\RateLimitException;
use Quickpay\Exceptions\NotFoundException;
use Quickpay\Exceptions\QuickpayException;

try {
    $payment = Quickpay::payments->get('some-uuid');
} catch (AuthException $e) {
    // 401/403
} catch (ValidationException $e) {
    // 422 — field errors in $e->errors
} catch (RateLimitException $e) {
    // 429 — retry after $e->retryAfter() seconds
} catch (NotFoundException $e) {
    // 404
} catch (QuickpayException $e) {
    // catch-all
}
```

Test mode
---------

[](#test-mode)

Set `QUICKPAY_TEST_MODE=true` and use a `qpk_test_...` API key. Test keys only work in test mode and never reach real gateway APIs.

###  Health Score

20

—

LowBetter than 12% of packages

Maintenance65

Regular maintenance activity

Popularity0

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/863713edf4af6a69bf12d76361f88f1d1a694fb722ab941823f85c4c509ffecb?d=identicon)[QuickPay](/maintainers/QuickPay)

### Embed Badge

![Health badge](/badges/quickpayge-laravel/health.svg)

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

PHPackages © 2026

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