ssiva / mpesa-laravel-sdk
本包为Laravel应用程序提供M-PESA Daraja API的无缝集成。
v1.1.5
2023-04-13 16:22 UTC
Requires
- illuminate/support: ^10.7
- ssiva/mpesa-daraja: ^4
Requires (Dev)
- mockery/mockery: ^1.5
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2024-09-25 17:56:17 UTC
README
本包为Laravel应用程序提供M-PESA Daraja API的无缝集成,使开发者可以轻松处理
- B2C(企业对客户)
- C2B(客户对企业)
- B2B(企业对企业)
- 账户余额查询
- 交易撤销查询
- 交易状态查询。
它通过提供直观的API请求、响应处理和错误管理的界面,简化了实施过程。使用此包,开发者可以无缝地将M-PESA Daraja API集成到他们的Laravel项目中,节省时间和精力。
安装和配置
-
运行以下命令
composer require ssiva/mpesa-laravel-sdk
-
运行以下命令以发布包配置文件
config/mpesa.php
php artisan vendor:publish --tag=mpesa_config
配置
根据需要设置配置值
-
账户API在线配置
MPESA_SHORTCODE= MPESA_RESULT_URL= MPESA_TIMEOUT_URL= MPESA_INITIATOR_NAME= MPESA_SECURITY_CREDENTIAL= MPESA_SECURITY_CERT= MPESA_ACCOUNT_IDENTIFIER=
-
LipaNaMpesa API在线配置
MPESA_SHORTCODE= MPESA_CALLBACK_URL= MPESA_PASSKEY= MPESA_ONLINE_TRANSACTION_TYPE=
-
B2C API配置
MPESA_SHORTCODE= MPESA_RESULT_URL= MPESA_TIMEOUT_URL= MPESA_INITIATOR_NAME= MPESA_SECURITY_CREDENTIAL= MPESA_SECURITY_CERT= MPESA_ACCOUNT_IDENTIFIER= MPESA_B2C_COMMAND=
-
B2B API配置
MPESA_SHORTCODE= MPESA_RESULT_URL= MPESA_TIMEOUT_URL= MPESA_INITIATOR_NAME= MPESA_SECURITY_CREDENTIAL= MPESA_SECURITY_CERT= MPESA_ACCOUNT_IDENTIFIER= MPESA_B2B_COMMAND= MPESA_B2B_SENDER_ID= MPESA_B2B_RECEIVER_ID=
-
C2B API配置
MPESA_SHORTCODE= MPESA_C2B_COMMAND= MPESA_C2B_CONFIRMATION_URL= MPESA_C2B_VALIDATION_URL= MPESA_C2B_RESPONSE_TYPE=
使用示例
<?php namespace YOURNAMESPACE; use MpesaDaraja; use Ssiva\MpesaDaraja\Mpesa; class CheckoutController extends Controller { public function darajaExamples( $mpesaDaraja = new MpesaDaraja(); // authenticate $mpesaDaraja::authenticate(); // STK Push $stkParams = [ 'Amount' => '2', 'PartyA' => '2547XXXXXXXX', 'PhoneNumber' => '2547XXXXXXXX', 'AccountReference' => '13', 'TransactionDesc' => 'Shopping', ]; $mpesaDaraja::stkPush($stkParams); // stk push status query $stkQueryParams = [ 'CheckoutRequestID' => "ws_CO_290320231617432767XXXXXXXX", ]; $mpesaDaraja::stkPushQuery($stkQueryParams); // transaction status query $statusParams = [ 'Remarks' => "Status test for RCC3LAPCEL", "TransactionID" => "RCC3LAPCEL", "Occasion" => "Optional Value for Occasion" ]; $mpesaDaraja::transactionStatus($statusParams); } }