SDK for Android/IOS/H5服务器端集成说明
游戏服务器取得用户信息
由游戏服务器发起HTTP Post FORM请求,请求地址:
请求域名:(向商务索要,一般会随参数一起发出)
域名+/tools/gamefactor.ashx?action=factor_login
参数名 | 数据类型 | 说明 | 备注 |
---|---|---|---|
app_id | String | 游戏的app_id | 必传 |
timestamp | String | 时间戳 | 必传 |
uid | String | 玩家身份令牌, 游戏端登录返回的 | 必传 |
sign | String | 验证字符串 | 必传 |
请求返回值: JSON格式字符串
- 正确返回:
{"status":1, "pi":"xxxxxx"}
或{"status":1}
- 失败返回:
{"status":0, "msg":"用户不存在 请检查uid"}
当 status
为1 时, 说明登录成功, 反之失败, 并返回失败原因。pi
: 用户中宣部实名认证的 pi
值。
玩家充值成功后通知游戏服务器
由我方通知游戏服务器,请求为HTTP POST FORM请求。
参数名 | 数据类型 | 说明 | 备注 |
---|---|---|---|
app_id | String | SDK平台的游戏ID | 必传 |
timestamp | String | 时间戳 | 必传 |
uid | String | 游戏端登录后返回的 | 必传 |
cp_order_id | String | CP的订单号 | 必传 |
order_id | String | 我方的订单编号 | 必传 |
order_amount | String | 充值金额, 保留2位小数, 校验签名时注意6.00 或 648 | 必传 |
server_id | String | 区服ID | 必传 |
role_id | String | 游戏角色id | 必传 |
sign | String | 验证字符串(大写) | 必传 |
extras_params | String | cp创建订单时,cp传入的, 本请求会先进行urlencode, 然后再发出 如果存在则传, 否则不传, 此参数不参与签名 | 否 |
如果上分成功, 请返回大写字符串 SUCCESS
。如果失败, 请返回失败原因字符串。
签名算法
需要签名的字符串key=value的格式,用&连接并按照参数名ASCII字典序排序(即字母顺序)。
- 拼接加密key
- 拼接加密key:上一步得到的字符串 + "&pay_key=" + pay_key
- 备注: login_key只在客户端中使用, 服务端统一使用pay_key进行签名
- MD5签名,编码为UTF-8
- 第2步得到的字符串进行MD5签名
签名算法示例:
- app_id: e6d8895be1484db0
- login_key: 620d8f372038464980396e65730fa535
- pay_key: f7505f7fbbc844fc98d5b9809bdc27f3
第1步:
app_id=e6d8895be1484db0×tamp=1591259794&uid=1-10
第2步:
app_id=e6d8895be1484db0×tamp=1591259794&uid=1-10&pay_key=f7505f7fbbc844fc98d5b9809bdc27f3
如果是充值请求, 则为:
app_id=e6d8895be1484db0&cp_order_id=cp20060416365425&order_amount=6.00&order_id=20060416365404&role_id=8888&server_id=10001×tamp=1591259794&uid=1-10&pay_key=f7505f7fbbc844fc98d5b9809bdc27f3
第3步:
String sign=MD5(第二步得到的字符串)
最终post(form)请求参数为:
app_id=e6d8895be1484db0
cp_order_id=cp20060416365425
order_amount=6.00
order_id=20060416365404
role_id=8888
server_id=10001
timestamp=1591259794
uid=1-10
sign=799D0EA4948177D8FAF789D28EA90C78
注意:
- 你方在校验签名时, 注意order_amount需要保留2位小数
- 如果role_id, server_id是中文或包含特殊符号的情况下, 需要urldecode一下, 建议始终对这2个参数的值进行urldecode