Blame view
doc/ServerDocument.md
2.6 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字符 |
6e05960ca
![]() |
32 33 34 |
currency:币种 exp:USD RMB amount:支付过程中选中额度,第三方可以忽略此参数 realAmount: 最终用户支付的额度 |
6ff13f12a
![]() |
35 36 |
serverId: 第三方区服id roleId: 第三方平台角色id |
6e05960ca
![]() |
37 38 |
sig: 签名 |
6e05960ca
![]() |
39 |
第三方server端返回值: |
742f24514
![]() |
40 41 42 43 44 |
如果第三方验证成功,则返回字符串:success即可。 3.签名算法 -------------------------------- |
038f1b043
![]() |
45 |
注意:签名参数不能写成固定数量,一定要获取全部参数并且除sig参数外,然后按照字母升序排列。 |
0603c6213
![]() |
46 |
```java |
742f24514
![]() |
47 48 49 |
/** * 签名算法 |
2276ab36f
![]() |
50 |
* @param request |
742f24514
![]() |
51 52 |
* @return */ |
e30309961
![]() |
53 |
public String sig(HttpServletRequest request, String key){ |
2276ab36f
![]() |
54 55 |
Enumeration names = request.getParameterNames(); |
742f24514
![]() |
56 |
SortedSet<String> allParams = Sets.newTreeSet(); |
2276ab36f
![]() |
57 58 59 60 61 62 63 64 65 66 67 68 |
while (names.hasMoreElements()) { String name = (String) names.nextElement(); if (name.equals("sig")) { continue; } try { allParams.add(name + "=" + UriUtils.decode(request.getParameter(name), "utf-8")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } |
742f24514
![]() |
69 |
} |
e30309961
![]() |
70 71 72 |
String params = Joiner.on("&").join(allParams)+key; String computedToken = DigestUtils.md5DigestAsHex(params.getBytes()); |
742f24514
![]() |
73 74 |
return computedToken; } |
583254815
![]() |
75 |
``` |
1667d2d9c
![]() |
76 |
|
1667d2d9c
![]() |
77 |
|
a1970344c
![]() |
78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
注意:参数是按字母升序排列 4. 错误码对照表 ----------------------------- 100000 : 成功 800000 : 应用不存在 100010 : 用户密码错误 100011 : 用户已经存在 100012 : 用户不存在 100013 : 用户名不能为空 900000 : 订单不存在 900001 : 支付失败 |
038f1b043
![]() |
92 |
900003 : sig签名错误 |