Commit df0eaeed213df2f1b496446f7cb552d3bf49e380

Authored by 李康
1 parent 3bae07658e
Exists in master

secretKey解释

Showing 1 changed file with 2 additions and 2 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:支付渠道(对应详情见3) 11 channel:支付渠道(对应详情见3)
12 sig: 签名(算法详见2) 12 sig: 签名(算法详见2)
13 13
14 第三方server端返回值: 14 第三方server端返回值:
15 如果第三方验证成功,则返回字符串"success"即可,否则会通知10次后停止.如重复通知,注意校验平台订单号,如重复忽略. 15 如果第三方验证成功,则返回字符串"success"即可,否则会通知10次后停止.如重复通知,注意校验平台订单号,如重复忽略.
16 16
17 17
18 2.签名算法 18 2.签名算法
19 -------------------------------- 19 --------------------------------
20 20
21 注意:签名参数不能写成固定数量,一定要获取全部参数并且除sig参数外,然后按照字母升序排列。 21 注意:签名参数不能写成固定数量,一定要获取全部参数并且除sig参数外,然后按照字母升序排列。
22 ```java 22 ```java
23 23
24 /** 24 /**
25 * 签名算法 25 * 签名算法
26 * @param request 26 * @param request
27 * @return 27 * @return
28 */ 28 */
29 public String sig(HttpServletRequest request, String key){ 29 public String sig(HttpServletRequest request, String key){
30 30
31 Enumeration names = request.getParameterNames(); 31 Enumeration names = request.getParameterNames();
32 SortedSet<String> allParams = Sets.newTreeSet(); 32 SortedSet<String> allParams = Sets.newTreeSet();
33 33
34 while (names.hasMoreElements()) { 34 while (names.hasMoreElements()) {
35 String name = (String) names.nextElement(); 35 String name = (String) names.nextElement();
36 if (name.equals("sig")) { 36 if (name.equals("sig")) {
37 continue; 37 continue;
38 } 38 }
39 39
40 try { 40 try {
41 allParams.add(name + "=" + URLEncoder.encode(request.getParameter(name), "utf-8")); 41 allParams.add(name + "=" + URLEncoder.encode(request.getParameter(name), "utf-8"));
42 } catch (UnsupportedEncodingException e) { 42 } catch (UnsupportedEncodingException e) {
43 e.printStackTrace(); 43 e.printStackTrace();
44 } 44 }
45 } 45 }
46 46
47 String params = Joiner.on("&").join(allParams)+key; 47 String params = Joiner.on("&").join(allParams)+key;
48 String computedToken = DigestUtils.md5DigestAsHex(params.getBytes()); 48 String computedToken = DigestUtils.md5DigestAsHex(params.getBytes());
49 return computedToken; 49 return computedToken;
50 } 50 }
51 ``` 51 ```
52 52
53 53
54 54
55 注意:参数是按字母升序排列 akey=value&bkey=value.... + secretkey 55 注意:参数是按字母升序排列 akey=value&bkey=value.... + secretkey(对应渠道的应用ID)
56 56
57 3.channel详情(部分上线) 57 3.channel详情(部分上线)
58 -------------------------------- 58 --------------------------------
59 59
60 100100:丫丫玩 60 100100:丫丫玩
61 100200:小皮 61 100200:小皮
62 100300:安智 62 100300:安智
63 100400:豌豆荚 63 100400:豌豆荚
64 100500:应用汇 64 100500:应用汇
65 100600:机锋 65 100600:机锋
66 100700:泡椒 66 100700:泡椒
67 100800:木蚂蚁 67 100800:木蚂蚁
68 100900:靠谱助手 68 100900:靠谱助手
69 101000:游戏群(熊猫玩) 69 101000:游戏群(熊猫玩)
70 101100:琵琶网