ServerDocument.md
2.52 KB
GumpTech服务端接口文档
1. 用户登录验证接口
接口地址:http://sdk.letsgame.mobi/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: 最终用户支付的额度
sig: 签名
第三方server端返回值:
如果第三方验证成功,则返回字符串:success即可。
3.签名算法
注意:签名参数不能写成固定数量,一定要获取全部参数并且除sig参数外,然后按照字母升序排列。
/**
* 签名算法
* @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 + "=" + 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签名错误