johnes-ke/mpesa-php-api

Safaricom Daraja M-pesa API for Laravel 框架

v2.0.4 2023-12-19 12:41 UTC

README

此软件包为您提供了向 Safaricom Mpesa API 发起请求的简单工具,以便您能专注于您出色的应用程序开发。

安装

通过 Composer 安装

composer require johnes-ke/mpesa-php-api

发布配置文件

php artisan vendor:publish --tag=mpesa-php-api-config

发布数据库迁移文件

php artisan vendor:publish --tag=mpesa-php-api-migrations

如果您想上线/准备生产环境

.env.example 中的变量复制到 .env 环境文件中。对于 MPESA_ENVIRONMENT,在生产环境中使用 live 作为值。

用法

如果您尚未创建 Safaricom Daraja Mpesa API 应用程序,您可以在 Safaricom 开发者 上创建一个。

示例代码尝试

<?php

    use JohnesKe\MpesaPhpApi\MpesaPhpApi;

    $mpesa = new MpesaPhpApi(
            config('mpesa-php-api.mpesa_environment'),
            config('mpesa-php-api.consumer_key'),
            config('mpesa-php-api.consumer_secret')
        );

    $accessToken = $mpesa->getToken();

    $amount = '1';
    $phoneNumber = '2547********';
    $callBackUrl = 'https:://example.com';
    $accountReference = 'Test001';
    $transactionRef = 'test';

   // Stk Push Example
    $result = $mpesa->stkPushRequest(
        $accessToken,
        config('mpesa-php-api.c2b_stk_short_code'),
        config('mpesa-php-api.lipa_na_mpesa_pass_key'),
        $amount,
        $phoneNumber,
        $callBackUrl,
        $accountReference,
        $transactionRef,
    );

    $ResponseCode        = $result->ResponseCode;
    $ResponseDescription = $result->ResponseDescription;
    $merchantRequestID   = $result->MerchantRequestID;
    $checkoutRequestID   = $result->CheckoutRequestID;
    $CustomerMessage     = $result->CustomerMessage;
    
    //Response   
    echo "<br/>Response Code --> ".$ResponseCode;
    echo "<br/>Response Desc --> ".$ResponseDescription;
    echo "<br/>Merchant Request ID --> ".$merchantRequestID;
    echo "<br/>Checkout Request ID--> ".$checkoutRequestID;
    echo "<br/>Customer Message --> ".$CustomerMessage;

安全

如果您发现任何与安全相关的问题,请发送电子邮件至 jmecha09@gmail.com 而不是使用问题跟踪器。