开发者接入文档
1. 07073登录游戏
接口地址:游戏开发商提供(添加游戏时的游戏登录回调地址)
提交方式:GET
接收参数(CGI) | 类型 | 必选 | 说明 |
uid | String | True | 用户UID |
uname | string | True | 用户名 |
time | int | true | 当前时间unix时间戳 (服务端会判断时间是否超过配置时间) |
ext_sdk | String | False | 额外透传参数 (如果有值在支付时原样回传) |
sign | string | True | 加密串(使用游戏加密KEY,即secretkey加密) |
sign_type | string | True | 固定MD5 |
返回值样例 | |||
说明 | |||
游戏开发商验证成功后,自动登录对应游戏 | |||
样例 | |||
http://ceshi.com/abc.php?a=1&b=1&c=3&time=1445391662&uid=4&uname=museyouling&sign=5f7f6310884cb068c0d5801b59c2da97&sign_type=MD5 |
2. 引入07073开放平台jssdk
https://img5.073img.com/sdk/js/h5sdk07073.cp.3.min.js
// 初始化配置
h5sdk07073cp.initConfig({
gamekey: "<?php echo GAME_KEY?>", //07073开放平台游戏KEY
uid: "<?php echo $_GET['uid']?>", //07073开放平台登录时uid
debug: true, // 是否打印数据日志
onSubscribeCallback: subscribe_callback, // 关注回调
onShareOkCallback: share_callback, // 分享回调
onIsSubscribeCallback: issubscribe_callback, // 是否关注回调
});
3. 07073游戏支付
(1) 用户在游戏内购买游戏道具,通过异步请求生成json加密串,
加密串请求参数说明:
接收参数(CGI) | 类型 | 必选 | 说明 |
gamekey | string | True | H5开放平台游戏KEY |
uid | String | True | 用户UID (游戏登录时用户UID) |
time | int | true | 当前时间unix时间戳 (服务端会判断时间是否超过配置时间) |
ext_sdk | String | False | 额外透传参数 (登陆时传递ext_sdk如有值,原样返回) |
goods_id | String | True | 商品ID |
goods_name | String | True | 商品名 |
fee | Int | True | 商品价格(分) |
game_ordersn | String | True | 游戏生成订单号 |
ext_cp | String | False | 厂商额外透传参数 (支付成功后,异步通知时原样返回) |
sign | string | True | 加密串 |
sign_type | string | True | 固定MD5 |
返回值样例 | |||
{"gamekey":"abc2134564564", "ext073":"1|@2|@3","ext_cp":"1|1|1","fee":1, "game_ordersn":"201708231504272400", "goods_id":1,"goods_name":"\u6d4b\u8bd5\u5546\u54c1001", "time":1503471867,"uid":"28073","sign":"45842a0b8b96dcf025262dba04566eb6", "sign_type":"MD5"} | |||
说明 | |||
(2) 点击购买商品,弹出支付操作
pay_args 参数说明:
gamekey: H5开放平台游戏KEY
uid: 07073开放平台登录时uid
goods_id: 商品ID
goods_name: 商品名称
fee: 商品价格(分)
game_ordersn: 游戏商品订单号
ext_sdk: 07073开放平台登陆时传递的ext_sdk(原样传回)
ext_cp: 游戏额外透传参数
以上部分是在服务端计算生成,参数说明同(2)
sign_type: 'MD5', 固定md5
onPayCallback: null, // 支付成功的回调函数(此方法不能作为充值成功的依据,需要通过服务器异步获取充值信息)
onPayCancel: null // 取消支付回调函数
4. 用户是否关注接口
// 是否关注回调
function issubscribe_callback(msg)
{
console.log("issubscribe_callback", msg);
if (msg.errno == 0) {
alert('已关注用户,发礼包操作');
} else {
alert(msg.errstr);
}
}
// 初始化方法
function init()
{
var isSubscribe_json = {};
// 用户是否关注
h5sdk07073cp.isSubscribe(isSubscribe_json);
}
init();
游戏初始化以后可以调用h5sdk07073cp.issubscribe, 判断用户是否关注过公众号,游戏端实现隐藏或者显示关注按钮
5. 游戏关注接口
// 关注操作
document.getElementById('gzA').onclick = function() {
var json_data = {};
h5sdk07073cp.onSubscribe(json_data);
}
// 关注回调
function subscribe_callback(msg)
{
console.log("subscribe_callback", msg);
if (msg.errno == 0) {
alert('关注成功,发礼包操作');
} else {
alert(msg.errstr);
}
}
关注回调方法,返回json格式 {errno:0, errstr: '关注成功'}
errno: 0:成功 1:失败或取消
errstr: 错误说明
6. 游戏分享接口
// 分享操作
document.getElementById('fenxiangA').onclick = function() {
var json_data = {};
h5sdk07073cp.onShare(json_data);
}
// 分享回调
function share_callback(msg)
{
console.log('share_callback:', msg);
if (msg.errno == 0) {
alert('分享成功,发礼包操作');
} else {
alert(msg.errstr);
}
}
关注回调方法,返回json格式 {errno:0, errstr: '关注成功'}
errno: 0:成功 1:失败或取消
errstr: 错误说明
7. 游戏支付异步回调
接口地址:游戏开发商提供(添加游戏时的充值回调地址)
提交方式:POST
接收参数(CGI) | 类型 | 必选 | 说明 |
game_ordersn | String | True | 游戏订单号 |
order_sn | String | True | 07073订单号 (用于查询数据使用) |
fee | Int | True | 支付钱数(分) |
time | int | true | 当前时间unix时间戳 (服务端会判断时间是否超过配置时间) |
ext_cp | String | False | 厂商支付时候额外透传参数 (原样返回) |
sign | string | True | 加密串 |
sign_type | string | True | 固定MD5 |
返回值样例 | |||
成功返回: success 失败返回: fail | |||
说明 | |||
异步支付接口总共会在24小时内发起5次请求 | |||
样例 | |||
8. 支付订单查询接口
接口地址:https://sdk.07073.com/api/orderinfo/gamekey_order
提交方式:POST
接收参数(CGI) | 类型 | 必选 | 说明 |
gamekey | string | True | H5开放平台游戏KEY |
order_sn | String | True | 07073订单号(优先使用) |
game_ordersn | String | True | 游戏订单号 |
time | int | true | 当前时间unix时间戳 (服务端会判断时间是否超过配置时间) |
sign | string | True | 加密串 |
sign_type | string | True | 固定MD5 |
返回值样例 | |||
{ "errno": 100, "errstr": "SUCCESS", "info": { "ext": "123", "fee": "1", "game_ordersn": "gamdmfkaejfsdfjdlkfj22", "order_sn": "sdk2015102111115934191", "order_status": "1", "order_status_txt": "已付费", "pay_time": "2015-10-21 11:12:19", "sign": "c73938d5216ea8470c382d62907ea865", "sign_type": "MD5" } } | |||
说明 | |||
如果长时间接收不到07073回调信息可使用此方法做订单查询 参数说明: errno: 状态码 errstr:状态说明 info: 返回值 ext:额外透传参数,原样返回 fee: 支付金额 game_ordersn: 游戏订单号 order_sn: 073订单号 order_status: 支付状态吗 1:成功 0:失败 order_status_txt: 支付状态说明 pay_time:支付时间 sign:校验值 sign_type:校验方式 | |||
样例 | |||
错误码(errno) | 错误说明(errstr) | ||
100 | 所有操作正确
| ||
101 | 请求超时 | ||
102 | 未知应用信息 | ||
103 | 订单不存在 | ||
302 | 验证失败 | ||
301 | 其他错误 |
9. 查询用户信息 (根据CP实际需求选择性对接)
接口地址:https://sdk.07073.com/api/sdkuser/cp_get_uinfo
提交方式:POST
接收参数(CGI) | 类型 | 必选 | 说明 |
gamekey | string | True | H5开放平台游戏KEY |
uid | String | True | 07073用户UID |
time | int | true | 当前时间unix时间戳 (服务端会判断时间是否超过配置时间) |
sign | string | True | 加密串 |
sign_type | string | True | 固定MD5 |
返回值样例 | |||
{ "errno": 100, "errstr": "success", "info": { "is_auth": 1, "birthday": "19661010", "md5_id_card": "b506291488615de54258821f9ff48ae0", "age": 55, "is_adult": 1 } } | |||
说明 | |||
用户认证信息等查询使用 参数说明: errno: 状态码 errstr:状态说明 info: 返回值 is_auth: 是否实名认证 1:是 0:否 birthday: 生日 md5_id_card: 身份证md5加密 age: 年龄 is_adult: 是否成年 1:是 0:否 | |||
样例 | |||
错误码(errno) | 错误说明(errstr) | ||
100 | 所有操作正确
| ||
其他 | 错误 |