一个用于集成MPesa服务的包,即C2B、B2C、B2B和在线结账功能,适用于您的Laravel应用程序。它允许您接收并处理Safaricom发送的SOAP消息。该包仍在积极开发中,因此可能存在错误和更改。

v1.0.1-alpha 2017-01-12 03:00 UTC

This package is not auto-updated.

Last update: 2024-09-20 19:25:00 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

本包旨在集成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 以在您的数据库中创建表。这将创建两个表;

  1. mpesa_payment_logs 表 - 记录从Safaricom接收到的所有内容

  2. 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');