第三方充值平台接口开发文档.docx
- 文档编号:3584468
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:30
- 大小:30.50KB
第三方充值平台接口开发文档.docx
《第三方充值平台接口开发文档.docx》由会员分享,可在线阅读,更多相关《第三方充值平台接口开发文档.docx(30页珍藏版)》请在冰豆网上搜索。
第三方充值平台接口开发文档
API接口说明书
版本
更新内容
时间
3.0
签名生成方式
2013.11.12
2.0
参数注释
2013.07.24
1.1
验证服务器ip
2013.02.08
1.0
创建文档
2012.12.21
1、API介绍
1.1通讯协议
1.联系速度达技术(QQ:
1551369420)获取密钥KEY,及接口地址。
2.接口采用GET/POST方式提交请求
3.返回XML或JSON,传入参数增加format=xml或者format=json
1.2充值流程
一次请求
保存在本地
1
请求时间戳
系统启动,获取服务器时间戳[api/sys_now]
2
请求产品表、渠道表、区服表
获取充值产品表[api/product]、渠道表[api/product_channel]、区服表[api/product_area](该步骤执行一次存储在本地即可)
多次请求
3
选择产品
根据所要充值的业务需要先调用本地数据(游戏充值需调用区服表、手机充值需调用渠道表并请求归属地[api/sys_phone]),然后选择产品。
4
提交订单
将充值订单提交到充值接口[api/recharge]。
其中productid就是api/product的i;area的值就是手机号码归属地对应的值(见附录)如果是游戏则是api/product_area的i。
5
回调订单状态
回调订单状态[api/status]。
1.3权限版本(power)
13代表普及版
15代表专业版
16代表豪华版
17代表旗舰版
1.4版本号(ver)
固定值等于3,每个api接口必须要传的参数。
1.5时间戳(timestamp)
时间戳是自1970年1月1日(00:
00:
00GMT)至当前时间的总秒数。
时间戳的有效期为10分钟。
如果您的本机时间为准确的“北京时间”,可使用本机时间戳,否则可通过接口获取当前服务器的时间戳,以它为基本,开始自动计时。
时间戳是很多接口必须要传的一个参数。
时间戳的目的是为了使一个接口产生的URL在10分钟后失效,提高安全性。
1.6订单号(orderid)
为防止重复提交,很多接口都必须传入订单号。
建议按如下方法生成:
取系统当前时间按年月日小时分钟秒毫秒,再与用户编号用字母“v”相连。
生成如:
20131112170125156v123456
1.7数字签名(sign和signkey)
sign以时间戳作为秘钥
signkey以KEY值和时间戳作为秘钥
如下请求为例,来说明signkey生成步骤
http:
//***
将除“signkey”外的所有参数按key进行字典升序排列,将接口名和排序后的参数(key=value)用&拼接起来。
例如:
/api/recharge?
count=1&orderid=1384243215449v9631&productid=1139×tamp=1384243215&to=13800138000&username=****************&ver=3&
将上面生成的字符串连上用户设置的秘钥进行URLencode转码,把转码后的字符串进行MD5加密,即是signkey。
signkey=md5(URLencode(/api/recharge?
count=1&orderid=1384243215449v9631&productid=1139×tamp=1384243215&to=13800138000&username=****************&ver=3&用户秘钥))
sign则是以/api/recharge?
count=1&orderid=1384243215449v9631&productid=1139×tamp=1384243215&to=13800138000&username=****************&ver=3进行进行URLencode转码,把转码后的字符串进行MD5加密。
sign=md5(URLencode(/api/recharge?
count=1&orderid=1384243215449v9631&productid=1139×tamp=1384243215&to=13800138000&username=****************&ver=3))
2、API调用说明
2.1在线充值http:
//***
参数名称
数据类型
说明
是否必填
username
Varchar(50)
速度达用户名
Y
orderid
Varchar(50)
订单号
Y
productid
long
产品ID
Y
to
Varchar(50)
充值对象
Y
area
NVARCHAR2(25)
地区ID/区服ID(手机充值详见附录1)
N
shop
int
N
count
int
购买数量(件数)
Y
ip
Varchar2(25)
用户的真实IP
N
timestamp
long
时间戳
Y
ver
int
接口版本号
Y
signkey
Varchar2(32)
签名串(不参与加密)
Y
返回参数说明:
参数名称
数据类型
说明
balance
float
用户余额
-1表示余额未变化
status
int
状态
详见“通用状态码”
tips
String
状态提示信息
请求示例
http:
//***
响应示例
<
<
<
<
0(状态已更新!
)提示
使用下表商品ID充值话费,area值可传0(无需判断号码归属地)。
中国移动(全国)
商品ID
1元
18
2元
369
3元
370
4元
371
5元
24
6元
372
7元
373
8元
374
9元
375
中国联通(全国)
商品ID
1元
1089
2元
1090
3元
1091
4元
1092
5元
1093
6元
1094
7元
1095
8元
1096
9元
1097
中国电信(全国)
商品ID
10元
1582
20元
1583
30元
1130
50元
1131
100元
1132
全国固话(全国)
商品ID
10元
1699
20元
1698
30元
1700
50元
1701
100元
1702
2.2订单回调(建议下单成功1分钟后调用)http:
//***
参数名称
数据类型
说明
是否必填
username
Varchar(50)
速度达用户名
Y
orderid
Varchar(50)
订单号
Y
timestamp
long
时间戳
Y
ver
int
接口版本号
Y
sign
Varchar2(32)
签名串(不参与加密)
Y
返回参数说明:
参数名称
数据类型
说明
balance
float
用户余额
-1表示余额未变化
status
int
状态
详见“通用状态码”
tips
String
状态提示信息
请求示例
http:
//***
响应示例
<
<
<
<
0(状态已更新!
)提示
2.3商品进价表http:
//***
参数名称
数据类型
说明
是否必填
username
NVARCHAR2(25)
要获取的用户名
Y
power
int
对应自己的版本
豪华版:
16
旗舰版:
17
Y
timestamp
long
时间戳
Y
gzip
Varchar2(10)
gzip=true时返回加密后的GZIP串
N
ver
int
接口版本号
Y
sign
Varchar2(32)
签名串(不参与加密)
Y
返回参数说明:
参数名称
数据类型
说明
ver
int
商品进价表版本号
i
int
产品ID充值时传给服务器
b
String
产品名称
f
float
面值
u
String
单位
t
int
小分类
移动是100,联通是101,电信是102,固话是103
QQ业务是200,Q币Q点是201
游戏是大等于300
c
int
渠道ID
v
int
省份ID
详见“全国省份直辖市ID对照表”
q
int
商品大类
话费业务是1,QQ业务是2,游戏业务是3
s
int
库存
大于0均表示库存充足
o
int
排序
m
String
限购数量
如:
1-1
目前话费业务不支持倍充
p16
float
豪华版进价
旗舰版是p17
status
int
状态
详见“通用状态码”
tips
String
状态提示信息
请求示例
http:
//***
响应示例
<
<
<
<
<
<1349产品ID,充值时传给服务端
<浙江电信(手机)产品名称
<
<元单位
<
<
<
<1
1表示手机,2表示QQ业务,3是游戏。
<99库存
<
<
<
<
<
<
<
<
<
*……
(数据返回量大,为避免本文档冗余,有删节)
<340
<湖北联通(手机)
<
<元
<
<
<
<1
<99
<
<
<
<
<
<
<
<
<
2.4渠道商信息http:
//***
参数名称
数据类型
说明
是否必填
username
NVARCHAR2(25)
要获取的用户名
Y
timestamp
long
时间戳
Y
gzip
Varchar2(10)
gzip=true时返回加密后的GZIP串
N
ver
int
接口版本号
Y
sign
Varchar2(32)
签名串(不参与加密)
Y
返回参数说明:
参数名称
数据类型
说明
i
int
渠道商ID
对应产品进价表的c
c
String
渠道名称
r
String
备注
status
int
状态
详见“通用状态码”
tips
String
状态提示信息
请求示例
http:
//***
响应示例
<
<
<1渠道ID。
对应product中的C
<
<
<……
(数据返回量大,为避免本文档冗余,有删节)
<
<203
<
<
<
提示
<
2.5游戏区服表http:
//***
参数名称
数据类型
说明
是否必填
gzip
Varchar2(10)
gzip=true时返回加密后的GZIP串
N
Username
Varchar2(50)
用户名
Y
timestamp
long
时间戳
Y
ver
int
接口版本号
Y
sign
Varchar2(32)
签名串(不参与加密)
Y
返回参数说明:
参数名称
数据类型
说明
i
int
产品ID
对应产品进价表的i
t
String
游戏区服名称
v
String
游戏区服值
充值接口的area
status
int
状态
详见“通用状态码”
tips
String
状态提示信息
请求示例
http:
//***
响应示例
渠
-<
-<
<1209产品ID。
对应product中的i
<
<
……
(数据返回量大,为避免本文档冗余,有删节)
1531
-<
<1531
<
<
-<
<
提示
<
2.6用户余额http:
//***
参数名称
数据类型
说明
是否必填
username
NVARCHAR2(50)
要获取的用户名
N
timestamp
long
时间戳
Y
ver
int
接口版本号
Y
signkey
Varchar2(32)
签名串(不参与加密)
Y
返回参数说明:
参数名称
数据类型
说明
blance
float
用户余额
balance_lock
float
未确认余额
power_text
String
用户类型
status
int
状态
详见“通用状态码”
tips
String
状态提示信息
请求示例
http:
//***
响应示例
<
<
<
<
<
提示
<
2.7手机号码归属地http:
//***
参数名称
数据类型
说明
是否必填
username
NVARCHAR2(50)
要获取的用户名
N
phone
long
要获取的手机号
timestamp
long
时间戳
Y
ver
int
接口版本号
Y
sign
Varchar2(32)
签名串(不参与加密)
Y
返回参数说明:
参数名称
数据类型
说明
type
String
号码运营商
city
String
归属地
areacode
String
区号
zipcode
String
邮编
status
int
状态
详见“通用状态码”
tips
String
状态提示信息
请求示例
http:
//***
响应示例
<
<
<
<
<
提示
<
2.8系统时间戳http:
//***
参数名称
数据类型
说明
是否必填
请求示例
http:
//***
响应示例
<
<系统时间戳
<
提示
<
2.9销售软件http:
//***
参数名称
数据类型
说明
是否必填
username
Varchar(50)
速度达用户名
Y
orderid
Varchar(50)
订单号
Y
open
Varchar(50)
要开通用户名
Y
power
int
权限版本号
Y
timestamp
long
时间戳
Y
ver
int
接口版本号
Y
signkey
Varchar2(32)
签名串(不参与加密)
Y
返回参数说明:
参数名称
数据类型
说明
income
float
此次扣费金额
balance
float
用户余额
status
int
状态
详见“通用状态码”
tips
String
状态提示信息
请求示例
http:
//***
响应示例
<
<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 方充值 平台 接口 开发 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)