يهدف هذا المشروع إلى توفير غلاف PHP سهل الاستخدام وحديث لـ M-Pesa Mozambique API.
الإصدار المستهدف من M-PESA API: V1X
التثبيت باستخدام الملحن:
composer require abdulmueid/mpesa
قم بتحميل التكوين من الملف.
$ config = abdulmueid mpesa Config:: loadFromFile ( ' /path/to/config.php ' );راجع عينة ملف التكوين في مجلد أمثلة.
إنشاء معاملة باستخدام التكوين.
$ transaction = new abdulmueid mpesa Transaction ( $ config );تنفيذ عمليات API وتمرير المعلمات المناسبة.
بدء جمع الدفع C2B.
$ c2b = $ transaction -> c2b (
float $ amount ,
string $ msisdn ,
string $ reference ,
string $ third_party_reference
);بدء الدفع B2C.
$ b2c = $ transaction -> b2c (
float $ amount ,
string $ msisdn ,
string $ reference ,
string $ third_party_reference
);بدء الدفع B2B.
$ b2b = $ transaction -> b2b (
float $ amount ,
string $ receiver_party_code ,
string $ reference ,
string $ third_party_reference
);بدء انعكاس.
$ reversal = $ transaction -> reversal (
float $ amount ,
string $ transaction_id ,
string $ third_party_reference
);الاستعلام عن معاملة.
$ query = $ transaction -> query (
string $ query_reference ,
string $ third_party_reference
);تحقق من الاستجابة
جميع المعاملات إرجاع كائن TransactionResponse . الكائن لديه الأساليب العامة التالية:
getCode() - إرجاع رمز الاستجابة IE INS-0
getDescription() - إرجاع الوصف.
getTransactionID() - إرجاع معرف المعاملة.
getConversationID() - إرجاع معرف المحادثة.
getTransactionStatus() - إرجاع حالة المعاملة. السكان فقط عند استدعاء المعاملة query() .
getResponse() - إرجاع كائن JSON الكامل استجابة كما تم استلامه من خوادم M -PESA. جيد لتصحيح أي قضايا أو سلوكيات غير موثقة في واجهة برمجة تطبيقات M-PESA.
في سيناريو نموذجي ، يجب أن يكون الكود للتحقق من المعاملات الناجحة كما يلي:
$ c2b = $ transaction -> c2b (...);
if ( $ c2b -> getCode () === ' INS-0 ' ) {
// Transaction Successful, Do something here
}يوفر هذا الريبو اختبارات الوحدة للتحقق من صحة الكائنات وتفاعلها مع M-PESA.
لتشغيل الاختبارات ،
phpunit.xml وأضف بيانات الاعتماد/المعلمات المتطلبات كما تم توفيرها بواسطة M-PESA.phpunitجميع الاختبارات تستخدم 1mt كمبلغ الاختبار.
يتم إصدار هذه المكتبة تحت رخصة معهد ماساتشوستس للتكنولوجيا. انظر ملف الترخيص للحصول على التفاصيل.