akika/laravel-mpesa

为 Laravel 5 及以上版本提供支持的酷炫 Mpesa Daraja 包。

v1.0.7 2024-04-18 11:14 UTC

This package is auto-updated.

Last update: 2024-09-18 12:18:50 UTC


README

此 Laravel 包提供了方便的方法,将 Mpesa Daraja API 的功能集成到您的 Laravel 应用程序中。

安装

您可以通过 composer 安装此包

composer require akika/laravel-mpesa

安装包后,使用以下命令发布配置文件

php artisan mpesa:install

这将在您的配置目录中生成一个 mpesa.php 文件,您可以在其中设置您的 Mpesa 凭据和其他配置选项。

.env 文件设置

将以下配置添加到 .env 文件中

MPESA_ENV=
MPESA_SHORTCODE=
MPESA_CONSUMER_KEY=
MPESA_CONSUMER_SECRET=
MPESA_PASSKEY=
MPESA_INITIATOR_NAME=
MPESA_INITIATOR_PASSWORD=
MPESA_STK_VALIDATION_URL=
MPESA_STK_CONFIRMATION_URL=
MPESA_STK_CALLBACK_URL=
MPESA_BALANCE_RESULT_URL=
MPESA_BALANCE_TIMEOUT_URL=
MPESA_TRANSACTION_STATUS_RESULT_URL=
MPESA_TRANSACTION_STATUS_TIMEOUT_URL=
MPESA_B2C_TIMEOUT_URL=
MPESA_B2C_RESULT_URL=
MPESA_B2B_TIMEOUT_URL=
MPESA_B2B_RESULT_URL=
MPESA_REVERSAL_TIMEOUT_URL=
MPESA_REVERSAL_RESULT_URL=
MPESA_BILL_OPTIN_CALLBACK_URL=
MPESA_TAX_REMITTANCE_TIMEOUT_URL=
MPESA_TAX_REMITTANCE_RESULT_URL=

注意:mpesa.php 配置文件将默认的 MPESA_ENV 值设置为 sandbox。这将始终加载沙盒 URL。

函数响应

所有响应(除令牌生成响应外)都符合在 Daraja 站点上记录的响应。

用法

初始化 Mpesa

use Akika\LaravelMpesa\Mpesa;

$mpesa = new Mpesa();

获取令牌

您可以通过以下方式获取 Mpesa API 调用所需的令牌

$token = $mpesa->getToken();

获取账户余额

您可以通过以下方式获取 Mpesa 账户余额

$balance = $mpesa->getBalance();

C2B 交易

注册 C2B 交易的 URL

您可以为 C2B 交易注册验证和确认 URL

$response = $mpesa->c2bRegisterUrl();

您可以使用以下命令注册 C2B URL

php artisan mpesa:register-c2b-urls

上述命令要求您在 env 或配置文件中设置以下变量

MPESA_SHORTCODE=
MPESA_STK_VALIDATION_URL=
MPESA_STK_CONFIRMATION_URL=

模拟 C2B 交易

您可以模拟来自客户的支付请求

$response = $mpesa->c2bSimulate($amount, $phoneNumber, $billRefNumber, $commandID);

启动 STK Push

您可以代表客户启动在线支付

$response = $mpesa->stkPush($accountNumber, $phoneNumber, $amount, $transactionDesc);

查询 STK Push 状态

您可以查询 STK Push 交易的结果

$response = $mpesa->stkPushStatus($checkoutRequestID);

撤销交易

您可以撤销 C2B M-Pesa 交易

$response = $mpesa->reverse($transactionId, $amount, $receiverShortCode, $remarks);

业务对客户(B2C)交易

您可以执行业务对客户交易

$response = $mpesa->b2cTransaction($oversationId, $commandID, $msisdn, $amount, $remarks, $ocassion);

业务对业务(B2B)交易

您可以执行业务对业务交易

$response = $mpesa->b2bPaybill($destShortcode, $amount, $remarks, $accountNumber, $requester);

二维码生成

您可以生成用于支付的二维码

$response = $mpesa->dynamicQR($merchantName, $refNo, $amount, $trxCode, $cpi, $size);

账单管理器

您可以选择账单管理器服务并发送发票

$response = $mpesa->billManagerOptin($email, $phoneNumber);

$response = $mpesa->sendInvoice($reference, $billedTo, $phoneNumber, $billingPeriod, $invoiceName, $dueDate, $amount, $items);

税务汇款

您可以向政府汇款缴纳税款

$response = $mpesa->taxRemittance($amount, $receiverShortCode, $accountReference, $remarks);

许可

Laravel Mpesa 包是开源软件,许可协议为 MIT 许可。有关详细信息,请参阅 LICENSE 文件。