Commit 02981dfa81a22793d1061cddeec4af33ebb31ce2

Authored by 赵康
Exists in master

Merge branch 'master' of http://git.letsgame.mobi/document/gumptech-document

Showing 2 changed files Inline Diff

doc/ServerDocument.md
1 ## GumpTech服务端接口文档 1 ## GumpTech服务端接口文档
2 2
3 1. 用户登录验证接口 3 1. 用户登录验证接口
4 ---------------------------- 4 ----------------------------
5 接口地址:http://sdk.letsgame.mobi/v1/user/verify_user.do 5 接口地址:http://api.gumptech.com/v1/user/verify_user.do
6 参数: 6 参数:
7 appId: 游戏接入分配appid 7 appId: 游戏接入分配appid
8 appkey: 注意appkey都为小写字母 8 appkey: 注意appkey都为小写字母
9 userId: GumpTech平台的用户id 9 userId: GumpTech平台的用户id
10 sessionKey: 登录后回调给给第三方 10 sessionKey: 登录后回调给给第三方
11 11
12 返回值: 12 返回值:
13 { 13 {
14 "code":100000 14 "code":100000
15 "msg":"xxxxxx" 15 "msg":"xxxxxx"
16 "data":{ 16 "data":{
17 "userId":23444 17 "userId":23444
18 "sessionKey":"xxx" 18 "sessionKey":"xxx"
19 } 19 }
20 } 20 }
21 21
22 22
23 23
24 2. 充值通知第三方服务端接口 24 2. 充值通知第三方服务端接口
25 ----------------------------- 25 -----------------------------
26 参数列表: 26 参数列表:
27 orderId: 订单id 27 orderId: 订单id
28 appId: 游戏接入分配appid 28 appId: 游戏接入分配appid
29 userId: 平台用户id 29 userId: 平台用户id
30 product: 购买商品名字 30 product: 购买商品名字
31 extraInfo:游戏接入方传入自定义参数,200字符 31 extraInfo:游戏接入方传入自定义参数,200字符
32 currency:币种 exp:USD RMB 32 currency:币种 exp:USD RMB
33 amount:支付过程中选中额度,第三方可以忽略此参数 33 amount:支付过程中选中额度,第三方可以忽略此参数
34 realAmount: 最终用户支付的额度 34 realAmount: 最终用户支付的额度
35 serverId: 第三方区服id 35 serverId: 第三方区服id
36 roleId: 第三方平台角色id 36 roleId: 第三方平台角色id
37 sig: 签名 37 sig: 签名
38 38
39 第三方server端返回值: 39 第三方server端返回值:
40 如果第三方验证成功,则返回字符串:success即可。 40 如果第三方验证成功,则返回字符串:success即可。
41 41
42 42
43 3.签名算法 43 3.签名算法
44 -------------------------------- 44 --------------------------------
45 45
46 注意:签名参数不能写成固定数量,一定要获取全部参数并且除sig参数外,然后按照字母升序排列。 46 注意:签名参数不能写成固定数量,一定要获取全部参数并且除sig参数外,然后按照字母升序排列。
47 ```java 47 ```java
48 48
49 /** 49 /**
50 * 签名算法 50 * 签名算法
51 * @param request 51 * @param request
52 * @return 52 * @return
53 */ 53 */
54 public String sig(HttpServletRequest request, String key){ 54 public String sig(HttpServletRequest request, String key){
55 55
56 Enumeration names = request.getParameterNames(); 56 Enumeration names = request.getParameterNames();
57 SortedSet<String> allParams = Sets.newTreeSet(); 57 SortedSet<String> allParams = Sets.newTreeSet();
58 58
59 while (names.hasMoreElements()) { 59 while (names.hasMoreElements()) {
60 String name = (String) names.nextElement(); 60 String name = (String) names.nextElement();
61 if (name.equals("sig")) { 61 if (name.equals("sig")) {
62 continue; 62 continue;
63 } 63 }
64 64
65 try { 65 try {
66 allParams.add(name + "=" + UriUtils.decode(request.getParameter(name), "utf-8")); 66 allParams.add(name + "=" + UriUtils.decode(request.getParameter(name), "utf-8"));
67 } catch (UnsupportedEncodingException e) { 67 } catch (UnsupportedEncodingException e) {
68 e.printStackTrace(); 68 e.printStackTrace();
69 } 69 }
70 } 70 }
71 71
72 String params = Joiner.on("&").join(allParams)+key; 72 String params = Joiner.on("&").join(allParams)+key;
73 String computedToken = DigestUtils.md5DigestAsHex(params.getBytes()); 73 String computedToken = DigestUtils.md5DigestAsHex(params.getBytes());
74 return computedToken; 74 return computedToken;
75 } 75 }
76 ``` 76 ```
77 注意:参数是按字母升序排列 77 注意:参数是按字母升序排列
78 78
79 79
80 4. 错误码对照表 80 4. 错误码对照表
81 ----------------------------- 81 -----------------------------
82 82
83 100000 : 成功 83 100000 : 成功
84 800000 : 应用不存在 84 800000 : 应用不存在
85 100010 : 用户密码错误 85 100010 : 用户密码错误
86 100011 : 用户已经存在 86 100011 : 用户已经存在
87 100012 : 用户不存在 87 100012 : 用户不存在
88 100013 : 用户名不能为空 88 100013 : 用户名不能为空
89 900000 : 订单不存在 89 900000 : 订单不存在
90 900001 : 支付失败 90 900001 : 支付失败
91 900003 : sig签名错误 91 900003 : sig签名错误
1 GumpTech页面支付 1 GumpTech页面支付
2 ----------------------- 2 -----------------------
3 3
4 接入使用方式: 4 接入使用方式:
5 ----------------------- 5 -----------------------
6 请使用浏览器方式嵌套GumpTech支付地址: 6 请使用浏览器方式嵌套GumpTech支付地址:
7 7
8 http://sdk.letsgame.mobi/v1/pay/mol_web.do 8 http://api.gumptech.com/v1/pay/mol_web.do
9 需要传入参数: 9 需要传入参数:
10 1. appId: 必选参数 接入前GumpTeck分配的应用id 10 1. appId: 必选参数 接入前GumpTeck分配的应用id
11 2. userId: 必选参数 GumpTech平台的用户id,如果传入,页面上角色名字字段会自动填写 11 2. userId: 必选参数 GumpTech平台的用户id,如果传入,页面上角色名字字段会自动填写
12 3. serverId: 可选参数 注意次参数为字符串,必须保证跟第7条获取区服列表中serverId值保证一致 12 3. serverId: 可选参数 注意次参数为字符串,必须保证跟第7条获取区服列表中serverId值保证一致
13 4. extraInfo: 可选参数 第三方自定义字段,字符200以内,原样回调给第三方。 13 4. extraInfo: 可选参数 第三方自定义字段,字符200以内,原样回调给第三方。
14 5. product: 可选参数 第三方传入,购买物品 14 5. product: 可选参数 第三方传入,购买物品
15 15
16 以下参数需要在服务端配置,需要联系接口人配置: 16 以下参数需要在服务端配置,需要联系接口人配置:
17 6. queryRoleUrl: 必选参数 用户向第三方查询角色名字接口 参考【第三方查询角色接口】 17 6. queryRoleUrl: 必选参数 用户向第三方查询角色名字接口 参考【第三方查询角色接口】
18 7. querySeversUrl: 必选参数 用户获取第三方游戏列表数据,格式参考【第三方查询区服列表接口】 18 7. querySeversUrl: 必选参数 用户获取第三方游戏列表数据,格式参考【第三方查询区服列表接口】
19 19
20 第三方查询角色接口 20 第三方查询角色接口
21 ------------------------- 21 -------------------------
22 在接入中传入queryRoleUrl参数,即第三方查询角色接口 22 在接入中传入queryRoleUrl参数,即第三方查询角色接口
23 GumpTech调用过程如下: 23 GumpTech调用过程如下:
24 请求接口:传入queryRoleUrl的地址 24 请求接口:传入queryRoleUrl的地址
25 请求方式:post 25 请求方式:post
26 参数: 26 参数:
27 serverId servers参数json中的serverId的值 27 serverId servers参数json中的serverId的值
28 roleName 用户填入的角色名字 28 roleName 用户填入的角色名字
29 userId GumpTech用户id 29 userId GumpTech用户id
30 注意:游戏方可以选取userId 和 roleName中的一个作为查询条件 30 注意:游戏方可以选取userId 和 roleName中的一个作为查询条件
31 返回值: 31 返回值:
32 { 32 {
33 "userId":5104 33 "userId":5104
34 "roleId":5104 34 "roleId":5104
35 "roleName":"卡卡" 35 "roleName":"卡卡"
36 } 36 }
37 userId为GumpTech平台的用户id 37 userId为GumpTech平台的用户id
38 roleId为第三方平台的角色id 38 roleId为第三方平台的角色id
39 roleName为第三方平台的角色名字 39 roleName为第三方平台的角色名字
40 40
41 41
42 第三方查询区服列表接口 42 第三方查询区服列表接口
43 ------------------------- 43 -------------------------
44 44
45 在接入中传入querySeversUrl参数,即获取第三方查询角色接口 45 在接入中传入querySeversUrl参数,即获取第三方查询角色接口
46 调用过程如下: 46 调用过程如下:
47 47
48 请求方式:get方式 48 请求方式:get方式
49 参数:无 49 参数:无
50 返回值: 50 返回值:
51 51
52 字符串格式json串,如下: 52 字符串格式json串,如下:
53 [ 53 [
54 {"serverId":"s2", "serverName":"测试1"}, 54 {"serverId":"s2", "serverName":"测试1"},
55 {"serverId":"s2", "serverName":"测试1"} 55 {"serverId":"s2", "serverName":"测试1"}
56 ... 56 ...
57 ] 57 ]
58 58
59 59
60 充值成功通知第三方服务端接口 60 充值成功通知第三方服务端接口
61 ----------------------------- 61 -----------------------------
62 62
63 63
64 请参考[GumpTeck服务端文档](http://git.letsgame.mobi/document/gumptech-document/blob/master/ServerDocument.md) 64 请参考[GumpTeck服务端文档](http://git.letsgame.mobi/document/gumptech-document/blob/master/ServerDocument.md)