GameAPI.BuyBox
4.1.1功能说明
弹出购买支付框,前端JS接口
4.1.2调用说明
1.接口包含
页面必须包含QQGame开放平台提供的js库,才能调用各js接口,如下:
//qqgameplatcdn.qq.com/social_hall/js/jquery.js
//qqgameplatcdn.qq.com/social_hall/js/jquery.pm.js
//qqgameplatcdn.qq.com/social_hall/app_frame/qqgamelib.js
游戏方可以直接在页面头部加载上面的js库,如下图:
也可以为性能考虑,在需要调用js接口前,动态加载上面的js库,不做约束。
首先保证应用所在的域名是app$appid.qqgameapp.com或s\d\d.app$appid.qqgameapp.com,或者为qqgame.app$appid.twsapp.com, $appid为开放平台部分配的应用接入id,\d代表任一0~9整数。 多区多服应用域名支持app$appid.openwebgame.qq.com
3.接入QQGame
APP接入页面均内嵌在开放平台接入页面中,Javascript API定义在父页面中,各APP通过回调函数满足定制需求,调用API前需要提供域名到QQGame平台,并在平台发布白名单后在大厅测试专区中,使用测试号码进行调试。
4.调用接口前
请先向QQGame平台提供应用定义邀请字符串(不超过60中文字符)及应用邀请图片,通过审核后更新配置即可使用。
如:
欢迎进入xx世界。。。
并提供一张74*74链接图片URL(注:建议图片格式为png/jpg/gif)
Tips的图片,尺寸规格为80*90(注:图片格式为静态gif)
5.被邀请者接受邀请会启动游戏。游戏启动链接中会包含如下信息:
&invitor=OPENID&invkey=INVKEY¶m=GAMEPARA,其中:
invitor为邀请发起者的openid
Invkey为邀请验证字段,后续会提供api验证该invkey的正确性
param为应用自定义参数(长度上限256bytes)
4.1.3调用方式(参考FOR QQ)
GameAPI. BuyBox.show(appid, url, sandbox, title, close_cb, buy_cb);
参数名称 | 含义 |
---|---|
appid | 分配给应用的扣费id, 一般和应用id一致 |
url | 扣费openapi返回的url地址,获取方式见open官网api说明: //wiki.open.qq.com/wiki/v3/pay/buy_goods |
sandbox | 是否沙箱环境(1:是,0:否) 沙箱环境自助Q币添加Url: cpay.qq.com/qz/go/18218 充值步骤: 1先以测试号登录open.qq.com 2打开上述url即可进行充值 |
title | 对话框标题 |
close_cb | 关闭对话框的回调函数(无参数) |
buy_cb | 确认购买成功后的回调函数(无参数) |
disturb | 可选。仅当接入“道具寄售”模式的应用使用游戏币快捷支付功能时,必须传该参数。取值固定为0。 其他支付场景不需要传入该参数。 |
4.1.4 范例
GameAPI.BuyBox.show(
10001,
“”,//填写获取到的url
1,
"testbuy",
function() {alert('close callback!');},
function() {alert('buy callback!');}
);
如果是接入“道具寄售”模式的应用使用游戏币快捷支付功能,则调用方式如下:
GameAPI.BuyBox.show(
10001,
“”,//填写获取到的url
1,
"testbuy",
function() {alert('close callback!');},
function() {alert('buy callback!');},
0);
如果支付出错(如:用户余额不足等),则会弹出提示框如下图所示;否则回调buy_cb
10001,
“”,//填写获取到的url
1,
"testbuy",
function() {alert('close callback!');},
function() {alert('buy callback!');}
);
如果是接入“道具寄售”模式的应用使用游戏币快捷支付功能,则调用方式如下:
GameAPI.BuyBox.show(
10001,
“”,//填写获取到的url
1,
"testbuy",
function() {alert('close callback!');},
function() {alert('buy callback!');},
0);
如果支付出错(如:用户余额不足等),则会弹出提示框如下图所示;否则回调buy_cb