互亿无线企业应用平台文档中心

话费接口文档下载:  点击下载

接口地址

http://f.ihuyi.com/phone

1.单号码充值话费

请求(POST 或者GET)
类型 参数名称 参数值描述
参数 action recharge
参数 username 用户名(签名)
参数 mobile 手机号码(签名)
参数 package 套餐数额(签名)
参数 orderid 订单ID(签名)
参数 timestamp 时间戳(签名)
格式如:yyyyMMddHHmmss
允许 10 分钟 统⼀以东 8 时间
参数 sign 签名
返回值(JSON格式)
命名 类型 描述
code int 代码(1为提交成功)
message string 消息描述
taskid string 任务id,提交失败则没有

2.帐号余额查询

请求(POST 或者GET)
类型 参数名称 参数值描述
参数 action getbalance
参数 username 用户名(签名)
参数 timestamp 时间戳(签名)
格式如:yyyyMMddHHmmss
允许 10 分钟 统⼀以东 8 时间
参数 sign 签名
返回值(JSON格式)
命名 类型 描述
code int 代码
message string 消息描述
balance float 剩余余额

3.充值状态查询

请求(POST 或者GET)
类型 参数名称 参数值描述
参数 action getreports
参数 username 用户名(签名)
参数 count ⼀次取数量(签名)
参数 timestamp 时间戳(签名)
格式如:yyyyMMddHHmmss
允许 10 分钟 统⼀以东 8 时间
参数 sign 签名
返回值(JSON格式)
命名 类型 描述
code int 代码(1为提交成功)
message string 消息描述
reports+ array 报告
taskid string 任务id
mobile string ⼿机号码
state int 状态(0失败, 1成功)
message string 消息

注意:状态获取后服务器则会删除状态

4.充值状态推送

请求(POST方式推送到配置的网址)
类型 参数名称 参数值描述
参数 taskid 充值任务ID
参数 mobile 手机号码(签名)
参数 state 状态(签名) 1:成功 2:失败
参数 message 消息(签名)
参数 sign 签名

注意:充值状态查询和充值状态推送两种⽅式只能选择其中⼀种

5. 获取话费包档位

请求(POST 或者GET)
类型 参数名称 参数值描述
参数 action getpackages
参数 username 用户名(签名)
参数 timestamp 时间戳(签名)
参数 sign 签名
返回值(JSON格式)
命名 类型 描述
code int 代码
message string 消息描述
packages+ float 套餐
type string 类型(cncm:中国移动 cncu:中国联通 cnct:中国电信)
name string 话费包
number int 数值(用于充值请求)
state int 状态(1启用,0未启用)
price int 单价

6.状态码

参数名称 参数值描述
0 未知错误
1 提交成功
1000 无此操作类型(action为空或不存在)
1001 用户名为空
1002 用户名错误
1003 手机号码为空
1004 手机号码为空
1005 套餐不能为空
1006 时间戳不能为空
1007 不存在的套餐
1008 签名不能为空
1009 签名错误
1010 签名过期
1011 账号被冻结
1012 余额不足
1013 访问ip与备案ip不相同
1014 订单ID不能为空
1015 订单ID已存在
   
2001 不支持的手机号码
2002 手机号码已加入黑名单
2003 不支持的地区
3001 扣费失败
4001 系统内部故障

7. 签名说明

需要把apikey(登录系统获取)放到要签名的键值对中,按照asc排序键值对参数名排序,拼接键值对字符串(参数名⼩写),再⽤32位md5加密

注意:用户名请使用小写

如:

sign=md5(aaaa=aaaa&bbbb=bbbb&cccc=cccc&dddd=dddd)

PHP充值签名代码如下:

$sign = md5(sprintf("apikey=%s&mobile=%s&orderid=%s&package=%s×tamp=%s&username=%s",
$apikey,
$mobile,
$orderid,
$package,
date("YmdHis"),
$username));

GET方式地址如:

http://f.ihuyi.com/phone?action=recharge&username=testname&mobile=13800000000&orderid=xxxxxxxxx&package=10×tamp=1457954906&sign=e08ecdcedac8f9e07b1727e1005b8d32

8.PHP充值代码DEMO

$basicUrl = "http://f.ihuyi.com/phone?action=recharge&%s";
$username = 'testname';
$apikey = 'testapikey';
$mobile = '18801850000';
$package = 1;
$orderId = 'TEST_'.date("YmdHis").mt_rand(100, 1000);

$dataGet = array();
$dataGet['package'] = $package;
$dataGet['username'] = $username;
$dataGet['timestamp'] = date("YmdHis");
$dataGet['mobile'] = $mobile;
$dataGet['orderid'] = $orderId;
$dataGet['sign'] = md5(sprintf("apikey=%s&mobile=%s&orderid=%s&package=%s×tamp=%s&username=%s",
$apikey,
$mobile,
$orderid,
$package,
date("YmdHis"),
$username));
$dataReturn = array();
foreach ($dataGet as $key => $row) {
   $dataReturn[] = sprintf("%s=%s", $key, $row);
}

$urlGet = sprintf($basicUrl, implode("&", $dataReturn));

$ch = \curl_init();
curl_setopt($ch, CURLOPT_URL, $urlGet); //定义表单提交地址
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30); //60秒
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_REFERER, 'http://' . $_SERVER['HTTP_HOST']);
curl_setopt($ch, CURLOPT_POST, 0);
$data = curl_exec($ch);
curl_close($ch);

$res = explode("\r\n\r\n", $data);
$dataRet = $res[1];

if ($dataRet['code'] == 1) {
   //提交成功
   $apiTaskid = $dataRet['taskid'];
} else {
   //提交错误处理
   //.....
}


其他奖品资源

  •  

    手机话费

    移动联通电信手机话费快速充值

    查看详情
  •  

    手机流量

    定制各类面额的手机流量充值方案,支持移动、联通、电信三网

    查看详情
  •  

    微信红包

    存入微信现金红包,可应用于微信不同支付场景

    查看详情

查看更多奖品资源