## GumpTech服务端接口文档 1. 用户登录验证接口 ---------------------------- 接口地址:http://api.gumptech.com/v1/user/verify_user.do 参数: appId: 游戏接入分配appid appkey: 注意appkey都为小写字母 userId: GumpTech平台的用户id sessionKey: 登录后回调给给第三方 返回值: { "code":100000 "msg":"xxxxxx" "data":{ "userId":23444 "sessionKey":"xxx" } } 2. 充值通知第三方服务端接口 ----------------------------- 参数列表: orderId: 订单id appId: 游戏接入分配appid userId: 平台用户id product: 购买商品名字 extraInfo:游戏接入方传入自定义参数,200字符 currency:币种 exp:USD RMB amount:支付过程中选中额度,第三方可以忽略此参数 realAmount: 最终用户支付的额度 serverId: 第三方区服id roleId: 第三方平台角色id sig: 签名 第三方server端返回值: 如果第三方验证成功,则返回字符串:success即可。 3.签名算法 -------------------------------- 注意:签名参数不能写成固定数量,一定要获取全部参数并且除sig参数外,然后按照字母升序排列。 ```java /** * 签名算法 * @param request * @return */ public String sig(HttpServletRequest request, String key){ Enumeration names = request.getParameterNames(); SortedSet allParams = Sets.newTreeSet(); 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(); } } String params = Joiner.on("&").join(allParams)+key; String computedToken = DigestUtils.md5DigestAsHex(params.getBytes()); return computedToken; } ``` 注意:参数是按字母升序排列 4. 错误码对照表 ----------------------------- 100000 : 成功 800000 : 应用不存在 100010 : 用户密码错误 100011 : 用户已经存在 100012 : 用户不存在 100013 : 用户名不能为空 900000 : 订单不存在 900001 : 支付失败 900003 : sig签名错误