abdal/abdal-zarinpal-pg
Composer 安装命令:
composer require abdal/abdal-zarinpal-pg
包简介
ZarinPal Payment Gateway For Laravel
README 文档
README
💎 هدف اصلی
این پکیج برای یکپارچهسازی درگاه پرداخت زرین پال با لاراول طراحی شده است.
⚓ پیش نیاز
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(); }
❤️ کمک به پروژه
https://alphajet.ir/abdal-donation
🤵 برنامه نویس
دست ساز با عشق توسط ابراهیم شفیعی (ابراشا)
E-Mail = Prof.Shafiei@Gmail.com
Telegram: https://t.me/ProfShafiei
☠️ گزارش خطا
اگر با مشکلی در پیکربندی مواجه هستید یا چیزی آنطور که انتظار دارید کار نمیکند، لطفا از Prof.Shafiei@Gmail.com استفاده کنید.طرح مشکلات بر روی GitLab یا Github نیز پذیرفته میشوند.
abdal/abdal-zarinpal-pg 适用场景与选型建议
abdal/abdal-zarinpal-pg 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 42 次下载、GitHub Stars 达 1, 最近一次更新时间为 2024 年 06 月 19 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「payment」 「laravel」 「zarinpal」 「zarinpayment」 「ebrasha」 「abdal」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 abdal/abdal-zarinpal-pg 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 abdal/abdal-zarinpal-pg 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 abdal/abdal-zarinpal-pg 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A Laravel package for connecting to all Iraninan payment gateways
PHP Wrapper of Zarinpal API.
Alfabank REST API integration
Connect to Iran payment gateways through PHP(laravel).
A Laravel package for connecting to all Iraninan payment gateways
a Laravel package to handle Internet Payment Gateways for Iran Banking System
统计信息
- 总下载量: 42
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 25
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-06-19
