注册 | 

开发者发行接入文档

目录

开发者接入文档

1. 07073登录游戏

2. 引入07073开放平台jssdk

3. 初始化 and 获取用户信息

4. 07073游戏支付

5. 游戏收藏接口

6. 游戏关注接口

7. 游戏分享接口

8. 游戏实名认证接口

9. 游戏加载完成

10. 游戏重新登录

11. 游戏数据上报

12. 角色创建

13. 角色登录

14. 角色升级

15. 获取客服信息

16. 游戏支付异步回调

17. 游戏返利回调,(返利服需要)

18. 加密方式说明

19. 查询角色信息接口

 


需要前期准备:

测试服登录回调(游戏地址)地址:?

测试服充值回调地址: ?

充值计费点

 

开发者接入文档

1. 07073登录游戏(必接)

接口地址:游戏开发商提供(添加游戏时的游戏登录回调地址)

提交方式:GET

 

接收参数(CGI)

类型

必选

说明

是否参与加密

uid

String

True 

用户UID

time

int

true

当前时间unix时间戳

(服务端会判断时间是否超过配置时间)

ext_fx

String

False

发行额外透传参数

(如果有值在支付时原样回传)

sign

string

True

加密串

sign_type

string

True

固定md5

fxjsver

String

false

Js版本号 防cdn刷新

cpchannel

String

false

Cp渠道id

fxcgid

String

False

发行服ID

fxcpsessid

String

False

发行标识

fxsdkver

String

false

发行js sdk版本

isadult

int

False

实名制标识,用于防沉迷,游戏方要求开,参数会依实际情况传递,否则统一传1
用户信息三种可能,分别为:
0 用户未填写实名制信息
1 用户填写过实名制信息,且大于18
2 用户填写过实名制信息,但是小于18

返回值样例




说明


游戏开发商验证成功后,自动登录对应游戏


样例


http://ceshi.073img.com/fxcpdemo/demo/game.php?time=1516764539&uid=dd5fe0bae03fee99863286dbe2cea8cf&sign=fe64c8a95ac8a09bfa7ca988da6224b7&sign_type=MD5&fxjsver=1&fxcgid=9&fxcpsessid=eubusrkq7ffbbo7bpbkh36aqm9425v64&fxsdkver=2


 

 

2. 引入07073开放平台jssdk(初始化跟引入SDK必接 有关回调选接)

<?php if ($_GET['fxsdkversion'] == 1) {?>

 

<script type="text/javascript" src="https://img5.073img.com/sdk/js/h5sdk07073.fxcp.js?ver=<?php echo $_GET['fxjsver']?>"></script>

 

<?php } else if ($_GET['fxsdkversion'] == 2) {?>

 

<script type="text/javascript" src="https://img5.073img.com/sdk/js/h5sdk07073.fxcp.1.0.js?ver=<?php echo $_GET['fxjsver']?>" id="fxcp07073script" da-cgid="<?php echo $_GET['fxcgid']?>" da-sessid="<?php echo $_GET['fxcpsessid']?>"></script>

 

<?php }?>

 

 

// 初始化配置

fxcp07073sdk.initConfig({

    gamekey: "<?php echo GAME_KEY?>",   //07073开放平台游戏KEY

    uid: "<?php echo $_GET['uid']?>",    //07073开放平台登录时uid

    debug: false,

    // 关注回调

    onSubscribeCallback: function (msg) {

        console.log("subscribe_callback", msg);

        if (msg.errno == 0) {

            //alert('关注成功,发礼包操作');

        } else {

            alert(msg.errstr);

        }

    },

    // 分享回调

    onShareOkCallback: function (msg) {

        console.log('share_callback:', msg);

        if (msg.errno == 0) {

            //alert('分享成功,发礼包操作');

        } else {

            alert(msg.errstr);

        }

    },

   // 收藏回调

    onFavCallback: function (msg) {

        console.log('onFav callback:', msg);

        if (msg.errno == 0) {

            //alert('收藏成功,发礼包操作');

        } else {

            alert(msg.errstr);

        }

    },    // 是否关注回调

    onIsSubscribeBtnCallback: function (msg) {

        console.log("onIsSubscribeCallback", msg);

        if (msg.errno == 0) {

            //alert('显示关注按钮');

        } else {

            alert(msg.errstr);

        }

    },

    // 是否分享回调

    onIsShareBtnCallback: function (msg) {

        console.log("onIsShareBtnCallback", msg);

        if (msg.errno == 0) {

            //alert('显示分享按钮');

        } else {

            alert(msg.errstr);

        }

    },

    // 是否收藏回调

    onIsFavBtnCallback: function (msg) {

        console.log("onIsFavBtnCallback", msg);

        if (msg.errno == 0) {

            //alert('显示收藏按钮');

        } else {

            alert(msg.errstr);

        }

    },

    // 是否显示实名认证按钮

    onIsVerifyBtnCallback: function (msg) {

        console.log("onIsVerifyBtnCallback", msg);

        if (msg.errno == 0) {

            //alert('显示实名认证按钮');

            document.getElementById('verifyA').style.display = 'block';

        } else {

            alert(msg.errstr);

        }

    },

    // 实名认证操作

    onVerifyCallback: function (msg) {

        console.log("onVerifyCallback", msg);

        if (msg.errno == 0) {

            //alert('实名认证成功,发礼包操作');

        } else {

            alert(msg.errstr);

        }

    },

});

