شارك المقالة

ربط بوابة الدفع 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 هو الحل
شاهد أيضًا
مقالات ذات صلة

🚫 مانع الإعلانات مفعل

يجب إيقاف مانع الإعلانات لاستكمال تصفح الموقع