bascil/ussd-mobile-money-php

这是一个基于USSD的移动货币解决方案的PHP包

dev-master 2020-08-11 07:50 UTC

This package is auto-updated.

Last update: 2020-08-11 07:50:54 UTC


README

这是一个基于Africa's Talking API的USSD移动货币解决方案的PHP包。此应用程序是在沙盒(测试)模式下开发的。要上线,请联系Africa's Talking Ltd,网址为https://www.africastalking.com/contact

先决条件

为了测试,从Google Playstore下载Africa's Talking安卓应用,或使用https://simulator.africastalking.com:1517/上的网页界面。

安装

此项目支持Composer依赖管理工具,也可以不使用Composer使用。

  • 运行以下命令以克隆此存储库
git clone https://github.com/Bascil/ussd-mobile-money-php.git

或者

  • 下载已压缩的源代码

配置

  1. 将ussd_sample.sql文件导入MySQL数据库。

  2. 使用dbConnector.php文件配置数据库连接。

<?php 
     /* Configure Database */

     $conn = 'mysql:dbname=ussd_sample;host=127.0.0.1;'; //database name
     $user = 'root'; // your mysql user 
     $password = ''; // your mysql password

     //  Create a PDO instance that will allow you to access your database
     try {
        $db = new PDO($conn, $user, $password);
     }

    catch(PDOException $e) {
     //var_dump($e);
        echo("PDO error occurred");
    }

    catch(Exception $e) {
    //var_dump($e);
    echo("Error occurred");
    }
    
?>

  1. 转到https://account.africastalking.com/。创建一个账户,然后单击“转到沙盒应用”按钮。

  2. 在您的沙盒账户中,转到USSD > 创建通道,选择一个共享服务代码,例如*384*,以及一个通道,例如1100,即*384*1100#(请确保选择一个尚未被占用的唯一通道)。

  3. 配置您的回调URL(指向您的应用程序的URL),例如http://www.example.com/folder_name/ussd.php,然后单击“创建通道”。这假设您在一个域名是example.com的真实服务器上工作。用您自己的域名替换域名。

  4. 如果从本地主机工作,可以设置一个Ngrok服务器或Localtunnel,以将本地主机暴露给互联网。使用提供的临时URL作为回调,例如http://6a71f5ec.ngrok.io/folder_name/ussd.php。这仅在计算机开机且连接到互联网时有效。如果使用Ngrok免费套餐,此地址可能每8小时更改一次。您可以选择每月5美元的付费版本。

  5. 转到“设置 > API密钥”,输入您的密码以生成API密钥。查找名为config.php的文件,并将用户名设置为sandbox,将API密钥设置为已生成的密钥。

  6. 配置支付产品(如果与移动货币一起使用)。支付产品允许您与Africa's Talking支付API交互。转到“支付 > 产品”以创建用于测试的支付产品。

用法

   
    $gateway = new AfricasTalkingGateway($username,$apikey,"sandbox");
    $productName  = "SendFunds"; 
    $currencyCode = "KES";

    $recipient   = array(
        "phoneNumber" => $phoneNumber,
         "currencyCode" => "KES", 
        "amount"=> 500,
        "metadata"=>array("name"=> "Basil","reason" => "Funds Transfer")
        );

    $recipients  = array($recipient);

  1. 配置一个短信简码(如果使用短信)。这允许发送短信通知(在此情况下为沙盒模式)。转到“短信 > 简码 > 创建简码”以创建用于测试的短信简码。

用法

   
    $code = '20880';
    $recipients = $phoneNumber;
    $message    = "We have sent KES 500 to ".$userResponse." If this is a wrong number the transaction will fail.
    Your new balance is KES ".$newBal.". Thank you.";

    $gateway    = new AfricasTalkingGateway($username, $apikey,"sandbox");

  1. 现在使用从Google Playstore下载的https://simulator.africastalking.com:1517/Africa's Talking安卓应用或使用您配置的USSD代码(即*384*1100#)测试USSD应用程序。

支持的API

该代码配置为与Africa's Talking API一起工作,可能支持以下支付类型

1. C2B

    它是什么?

此端点允许开发者在客户向商家的Till号码或Paybill号码付款时接收实时通知。它假设支付是通过SIM卡工具包进行的,作为开发人员,您需要知道该笔支付何时到达商家的Till/Paybill号码,以便进行对账和会计。

2. B2C

    它是什么?

此端点允许商家从他们的Paybill账户向客户付款。一些用例包括但不限于支付工资、向客户支付促销等。

3. B2B

    它是什么?

此端点允许商家从企业账户之间转账。

http://docs.africastalking.com/payments了解更多支付选项。

灵感

此包是从Graham Ingokho(JaniKibichi)在以下项目上的工作受到启发的:https://github.com/JaniKibichi/microfinance-ussd-app

支持

需要使用此包的支持:-

电子邮件basilndonga@gmail.com或通过skype与我联系basilndonga。请随意拨打我的手机号码+254 728 986 084

如果您希望成为此项目的贡献者,请告诉我。如果您想请我喝饮料,请通过simplebasil@gmail.com使用paypal支付

如果您受到此项目的启发,请务必关注我的twitter @basilndonga和github。

如果您想雇用我作为您的项目的开发人员,请随时联系我

许可

此USSD包是开源软件,根据MIT许可许可。

快乐的编码!!!!!!!