bascil / ussd-mobile-money-php
这是一个基于USSD的移动货币解决方案的PHP包
Requires
- php: >=5.6.0
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
或者
- 下载已压缩的源代码
配置
-
将ussd_sample.sql文件导入MySQL数据库。
-
使用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");
}
?>
-
转到https://account.africastalking.com/。创建一个账户,然后单击“转到沙盒应用”按钮。
-
在您的沙盒账户中,转到USSD > 创建通道,选择一个共享服务代码,例如
*384*
,以及一个通道,例如1100,即*384*1100#
(请确保选择一个尚未被占用的唯一通道)。 -
配置您的回调URL(指向您的应用程序的URL),例如http://www.example.com/folder_name/ussd.php,然后单击“创建通道”。这假设您在一个域名是example.com的真实服务器上工作。用您自己的域名替换域名。
-
如果从本地主机工作,可以设置一个Ngrok服务器或Localtunnel,以将本地主机暴露给互联网。使用提供的临时URL作为回调,例如http://6a71f5ec.ngrok.io/folder_name/ussd.php。这仅在计算机开机且连接到互联网时有效。如果使用Ngrok免费套餐,此地址可能每8小时更改一次。您可以选择每月5美元的付费版本。
-
转到“设置 > API密钥”,输入您的密码以生成API密钥。查找名为
config.php
的文件,并将用户名设置为sandbox
,将API密钥设置为已生成的密钥。 -
配置支付产品(如果与移动货币一起使用)。支付产品允许您与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);
- 配置一个短信简码(如果使用短信)。这允许发送短信通知(在此情况下为沙盒模式)。转到“短信 > 简码 > 创建简码”以创建用于测试的短信简码。
用法
$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");
- 现在使用从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许可许可。
快乐的编码!!!!!!!