Blame view

server_document.md 2.11 KB
1415e2002   李康   server doc
1
2
3
4
  1. 充值通知第三方服务端接口(需提供回调地址)
  -----------------------------
      参数列表:
          orderId: parter订单号
33d14fe20   李康   update doc
5
6
7
           tradId: 平台订单号
            appId: 游戏接入分配appid  
           userId: 平台用户id   
1415e2002   李康   server doc
8
          product: 购买商品名字(50字符)
33d14fe20   李康   update doc
9
10
11
12
         currency: 币种 (目前仅有CNY)     
           amount: 充值金额(分) 
          channel: 支付方式(对应详情见4)
              sig:  签名(算法详见3)
1415e2002   李康   server doc
13
14
          
      第三方server端返回值:
2914c56b3   李康   update doc
15
          如果第三方验证成功,则返回字符串"success"即可,否则会通知10次后停止.
1415e2002   李康   server doc
16
17
18
19
  
  
  2. 登录验证(可选)
  -----------------------------------
bdfe42c50   李康   增加验证域名
20
      URL:http://inland.gumptech.com 
1415e2002   李康   server doc
21
      参数:
2914c56b3   李康   update doc
22
23
           userId: gumpId
           appKey: 
1415e2002   李康   server doc
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
           sessionKey:验证key
           
      返回值:
           {
              "code":100000(100000:成功,100012:用户不存在,-1:失败),
              "msg":"xxxxxx",
              "userId":1234
          }
          
  3.签名算法
  --------------------------------
  
      注意:签名参数不能写成固定数量,一定要获取全部参数并且除sig参数外,然后按照字母升序排列。
  ```java
  
  	/**
2914c56b3   李康   update doc
40
  	 * 签名算法(JAVA示例)
1415e2002   李康   server doc
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
  	 * @param request
  	 * @return
  	 */
  	public String sig(HttpServletRequest request, String key){
  		
  		Enumeration names = request.getParameterNames();
  		SortedSet<String> allParams = Sets.newTreeSet();
  		 
  		while (names.hasMoreElements()) {
  		    String name = (String) names.nextElement();
  		    if (name.equals("sig")) {
  		        continue;
  		    }
  		 
  		    try {
  				allParams.add(name + "=" + URLEncoder.encode(request.getParameter(name), "utf-8"));
  			} catch (UnsupportedEncodingException e) {
  				e.printStackTrace();
  			}
  		}
  		
  		String params = Joiner.on("&").join(allParams)+key;
  		String computedToken = DigestUtils.md5DigestAsHex(params.getBytes());
  		return computedToken;
  	}
  ```
2914c56b3   李康   update doc
67
      注意:参数是按字母升序排列  akey=value&bkey=value.... + secretkey(签名key)
1415e2002   李康   server doc
68
      
2914c56b3   李康   update doc
69
  4.channel详情
1415e2002   李康   server doc
70
  --------------------------------
2914c56b3   李康   update doc
71
72
73
74
      100100:微信             
      100200:支付宝             
      100300:银联