平台上个星期上线了下载APP送随机话费的活动,下载后完成注册即可抽取1~10元话费红包。经过筛选,最终选择了互亿无线,第一有详细的计费明细,第二失败了确实有退款,第三有非常完整的接口文档和技术服务客服,分享一下他们家的文档,后续小伙伴搞话费充值功能时也可以参考下。
话费接口服务商:互亿无线()
话费接口地址:/phone
1.单号码充值话费
请求(POST 或者GET)
返回值(JSON格式)
2.帐号余额查询
请求(POST 或者GET)
返回值(JSON格式)
3.充值状态查询
请求(POST 或者GET)
返回值(JSON格式)
注意:状态获取后服务器则会删除状态
4.充值状态推送
请求(POST方式推送到配置的网址)
注意:充值状态查询和充值状态推送两种方式只能选择其中一种
5. 获取话费包档位
请求(POST 或者GET)
返回值(JSON格式)
6.状态码
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方式地址如:
/phone?action=recharge&username=testname&mobile=13800000000&orderid=xxxxxxxxx&package=10×tamp=1457954906&sign=e08ecdcedac8f9e07b1727e1005b8d32
8.PHP充值代码DEMO
$basicUrl = "/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 {
//提交错误处理
//.....
}