akika / laravel-mpesa
为 Laravel 5 及以上版本提供支持的酷炫 Mpesa Daraja 包。
v1.0.7
2024-04-18 11:14 UTC
Requires
- php: ^8.0|^8.1|^8.2
- guzzlehttp/guzzle: ^7.5
- illuminate/http: ^8.0 | ^9.0 | ^10.0 | ^11.0
- illuminate/support: ^8.0 | ^9.0 | ^10.0 | ^11.0
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 文件。