ssiva/mpesa-laravel-sdk

本包为Laravel应用程序提供M-PESA Daraja API的无缝集成。

v1.1.5 2023-04-13 16:22 UTC

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

配置

根据需要设置配置值

  1. 账户API在线配置

         MPESA_SHORTCODE=
         MPESA_RESULT_URL=
         MPESA_TIMEOUT_URL=
         MPESA_INITIATOR_NAME=
         MPESA_SECURITY_CREDENTIAL=
         MPESA_SECURITY_CERT=
         MPESA_ACCOUNT_IDENTIFIER=
  2. LipaNaMpesa API在线配置

         MPESA_SHORTCODE=
         MPESA_CALLBACK_URL=
         MPESA_PASSKEY=
         MPESA_ONLINE_TRANSACTION_TYPE=
  3. 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=
  4. 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=
  5. 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);

   }
}