果盘与游戏合作方服务端间接口说明
一、 文档说明
1.1 功能描述
本文档主要是果盘与游戏合作方(SDK使用者)的服务端之间的接口交互说明。
1.2 阅读对象
游戏合作方服务端开发相关技术人员
1.3 业务术语
无
二、果盘服务端用户有效性验证接口
2.1 URL
http(s)://userapi.guopan.cn/gamesdk/verify/
2.2 HTTP请求方式
GET
2.3 请求参数
必选 | 类型及范围 | 说明 | |
game_uin | true | string | 果盘分配给该游戏对应的唯一账号,16至18位长字符,可通过客户端SDK方法获取得到。 安卓:IGPApi +(String)getLoginUin() iOS: [GPGameSDK defaultGPGame].loginUin |
appid | true | string | |
token | true | string | 可通过客户端SDK方法获取得到。 |
t | true | string | 时间戳(请填写服务器发起请求的北京时间,单位秒) |
sign | true | string | 加密串sign=md5(game_uin+appid+t+SERVER_KEY) 是四个变量值拼接后经md5后的值,其中SERVER_KEY在果盘开放平台上获得。 |
2.4 返回结果
结果 | 说明 |
true | 成功 |
false | 失败 |
-1 | 加密串验证失败 |
-2 | APPID不存在 |
2.5 注意事项
验证失败检查步骤
1.检查appid对应的SERVER_KEY是否正确
2.参数t 时间戳的单位为秒
3.token每次登录后都会刷新,需要获取最新的token来校验
4.如果以上三步都确认正确,麻烦把加密前的字符串打印一下提供给我方技术查看
2.6 例子
注: 上述例子中appid=101101的SERVER_KEY是字符串 3JOVFPIVV7UF203QMLR6T6ED8888LIAI0MZY776UYYTGERPKW9RL8AH57WUTY28K
三、果盘服务端订单状态查询接口
3.1 URL
http://open.guopan.cn/api2/gp_sdk_order_status.php
3.2 HTTP请求方式
GET
3.3 请求参数
必选 | 类型及范围 | 说明 | |
serialNumber | true | string | 游戏方订单序列号 |
appid | true | string | |
t | true | string | 时间戳(请填写服务器发起请求的北京时间) |
sign | true | string | 加密串sign=md5(appid+ serialNumber +t+SERVER_KEY) 是四个变量值拼接后经md5后的值,其中SERVER_KEY在果盘开放平台上获得。 |
3.4 返回结果
结果 | 说明 |
success,[状态码] | [状态码]=0 失败; [状态码]=1 成功; [状态码]=2 失败,原因是余额不足。 |
fail,-1 | 超时 t参数时间相差超过30秒 |
fail,-2 | APPID不存在 |
fail,-3 | APPID状态已失效 |
fail,-4 | 加密串验证失败 |
3.5 注意事项
当游戏合作商接收到"SDK服务器"支付回调后,为了防止因密钥泄露产生第三方恶意通知发货,游戏合作商可在收到支付回调请求后,调用此接口校验是否支付成功,验证成功后再进行发货。
3.6 例子
http://open.guopan.cn/api2/gp_sdk_order_status.php? serialNumber=1416466410_101101_41VW940DVGJ8L8&appid=101101&t=1416811757&sign=f72268f4bfd44062d26c9a0ebf95728d
注: 上述例子中appid=101101的SERVER_KEY是字符串 3JOVFPIVV7UF203QMLR6T6ED8888LIAI0MZY776UYYTGERPKW9RL8AH57WUTY28K
四、游戏服务端订单通知接口
4.1 URL
由游戏合作方在果盘开放平台填写。
4.2 HTTP请求方式
POST
4.3 请求参数
必选 | 类型及范围 | 说明 | |
trade_no | true | string | 果盘唯一订单号 |
serialNumber | true | string | 游戏方订单序列号 |
money | true | string | 消费金额。单位是元,精确到分,如10.00。 |
status | true | string | 状态;0=失败;1=成功;2=失败,原因是余额不足。 |
t | true | string | 时间戳(果盘服务器发起通知的北京时间) |
sign | true | string | 加密串 sign=md5(serialNumber +money+status+t+SERVER_KEY) 是五个变量值拼接后经md5后的值,其中SERVER_KEY在果盘开放平台上获得。 |
appid | false | string | |
item_id | false | string | |
item_price | false | string | |
item_count | false | string | |
reserved | false | string | 扩展参数,SDK发起支付时有传递,则这里会回传。 |
game_uin | true | string | 玩家游戏uid |
use_voucher | false | string | 合作代金券消费的金额(单位:元),默认0.00 (目前用于果盘发行渠道) |
4.4 返回结果
返回结果包含有字符串” success”则果盘服务端认为游戏服务端已经准确接收到我们的通知;否则 果盘服务端会隔一定时间再次通知游戏服务端。
注: 一直未接收到包含”success”的返回,果盘会每1分钟通知一次;10次后,更改为1小时通知一次;20次后更新为一天通知一次,直到30次为止。
4.5 注意事项
防“任意充”提醒:请务必校验game_uin参数与下单用户的game_uin是否一致,如果不一致,很有可能是“任意充”,此时可不下发道具。
五、防沉迷实名信息查询接口
5.1 请求方式
HTTP GET
5.2 URL
http://userapi.guopan.cn/gamesdk/cert
5.4 请求参数
字段名 | 数据类型 | 说明 |
game_uin | string | 果盘分配给该游戏对应的唯一账号,16至18位长字符,可通过客户端SDK方法获取得到。 安卓:IGPApi +(String)getLoginUin() iOS: [GPGameSDK defaultGPGame].loginUin |
appid | string | |
token | string | 通过客户端SDK方法获取得到 |
t | string | 时间戳(单位秒,请填写服务器发起请求的北京时间) |
sign | string | 加密串 sign=md5(game_uin+appid+t+SERVER_KEY) 是四个变量值拼接后经 md5 后的值, 其中 SERVER_KEY 在果盘开放平台上获得。 |
5.5 返回结果(json)
示例:
{
"code":0,
"data":{
"game_uin":"EI3N292NNJ88",
"age":30,
"oversea":false,
"id_type":0,
"id":"222303483232234257",
"verify_status":2,
"birthday":"19950614"
"pi":"",
},
"msg":""
}
字段名 | 数据类型 | 中文含义 | 参数说明 | 备注 |
game_uin | string | 渠道游戏账号唯一标识 | ||
age | int | 当前账号实名登记年龄 | ||
oversea | bool | 是否是海外用户 | true:海外用户 false:非海外用户 | |
id_type | int | 证件类型 | 0:身份证 1:中国护照 2:海外护照 3:其他 | |
id | string | 证件号码 | 身份证号码 | |
verify_status | int | 用户实名信息完善情况/验证结果 | 0:用户未提供实名认证信息 1:用户已提供实名信息,但未经过权威接口验证 | |
birthday | string | 用户当前生日 | 20010102(即yyyyMMdd) | |
pi | string | 中宣部实名认证系统的用户身份唯一标识值 |
5.6 注意事项:
id字段返回的可能并非用户身份证号码原文,可能是经过特定算法脱敏后的唯一身份证值。
六、附录
如遇到其他问题,请邮件联系chunhui.zhang@flamingo-inc.com