ngodasamuel / mpesa
一个用于集成MPesa服务的包,即C2B、B2C、B2B和在线结账功能,适用于您的Laravel应用程序。它允许您接收并处理Safaricom发送的SOAP消息。该包仍在积极开发中,因此可能存在错误和更改。
v1.0.1-alpha
2017-01-12 03:00 UTC
Requires
- php: ^5.6 || ^7.0
- nesbot/carbon: ^1.21
This package is not auto-updated.
Last update: 2024-09-20 19:25:00 UTC
README
本包旨在集成MPesa服务,即C2B、B2C、B2B和在线结账功能,适用于您的Laravel应用程序。它允许您接收并处理Safaricom发送的SOAP消息。该包仍在积极开发中,因此可能存在错误和更改。
要求
快速安装
composer require "lawrence615/mpesa:dev-master"
服务提供者
Ngodasamuel\Mpesa\MpesaServiceProvider::class
配置和资产
php artisan vendor:publish --provider="Ngodasamuel\Mpesa\MpesaServiceProvider"
然后运行 php artisan migrate 以在您的数据库中创建表。这将创建两个表;
-
mpesa_payment_logs 表 - 记录从Safaricom接收到的所有内容
-
payments 表 - 将从Safaricom接收的内容分解为多个列
接收者路由
接收IPN的路由为 c2b/payments/receiver
,即 http://example.com/c2b/payments/receiver。这是您提供给Safaricom的端点。
事件
当发生某些操作时,会触发事件。您可以通过设置自己的事件监听器来扩展包的行为,以提供自定义功能。
以下是该包触发的事件。随着时间的推移,随着更多事件的产生,该列表将会增长;
C2B付款事件监听器
创建一个控制器,例如 PaymentsController,然后创建一个函数 c2bPayment
//$payload will have the data from the event public function c2bPayment($payload){ }
在 EventServiceProvider 的 boot 方法中注册一个事件监听器
Event::listen('c2b.received.payment', 'App\Http\Controllers\PaymentsController@c2bPayment');