ربط بوابة الدفع Moyasar مع Laravel لإنشاء نظام مدفوعات سعودي متكامل
عند بناء متجر إلكتروني أو تطبيق داخل السعودية، تصبح بوابة الدفع جزءًا أساسيًا من المشروع.
ومن أشهر بوابات الدفع المستخدمة داخل السوق السعودي نجد Moyasar والتي توفر دعمًا لوسائل دفع متعددة مثل:
- Mada
- Visa
- MasterCard
- Apple Pay
- STC Pay
وتوفر Moyasar مكتبة PHP يمكن ربطها مباشرة مع Laravel لتسهيل إنشاء المدفوعات وإدارة العمليات المالية داخل التطبيق.
في هذا المقال سنتعرف على طريقة الربط خطوة بخطوة باستخدام مكتبة moyasar-php داخل Laravel.
تثبيت مكتبة Moyasar داخل Laravel
أول خطوة هي تثبيت الحزمة داخل المشروع:
composer require moyasar/moyasar
توفر الحزمة خدمات خاصة بالمدفوعات والفواتير ويمكن دمجها مباشرة داخل Laravel Service Container.
بعد التثبيت نقوم بنشر ملف الإعدادات:
php artisan vendor:publish
--provider="Moyasar\Providers\LaravelServiceProvider"
هذه الخطوة ستقوم بإنشاء ملف:
config/moyasar.php
إضافة مفاتيح Moyasar داخل المشروع
بعد إنشاء حساب داخل Moyasar والحصول على مفاتيح API قم بإضافتها داخل ملف:
.env
ثم أضف:
MOYASAR_API_KEY=sk_test_xxxxxxxxx
تقرأ المكتبة المفتاح تلقائيًا من متغير البيئة دون الحاجة لإضافته داخل الكود.
الحصول على خدمات الدفع داخل Laravel
بعد الإعداد يمكن الوصول إلى الخدمات مباشرة من خلال:
app(PaymentService::class);
app(InvoiceService::class);
أو عبر حقن الخدمة داخل Controller:
use Moyasar\Providers\PaymentService;
class PaymentController
{
public function __construct(
PaymentService $paymentService
){
$this->paymentService =
$paymentService;
}
}
بهذه الطريقة تصبح خدمة الدفع متاحة داخل المشروع بالكامل.
استخدام Facade للوصول السريع
توفر المكتبة Facade جاهزة:
Moyasar\Facades\Payment
يمكن استخدامها بالشكل التالي:
use Moyasar\Facades\Payment;
$payment =
Payment::fetch("payment_id");
يسمح ذلك بجلب بيانات عملية دفع مباشرة من Moyasar.
إنشاء عملية دفع جديدة
بعد إعداد الطلب داخل النظام يمكن إنشاء عملية الدفع وإرسال البيانات إلى Moyasar.
عادة تتضمن البيانات:
- المبلغ
- العملة
- الوصف
- طريقة الدفع
- معرف الطلب
مثال تقريبي:
$data = [
"amount" => 10000,
"currency" => "SAR",
"description" =>
"Order Payment"
];
بعد نجاح العملية تقوم Moyasar بإرجاع معلومات الدفع والتي يمكن تخزينها داخل قاعدة البيانات.
إدارة الفواتير داخل Moyasar
المكتبة لا تقتصر على المدفوعات فقط.
بل توفر أيضًا:
- إنشاء الفواتير
- إلغاء الفواتير
- متابعة الحالات
- استرجاع العمليات
- إدارة Refunds
ويمكن الوصول لذلك عبر:
InvoiceService
لماذا استخدام Moyasar مع Laravel؟
- دعم كامل للسوق السعودي
- دعم Mada و Apple Pay
- سهولة الدمج مع Laravel
- إدارة الفواتير والمدفوعات
- اعتماد على Service Container
- إمكانية استخدام Dependency Injection
أفضل الممارسات عند الربط
- لا تخزن مفاتيح API داخل الكود.
- استخدم متغيرات البيئة فقط.
- احفظ عمليات الدفع داخل قاعدة البيانات.
- تحقق من حالة الدفع قبل تنفيذ الطلب.
- أضف Webhooks لمتابعة العمليات.
- استخدم مفاتيح Test أثناء التطوير.
الخلاصة
توفر Moyasar واحدة من أشهر حلول الدفع داخل السعودية، كما أن دمجها مع Laravel يعتبر مباشرًا بفضل مكتبة PHP الجاهزة.
بعد تثبيت الحزمة وإضافة مفاتيح API يمكن البدء مباشرة في إنشاء المدفوعات وإدارة الفواتير وربطها مع التطبيقات والمتاجر الإلكترونية.
رابط المشروع
Moyasar PHP Laravel
لمزيد من المقالات : تعلم كيفية ضبط حجم الخط بشكل مثالي في Flutter
مزيد من المقالات : تعرف لماذا يتعطل تطبيقك عند الكتابة السريعة في حقل البحث ولماذا استخدام Debouncer هو الحل
