Blame view
doc/ServerDocument.md
2.69 KB
|
2c1da78c7
|
1 |
## GumpTech服务端接口文档 |
|
6e05960ca
|
2 3 4 |
1. 用户登录验证接口 ---------------------------- |
|
67a90116f
|
5 |
接口地址:http://api.gumptech.com/v1/user/verify_user.do |
|
4c8c8124c
|
6 |
参数: |
|
b973c1441
|
7 8 9 |
appId: 游戏接入分配appid
appkey: 注意appkey都为小写字母
userId: GumpTech平台的用户id
|
|
00b23ba55
|
10 |
sessionKey: 登录后回调给给第三方 |
|
6e05960ca
|
11 |
|
|
14008ae12
|
12 |
返回值: |
|
6e05960ca
|
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
{
"code":100000
"msg":"xxxxxx"
"data":{
"userId":23444
"sessionKey":"xxx"
}
}
2. 充值通知第三方服务端接口
-----------------------------
参数列表:
orderId: 订单id
appId: 游戏接入分配appid
userId: 平台用户id
product: 购买商品名字
|
|
eb891e661
|
31 |
extraInfo:游戏接入方传入自定义参数,200字符 |
|
b0e2ea3b6
|
32 |
currency:币种 (可忽略) |
|
6e05960ca
|
33 |
amount:支付过程中选中额度,第三方可以忽略此参数 |
|
b0e2ea3b6
|
34 |
realAmount: 最终用户支付的额度 (美元) |
|
6ff13f12a
|
35 36 |
serverId: 第三方区服id
roleId: 第三方平台角色id
|
|
23dcff742
|
37 |
subPayGateId: 支付类型id |
|
6e05960ca
|
38 39 |
sig: 签名
|
|
6e05960ca
|
40 |
第三方server端返回值: |
|
742f24514
|
41 42 43 44 45 |
如果第三方验证成功,则返回字符串:success即可。
3.签名算法
--------------------------------
|
|
038f1b043
|
46 |
注意:签名参数不能写成固定数量,一定要获取全部参数并且除sig参数外,然后按照字母升序排列。 |
|
0603c6213
|
47 |
```java |
|
742f24514
|
48 49 50 |
/** * 签名算法 |
|
2276ab36f
|
51 |
* @param request |
|
742f24514
|
52 53 |
* @return */ |
|
e30309961
|
54 |
public String sig(HttpServletRequest request, String key){
|
|
2276ab36f
|
55 56 |
Enumeration names = request.getParameterNames(); |
|
742f24514
|
57 |
SortedSet<String> allParams = Sets.newTreeSet(); |
|
2276ab36f
|
58 59 60 61 62 63 64 65 |
while (names.hasMoreElements()) {
String name = (String) names.nextElement();
if (name.equals("sig")) {
continue;
}
try {
|
|
85b5d3295
|
66 |
allParams.add(name + "=" + UriUtils.encode(request.getParameter(name), "utf-8")); |
|
2276ab36f
|
67 68 69 |
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
|
|
742f24514
|
70 |
} |
|
e30309961
|
71 72 73 |
String params = Joiner.on("&").join(allParams)+key;
String computedToken = DigestUtils.md5DigestAsHex(params.getBytes());
|
|
742f24514
|
74 75 |
return computedToken; } |
|
583254815
|
76 |
``` |
|
1667d2d9c
|
77 |
|
|
1667d2d9c
|
78 |
|
|
caae5aa38
|
79 |
注意:参数是按字母升序排列 akey=value&bkey=value.... + secretkey |
|
a1970344c
|
80 81 82 83 84 85 86 87 88 89 90 91 92 |
4. 错误码对照表
-----------------------------
100000 : 成功
800000 : 应用不存在
100010 : 用户密码错误
100011 : 用户已经存在
100012 : 用户不存在
100013 : 用户名不能为空
900000 : 订单不存在
900001 : 支付失败
|
|
038f1b043
|
93 |
900003 : sig签名错误 |