注:

回调方法,返回json格式 {errno:0, errstr: '关注成功'}

errno:  0:成功 1:失败或取消

errstr: 错误说明

 

3. 初始化 and 获取用户信息(选接)

// 初始化方法

function init()

{

    // 关注按钮是否显示

    fxcp07073sdk.isSubscribeBtn({});

    // 分享按钮是否显示

    fxcp07073sdk.isShareBtn({});

    // 收藏按钮是否显示

    fxcp07073sdk.isFavBtn({});

    // 实名认证按钮是否显示

    fxcp07073sdk.isVerifyBtn({});

    // 获取用户信息

    getuserinfo();

}

 

 

function getuserinfo() {

    // 获得用户信息

    fxcp07073sdk.getUserInfo(<?php echo json_encode($user_param);?>, function(msg) {

        console.log('获取用户信息', msg);

 

        // 获取用户信息保存到本地,头像等

        if (msg.errno == 100) {

            console.log('用户信息:', msg.info);

        } else {

            console.log('获取信息失败', msg.errstr);

        }

 

    });

}

 

init();

 

注:

1. 请在07073jssdk初始化以后,通过ajax后台加密数据,调用用户信息

// 获取用户信息参数

$user_data = [

    //必填

    'gamekey'       => GAME_KEY,    // H5开放平台游戏KEY

    'uid'           => $_GET['uid'],                     //H5开放平台用户id

    'time'          => time(),               //当前时间unix时间戳

];

$user_param = $cls_verify07073->buildRequestPara($user_data);

 

返回的参数为:

{"errno":100,"errstr":"SUCCESS","info":{"username":"用户名","avatar":"用户头像","female":1}})

 

errno: 状态吗 100成功,其他为失败

errstr: 状态吗说明

info: 返回的信息

   username: 用户名

   avatar: 用户头像

   female: 性别 [1:0:]

 

2.关注按钮,分享按钮,收藏按钮,初始化时候调用方法判断

游戏端实现隐藏或者显示相应按钮,(领取过奖励以后,不应该再次领取,应该隐藏相应按钮,cp实现即可),回调方法 参见2 是否关注(分享,收藏)回调

 

4. 07073游戏支付(必接)

(1) 用户在游戏内购买游戏道具,通过异步请求生成json加密串,

加密串请求参数说明:

接收参数(CGI)

类型

必选

说明

gamekey

String

True

H5开放平台游戏KEY

uid

String

True

用户UID

(游戏登录时用户UID)

time

int

true

当前时间unix时间戳

(服务端会判断时间是否超过配置时间)

ext_fx

String

False

发行商额外透传参数

(登陆时传递ext_fx如有值,原样返回)

goods_id

String

True

商品ID

goods_name

String

True

商品名

fee

Int

True

商品价格()

server_id

String

true

服务器id

server_name

String

True

服务器区服

area_id

String

True

ID

area_name

String

True

区名称

role_id

String

True

角色ID

role_name

String

True

角色名

game_ordersn

String

True

游戏生成订单号

ext_cp

String

False

厂商额外透传参数

(支付成功后,异步通知时原样返回)

sign

string

True

加密串

sign_type

string

True

固定md5


 

(2) 点击购买商品操作

// 支付

