付费插件开发 API 文档
注意事项:
- 项目需要使用最新的 V3 版本
- 本 SDK 需要在 backgorund 环境引入,开发者需要自行处理 popup、content 环境下的数据通信
- 收银台支付通信需要在 manifest 中加入
"host_permissions": ["http://*.360.cn/*", "https://*.360.cn/*"],
"externally_connectable": {
"matches": ["http://*.360.cn/*", "https://*.360.cn/*"]
}
- 一期使用
支付功能
必须接入 360 的登录体系(后续版本会支持开发者使用自有的登录体系) - 如果需要切换账号/登出账号,都需要操作浏览器的账号切换/登出。api 没有提供登出和切换账号的功能
登录
名称 | 功能 |
---|
qh.isLogin | 获取 360 浏览器客户端登录状态(这里并不是插件登录) |
qh.login | 发起登录请求,调起浏览器登录面板 |
注意:客户端登录并不等于插件登录,360 浏览器客户端登录是插件登录的前提条件,插件的登录应该是完成 OAuth 授权拿到 session_key 之后(详情见登录流程图)

qh.isLogin
解释: 获取 360 浏览器客户端登录状态。
方法参数: 回调函数 (isLogin)=>void
返回参数说明:
属性 | 类型 | 说明 |
---|
isLogin | Boolean | 360 浏览器客户端登录状态 true: 已登录,false: 未登录 |
示例:
qh.isLogin((res) => {
console.log('isLogin:', res.isLogin)
})
qh.login
解释: 调用接口 qh.login 获取 Authorization Code,
方法参数: Object object
object
参数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success 返回参数说明:
fail 返回参数说明:
属性 | 类型 | 说明 |
---|
{code,msg} | Object | code:错误码(见getPaymentInfo 接口的错误码) ,msg:错误信息 |
complete 返回参数说明:
第一个返回参数 err 为 null,表示成功回调。否则表示失败回调
属性 | 类型 | 说明 |
---|
err | Object: {code,msg} | code:错误码 ,msg:错误信息 |
data | string | 用户登录凭证(有效期五分钟) |
示例:
qh.login({
success: function (res) {
console.log('login success', res)
},
fail: function (err) {
console.log('login fail', err)
},
})
支付
名称 | 功能 |
---|
qh.requestPayment(object:Object) | 发起收银台支付请求,打开会员中心 H5 页面 |
qh.getPaymentInfo(object:Object) | 获取用户的支付状态 |
qh.paySuccessCallback | 支付成功的全局回调(收银台告知支付成功后,会主动调用该方法) |
注意:支付流程中,只有支付成功会有回调,不存在支付失败的回调
qh.requestPayment
解释: 发起收银台支付请求,打开会员中心 H5 页面(建议:支付前先调用qh.isLogin检查是否已登录浏览器账号,收银台付款时需要用户登录
)
方法参数: 回调函数 ()=>void
** 参数说明 **
属性 | 类型 | 默认值 | 必填 | 说明 |
---|
successCallback | function | - | 否 | 支付成功的回调函数(非必填,也可以设置全局的支付成功回调来达到目的qh.paySuccessCallback=()=>{} ) |
示例:
qh.requestPayment(function () {
console.log('支付成功')
qh.getPaymentInfo()
})
qh.getPaymentInfo
解释: 获取会员(vip)状态
方法参数: Object object
object
参数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|
session_key | string | - | 是 | 接入 360 登录体系后 拿到的密钥(注:一期暂不支持使用自己的账号体系) |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success 返回参数说明:
属性 | 类型 | 说明 |
---|
{isVip,expire_time} | Object | isVip:会员状态 (1:vip,0: 非 vip)。expire_time:会员过期时间戳(未购买过默认返回 0) |
fail 返回参数说明:
属性 | 类型 | 说明 |
---|
{code,msg} | Object | code:错误码 ,msg:错误信息 |
complete 返回参数说明:
第一个返回参数 err 为 null,表示成功回调。否则表示失败回调
属性 | 类型 | 说明 |
---|
err | Object: {code,msg} | code:错误码 ,msg:错误信息 |
data | Object: {isVip,expire_time} | 同 success 返回参数 |
错误码表示的信息:
code | 说明 |
---|
-1 | 其他错误 |
0 | 成功 |
10000 | 扩展 ID 错误 |
20001 | Authorization Code 为空 |
20002 | Authorization Code 生成太频繁 |
20003 | Authorization Code 不存在或者已过期 |
30001 | session_key 为空 |
30002 | session_key 错误 |
30003 | session_key 过期 |
30004 | session_key 错误 |
40001 | (360)账号未登录 |
50000 | 服务器错误 |
备注:
1.该接口需要接入 360 登录体系后再调用
示例:
qh.requestPayment({
session_key: 'xxxxxx',
success: function (res) {
console.log('支付成功')
},
fail: function (err) {
console.log('获取支付状态失败', err)
},
})
订单(会员中心 H5)
名称 | 功能 |
---|
qh.showOrderList | 获取当前用户在当前插件的购买订单记录 |
示例:
<button onclick="showOrderBtnClick()">查看订单</button>
function showOrderBtnClick {
qh.showOrderList()
}