阿里云话费api调用实例教程

这篇教程详细介绍了如何使用阿里云的话费API进行充值、余额查询、状态查询等操作。包括签名生成方法和PHP代码示例,帮助开发者顺利进行接口调用。
摘要由CSDN通过智能技术生成

接口地址

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&timestamp=%s&username=%s”,

$apikey,

$mobile,

$orderid,

$package,

date("YmdHis"),

$username));

GET方式地址如:

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&timestamp=%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 {

//提交错误处理

//.....

话费余额查询api源码是一个用于查询用户手机话费余额的接口程序。源码通常由一系列的代码组成,主要包括接收用户查询请求、向运营商服务器发送请求、接收服务器返回的查询结果以及将查询结果返回给用户等功能。 首先,源码需要包含用户发送查询请求的接口,通常是通过HTTP请求来实现,可以使用GET或POST方法。接口程序需要能够正确解析用户发送的请求参数,包括手机号码、运营商类型等信息。 其次,源码需要包含向运营商服务器发送查询请求的功能。这部分代码通常使用HTTP请求库来实现,根据运营商提供的查询接口文档,构造查询请求,发送给运营商服务器,并处理返回的结果。 接着,源码需要对从运营商服务器返回的查询结果进行处理,通常是解析JSON或XML格式的数据,提取用户的话费余额信息。 最后,源码需要将查询结果返回给用户,通常是以JSON或XML格式封装用户的话费余额信息,通过HTTP响应返回给用户。 整个源码需要考虑到用户输入的合法性和安全性,对用户请求进行验证和过滤,防止恶意请求。同时,还需要考虑到运营商服务器的稳定性和响应时间,尽量优化查询请求,提高用户体验。 总之,话费余额查询api源码包括了用户请求接口、与运营商服务器通信、处理返回数据以及向用户返回结果等功能,是一个涵盖多方面技术的接口程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值