ssiva / mpesa-lumen-sdk
本软件包提供了在Lumen应用程序中无缝集成M-PESA Daraja API的功能
v1.1.3
2023-04-13 19:00 UTC
Requires
Requires (Dev)
- fakerphp/faker: ^1.9.1
- mockery/mockery: ^1.4.4
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2024-09-13 22:05:16 UTC
README
本软件包提供了在Lumen应用程序中无缝集成M-PESA Daraja API的功能,使开发者可以轻松处理
- B2C(企业对客户)
- C2B(客户对企业)
- B2B(企业对企业)
- 账户余额查询
- 交易撤销查询
- 交易状态查询。
它通过提供直观的界面来制作API请求、处理响应和管理错误,简化了实现过程。使用本软件包,开发者可以无缝地将M-PESA Daraja API集成到他们的Lumen项目中,节省时间和精力。
安装和设置
-
运行以下命令
composer require ssiva/mpesa-lumen-sdk
-
打开您的bootstrap/app.php并做出以下更改
-
取消以下行的注释并进行编辑
// $app->withFacades();
到
$app->withFacades(true, [ \Ssiva\MpesaLumenSdk\MpesaFacade::class => 'MpesaDaraja', ]);
-
注册Mpesa ServiceProvider
// Mpesa ServiceProvider $app->register(\Ssiva\MpesaLumenSdk\MpesaServiceProvider::class);
-
配置
根据需要设置配置值
-
账户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); } }