Commit 2fd089199acc0757c2f1b17b6037d4b9d1289f5e

Authored by 李康
1 parent 4ce8241431
Exists in master

add log

Showing 1 changed file with 6 additions and 6 deletions Inline Diff

doc/server_document.md
1 1. 充值通知第三方服务端接口(需提供回调地址) 1 1. 充值通知第三方服务端接口(需提供回调地址)
2 ----------------------------- 2 -----------------------------
3 参数列表: 3 参数列表:
4 orderId: parter订单号 4 orderId: parter订单号
5 tradId: 平台订单号 5 tradId: 平台订单号
6 appId: 游戏接入分配appid 6 appId: 游戏接入分配appid
7 userId: 平台用户id 7 userId: 平台用户id
8 product: 购买商品名字(50字符) 8 product: 购买商品名字(50字符)
9 currency: 币种 (目前仅有CNY) 9 currency: 币种 (目前仅有CNY)
10 amount: 充值金额(分) 10 amount: 充值金额(分)
11 channel:支付渠道(对应详情见4) 11 channel:支付渠道(对应详情见4)
12 sig: 签名(算法详见3) 12 sig: 签名(算法详见3)
13 13
14 第三方server端返回值: 14 第三方server端返回值:
15 如果第三方验证成功,则返回字符串"success"即可,否则会通知10次后停止.如重复通知,注意校验平台订单号,如重复忽略. 15 如果第三方验证成功,则返回字符串"success"即可,否则会通知10次后停止.如重复通知,注意校验平台订单号,如重复忽略.
16 16
17 17
18 2. 登录验证(可选) 18 2. 登录验证(可选)
19 ----------------------------------- 19 -----------------------------------
20 url: http://inner-sdk.letsgame.mobi/v1/sdk/login_verify.do 20 url: http://inner-sdk.letsgame.mobi/v1/sdk/login_verify.do
21 参数: 21 参数:
22 userId:uid 22 userId:uid
23 appKey:第三方渠道的key 23 appKey:第三方渠道的key
24 sessionKey:验证key 24 sessionKey:验证key
25 25
26 返回值: 26 返回值:
27 { 27 {
28 "code":100000(100000:成功,100012:用户不存在,-1:失败), 28 "code":100000(100000:成功,100012:用户不存在,-1:失败),
29 "msg":"xxxxxx", 29 "msg":"xxxxxx",
30 "userId":1234 30 "userId":1234
31 } 31 }
32 32
33 3.签名算法 33 3.签名算法
34 -------------------------------- 34 --------------------------------
35 35
36 注意:签名参数不能写成固定数量,一定要获取全部参数并且除sig参数外,然后按照字母升序排列。 36 注意:签名参数不能写成固定数量,一定要获取全部参数并且除sig参数外,然后按照字母升序排列。
37 ```java 37 ```java
38 38
39 /** 39 /**
40 * 签名算法 40 * 签名算法
41 * @param request 41 * @param request
42 * @return 42 * @return
43 */ 43 */
44 public String sig(HttpServletRequest request, String key){ 44 public String sig(HttpServletRequest request, String key){
45 45
46 Enumeration names = request.getParameterNames(); 46 Enumeration names = request.getParameterNames();
47 SortedSet<String> allParams = Sets.newTreeSet(); 47 SortedSet<String> allParams = Sets.newTreeSet();
48 48
49 while (names.hasMoreElements()) { 49 while (names.hasMoreElements()) {
50 String name = (String) names.nextElement(); 50 String name = (String) names.nextElement();
51 if (name.equals("sig")) { 51 if (name.equals("sig")) {
52 continue; 52 continue;
53 } 53 }
54 54
55 try { 55 try {
56 allParams.add(name + "=" + URLEncoder.encode(request.getParameter(name), "utf-8")); 56 allParams.add(name + "=" + URLEncoder.encode(request.getParameter(name), "utf-8"));
57 } catch (UnsupportedEncodingException e) { 57 } catch (UnsupportedEncodingException e) {
58 e.printStackTrace(); 58 e.printStackTrace();
59 } 59 }
60 } 60 }
61 61
62 String params = Joiner.on("&").join(allParams)+key; 62 String params = Joiner.on("&").join(allParams)+key;
63 String computedToken = DigestUtils.md5DigestAsHex(params.getBytes()); 63 String computedToken = DigestUtils.md5DigestAsHex(params.getBytes());
64 return computedToken; 64 return computedToken;
65 } 65 }
66 ``` 66 ```
67 67
68 68
69 69
70 注意:参数是按字母升序排列 akey=value&bkey=value.... + secretkey(对应渠道的应用ID) 70 注意:参数是按字母升序排列 akey=value&bkey=value.... + secretkey(对应渠道的应用ID)
71 71
72 4.channel详情(部分上线) 72 4.channel详情(部分上线)
73 -------------------------------- 73 --------------------------------
74 74
75 100100:丫丫玩 75 100100:丫丫玩 √
76 100200:小皮 76 100200:小皮 √
77 100300:安智 77 100300:安智
78 100400:豌豆荚 78 100400:豌豆荚
79 100500:应用汇 79 100500:应用宝 √
80 100600:机锋 80 100600:机锋 √
81 100700:泡椒 81 100700:泡椒
82 100800:木蚂蚁 82 100800:木蚂蚁 √
83 100900:靠谱助手 83 100900:靠谱助手 √
84 101000:游戏群(熊猫玩) 84 101000:游戏群(熊猫玩)
85 101100:琵琶网 85 101100:琵琶网