document.getElementById('payA').onclick = function() {

    // 通过ajax请求获取参数

    var pay_args = <?php echo json_encode($pay_param);?>;

    // 附加上支付成功取消参数

    pay_args.onPayCallback = function(data) {

        console.log(data);

        payok_report();

        alert('支付成功');

    };

 

    pay_args.onPayCancel = function(data) {

        console.log(data);

        alert('取消支付');

    };

    

    // 支付操作

    fxcp07073sdk.pay(pay_args);

};

 

pay_args 参数说明:

gamekeyH5开放平台游戏KEY

uid:   07073开放平台登录时uid

goods_id: 商品ID

goods_name: 商品名称

fee: 商品价格()

server_id: ID

server_name: 服名称

area_id: ID

area_name: 区名称

role_id:角色ID

role_name:角色名

game_ordersn: 游戏商品订单号

ext_fx: 07073开放平台登陆时传递的ext_fx(原样传回)

ext_cp:  游戏额外透传参数

time:  时间

sign:  加密串

以上部分是在服务端计算生成,参数说明同(2)

sign_type: 'MD5', 固定md5

 

 

 

onPayCallback: null, // 支付成功的回调函数(此方法不能作为充值成功的依据,需要通过服务器异步获取充值信息)用不到

onPayCancel: null  // 取消支付回调函数 用不到

 

拉起支付返回104则是校验问题;106为缺少计费点,需要贵方提供商品ID,商品金额,商品描述

image.png 

 

5. 游戏收藏接口(选接)

// 收藏操作

document.getElementById('favA').onclick = function() {

    var json_data = {};

    fxcp07073sdk.onFav(json_data);

}

 

收藏回调 参见2: 关注回调方法

6. 游戏关注接口(选接)

// 关注操作

document.getElementById('gzA').onclick = function() {

    var json_data = {};

    fxcp07073sdk.onSubscribe(json_data);

}

关注回调 参见2: 关注回调方法

 

7. 游戏分享接口(选接)

// 分享操作

document.getElementById('fenxiangA').onclick = function() {

    var json_data = {};

    fxcp07073sdk.onShare(json_data);

}

关注回调 参见2: 游戏分享回调方法

8. 游戏实名认证接口(选接)

// 实名认证操作

document.getElementById('verifyA').onclick = function() {

    var json_data = {};

    fxcp07073sdk.onVerify(json_data);

}

关注回调 参见2: 游戏实名认证回调方法

 

9. 游戏加载完成(选接)

fxcp07073sdk.ready();

10. 游戏重新登录(选接)

// 重新登录游戏操作

document.getElementById('reloginA').onclick = function() {

    fxcp07073sdk.relogin();

}

11. 游戏数据上报(必接)

// 数据上报

var gBaseData = {

    "roleid": "adf",            //游戏角色的唯一ID

    "nickname": "我的昵称",    //游戏中角色的昵称,没有昵称的可以传空字符串

    "server_id": "1"    ,           // ID

    "server_name": "混服"           // 服名称

    "area_id": "1"    ,           // ID

    "area_name": "1"           // 区名称  

};

基础数据字段任何上报时都需要传输

12. 角色创建(必接)

// 角色创建

document.getElementById('creA').onclick = function() {

    var extData = {};

    fxcp07073sdk.roleCreate(gBaseData, extData);

}

13. 角色登录(必接)

// 角色登录

document.getElementById('longinA').onclick = function() {

    var json_data = gBaseData;

    var extData = {

        level: 12, // 当前等级

        vipLevel: 0, // VIP等级

        score: 123456, // 默认为0,战力、综合评分等

        relevel: 123 // 角色转生等级

    };

 

    fxcp07073sdk.roleEnterGame(gBaseData, extData);

}

14. 角色升级(必接)

// 角色升级

document.getElementById('levelA').onclick = function() {

    var extData = {

        level : 15,

score: 123456, // 默认为0,战力、综合评分等

    };

 

    fxcp07073sdk.roleLevelUp(gBaseData, extData);

}

 

15.  获取客服信息(选接)

// 获取客服信息

document.getElementById('kefuA').onclick = function() {

    var json_data = {

        onKefuInfoCallback: function(kefu_data) {

            console.log(kefu_data);

        }

    };

    fxcp07073sdk.onKefuInfo(json_data);

}

 

kefu_data: json格式

{qq:'123123124', qq_group:'12312312'}

