PHPackages                             abdal/abdal-zarinpal-pg - 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. abdal/abdal-zarinpal-pg

ActiveLibrary[Payment Processing](/categories/payments)

abdal/abdal-zarinpal-pg
=======================

ZarinPal Payment Gateway For Laravel

16.16.8(8mo ago)1401MITPHPPHP ^7.2|^8.0

Since Jun 19Pushed 8mo ago1 watchersCompare

[ Source](https://github.com/ebrasha/abdal-zarinpal-pg)[ Packagist](https://packagist.org/packages/abdal/abdal-zarinpal-pg)[ Docs](https://github.com/ebrasha/abdal-zarinpal-pg)[ RSS](/packages/abdal-abdal-zarinpal-pg/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (1)Versions (13)Used By (0)

Abdal Zarinpal PG For Laravel
=============================

[](#abdal-zarinpal-pg-for-laravel)

[![](resources/img/zlogo.png?raw=true)](resources/img/zlogo.png?raw=true)

💎 هدف اصلی
----------

[](#-هدف-اصلی)

این پکیج برای یکپارچه‌سازی درگاه پرداخت زرین پال با لاراول طراحی شده است.

⚓ پیش نیاز
----------

[](#-پیش-نیاز)

> PHP 7.2 یا بالاتر
> Laravel 7.0 یا بالاتر

✨ قابلیت‌ها
-----------

[](#-قابلیت‌ها)

- درخواست پرداخت
- تایید پرداخت
- مدیریت خطاها
- استفاده آسان با متدهای زنجیره‌ای
- انتخاب واحد پول در زمان درخواست هر تراکنش
- پشتیبانی از آخرین نسخه و جدیدترین نسخه های لاراول

📝 چگونه کار می‌کند؟
-------------------

[](#-چگونه-کار-می‌کند)

### نصب

[](#نصب)

برای نصب پکیج از کامپوزر استفاده کنید:

```
composer require abdal/abdal-zarinpal-pg
```

### بروزرسانی

[](#بروزرسانی)

برای بروزرسانی پکیج از کامپوزر استفاده کنید:

```
 composer update  abdal/abdal-zarinpal-pg
```

### تنظیمات

[](#تنظیمات)

سپس سرویس‌پراوایدر را در فایل config/app.php اضافه کنید: (برای لاراول 11 نیاز به انجام این مورد ندارید)

```
'providers' => [
// ...
Abdal\AbdalZarinpalPg\ZarinpalServiceProvider::class,
];
```

و فاساد را ثبت کنید: (برای لاراول 11 نیاز به انجام این مورد ندارید)

```
'aliases' => [
// ...
'Zarinpal' => Abdal\AbdalZarinpalPg\Facades\Zarinpal::class,
];
```

### استفاده

[](#استفاده)

فرض کنید Route ها را به صورت زیر تعریف کرده اید

```
Route::get('/payment/request', [ZarinpalController::class, 'requestPayment'])->name('payment.request');
Route::get('/payment/verify', [ZarinpalController::class, 'verifyPayment'])->name('payment.verify');
```

پس از تعریف Route ها می توانید کاربر را به آن پاس دهید و در تابعی که به route شما متصل شده است برای درخواست پرداخت یا همان ارسال مشتری به درگاه کد زیر را وارد کنید

```
 use Abdal\AbdalZarinpalPg\Zarinpal;

    public function requestPayment(Request $request)
    {
        $response = Zarinpal::merchantId('00000000-0000-0000-0000-000000000000')
            ->amount(13660000)
            ->currency('IRT')
            ->callbackUrl(route('payment.verify'))
            ->description('خرید تست')
            ->email('info@ebrasha.com')
            ->mobile('09022223301')
            ->request();

        if (!$response->success()) {
            return response()->json(['error' => $response->message()], 400);

        }

        $authority = $response->getAuthority(); // Save Authority in Database
        return $response->redirect();

    }
```

برای تایید پرداخت مشتری:

```
use Abdal\AbdalZarinpalPg\Zarinpal;

 public function verifyPayment(Request $request)
    {

        $response = Zarinpal::merchantId('00000000-0000-0000-0000-000000000000')
            ->amount(13660000)
            ->currency('IRT')
            ->authority($request->query('Authority'))
            ->verify();

        if (!$response->success()) {
            return response()->json(['error' => $response->message()], 400);
        }

        return $response->referenceId();
    }
```

اگر نمی خواهید در هر بار استفاده از پکیج کد درگاه و واحد پول را وارد کنید می توانید از فایل .env نیز استفاده کنید. در فایل .env پروژه خود، مقادیر مربوط به ZARINPAL\_MERCHANT\_ID و ZARINPAL\_CURRENCY را اضافه کنید:

مرچنت کد یا کد درگاه را اضافه کنید

```
ZARINPAL_MERCHANT_ID=00000000-0000-0000-0000-000000000000
```

برای تغییر واحد پول به تومان (پکیج پیشفرض از واحد تومان استفاده می کند)

```
ZARINPAL_CURRENCY=IRT
```

برای تغییر واحد پول به ریال

```
ZARINPAL_CURRENCY=IRR
```

اگر تنظیمات را در فایل .env وارد کردید کدها را به صورت زیر استفاده کنید مثال استفاده با مقادیر پیش‌فرض از فایل تنظیمات ارسال مشترین به درگاه بانک

```
 use Abdal\AbdalZarinpalPg\Zarinpal;

   public function requestPayment(Request $request)
{
    $response = (new Zarinpal())
        ->amount(13660000)
        ->callbackUrl(route('payment.verify'))
        ->description('خرید تست')
        ->email('info@ebrasha.com')
        ->mobile('09022223301')
        ->request();

    if (!$response->success()) {
        return response()->json(['error' => $response->message()], 400);
    }

    $authority = $response->getAuthority(); // Save Authority in Database
    return $response->redirect();
}

```

برای تایید پرداخت مشتری:

```
use Abdal\AbdalZarinpalPg\Zarinpal;

public function verifyPayment(Request $request)
{
    $response = (new Zarinpal())
        ->amount(13660000)
        ->authority($request->query('Authority'))
        ->verify();

    if (!$response->success()) {
        return response()->json(['error' => $response->message()], 400);
    }

    return $response->referenceId();
}
```

❤️ کمک به پروژه
---------------

[](#️-کمک-به-پروژه)

🤵 برنامه نویس
-------------

[](#-برنامه-نویس)

دست ساز با عشق توسط ابراهیم شفیعی (ابراشا)

E-Mail =

Telegram:

☠️ گزارش خطا
------------

[](#️-گزارش-خطا)

اگر با مشکلی در پیکربندی مواجه هستید یا چیزی آنطور که انتظار دارید کار نمی‌کند، لطفا از  استفاده کنید.طرح مشکلات بر روی GitLab یا Github نیز پذیرفته می‌شوند.

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance60

Regular maintenance activity

Popularity10

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

Every ~40 days

Recently: every ~108 days

Total

12

Last Release

252d ago

Major Versions

15.5.6 → 16.1.12024-06-21

### Community

Maintainers

![](https://www.gravatar.com/avatar/497c584ab859394a7a024c972e516d3e04a326a68423ff3851a7617583b0496c?d=identicon)[Prof.Shafiei](/maintainers/Prof.Shafiei)

---

Top Contributors

[![ebrasha](https://avatars.githubusercontent.com/u/9009001?v=4)](https://github.com/ebrasha "ebrasha (32 commits)")

---

Tags

abdalebrahim-shafieiebrashalaravelpaymentzarinpalzarinpaymentlaravelpaymentzarinpalebrashaebrahim-shafieizarinpaymentabdal

### Embed Badge

![Health badge](/badges/abdal-abdal-zarinpal-pg/health.svg)

```
[![Health](https://phpackages.com/badges/abdal-abdal-zarinpal-pg/health.svg)](https://phpackages.com/packages/abdal-abdal-zarinpal-pg)
```

###  Alternatives

[larabook/gateway

A Laravel package for connecting to all Iraninan payment gateways

24553.7k](/packages/larabook-gateway)[evryn/laravel-toman

A simple stable Laravel package to handle popular payment gateways in Iran including ZarinPal and IDPay.

1079.9k](/packages/evryn-laravel-toman)[pishran/zarinpal

Zarinpal library for Laravel.

4728.7k](/packages/pishran-zarinpal)[omalizadeh/laravel-multi-payment

A driver-based laravel package for online payments via multiple gateways

491.1k](/packages/omalizadeh-laravel-multi-payment)[dena-a/iran-payment

a Laravel package to handle Internet Payment Gateways for Iran Banking System

312.4k1](/packages/dena-a-iran-payment)[parsisolution/gateway

A Laravel package for connecting to all Iraninan payment gateways

231.7k](/packages/parsisolution-gateway)

PHPackages © 2026

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