16. 游戏支付异步回调(必接)

接口地址:游戏开发商提供(添加游戏时的充值回调地址)

提交方式:POST

例子:

ext_cp=1658001&fee=100&game_ordersn=1000000000212513&order_sn=fx2020120315393415674&time=160698119785cc4068eb2d3bbc29269b3c70c6dd6d

 

接收参数(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

返回值样例

{

errno: 0,

errstr: 成功

}

说明

异步支付接口总共会在24小时内发起5次请求

errno: 错误码 0:成功 1或其他:失败

errstr: 状态吗说明

 

cp接受到异步回调以后,需要按返回值样例中形式返回json字符串

样例


 

17. 游戏返利回调,(返利服需要)(选接)

接口地址:游戏开发商提供(添加游戏时的游戏返利回调地址)

提交方式:POST

 

接收参数(CGI)

类型

必选

说明

rebate_id

String

True

申请返利ID

uid

String

True

用户UID

server_id

Int

True

ID

area_id

int

true

ID

role_id

String

True

角色ID

total_amount

Int

True

返利钱数 分

rebate_gamecoin

Int

True

返利元宝

time

Int

True

当前UNIX时间戳

sign

string

True

加密串

sign_type

string

True

固定md5

返回值样例

{

errno: 0,

errstr: 成功

}

说明

errno: 错误码 0:成功 1或其他:失败

errstr: 状态吗说明

样例


 

18. 加密方式说明

(1) 除去待签名参数数组中的空值和签名参数(去除sign,sign_type,空值)

(2) 请求的所有参数,需要根据参数名=参数值的格式,按首字符字典顺序(ascii值大小)排序,若遇到相同首字符,则判断第二个字符,以此类推,待签名字符串需要以参数名1=参数值1&参数名2=参数值2&….&参数名N=参数值N”的规则进行拼接。

(3) 待签名数据应该是参数原始值而不是url encoding之后的值,例如:调用某接口需要对请求参数email进行数字签名,那么待签名数据应该是email=test@msn.com,而不是email=test%40msn.com

(4) 12操作后生成的串拼接上应用加密key,做md5操作生成sign

签名结果与签名方式加入请求提交参数组中(sign,sign_type加入请求参数中)

 

 

19. 查询角色信息接口(选接)

接口地址:游戏开发商提供(添加游戏时的游戏查询角色信息接口)

提交方式:POST

 

接收参数(CGI)

类型

必选

说明

uid

String

True

用户UID

返回值样例

{

errno: 0,

errstr: 成功

info: [

    {

        cp_server_id:id

        cp_server_name: cp服名称

        cp_area_id: id

        cp_area_name: cp区名称(一马当先)

        cp_role_id: 角色ID

        cp_role_name: 角色名称

        level: 角色等级

        viplevel: vip等级

    }

]

}

说明

返回用户游戏中所有区服的游戏信息

errno: 错误码 0:成功 1或其他:失败

errstr: 状态吗说明

info: 角色信息

样例


 

20. 用户聊天消息推送(选接)

接口地址:https://sdk.07073.com/fx/user/user_msg_push

 

提交方式:POST

 

接收参数(CGI)

类型

必选

说明

uid

String

True

用户UID

返回值样例

{

errno: 0,

errstr: 成功

info: [

    {

        cp_server_id:id

        cp_server_name: cp服名称

        cp_area_id: id

        cp_area_name: cp区名称(一马当先)

        cp_role_id: 角色ID

        cp_role_name: 角色名称

        level: 角色等级

        viplevel: vip等级

    }

]

}

说明

返回用户游戏中所有区服的游戏信息

errno: 错误码 0:成功 1或其他:失败

errstr: 状态吗说明

info: 角色信息

样例


 


Copyright © 07073H5.com   联系方式 | 关于我们 | 问题反馈

注册账号

关闭

账号类型: 研发商 渠道商  
登录账号: 账号由3~20个字符组成
密码: 密码包含字母和数字在6-14位之间
确认密码: 请确认您的登录密码!
邮箱: 请填写邮箱!
验证码: 点击图片可更换验证码
  已有账号,立即登录  
  快速审核请联系QQ: 1197607073   |    138207073  

登录账号

登录账号: 请输入您的账号
登录密码: 请输入您的登录密码
验证码: 看不清楚点击图片换一张
  立即注册 | 找回密码