Appearance
用户付费
utools.isPurchasedUser()
是否付费用户
类型定义
ts
function isPurchasedUser(): boolean | string
- 返回
false
非付费用户,返回true
永久授权用户(付费买断),返回 "yyyy-mm-dd hh:mm:ss" 日期字符串表示授权用户到期时间
示例代码
js
utools.onPluginEnter(({ type, code, payload }) => {
const purchasedUser = utools.isPurchasedUser();
if (purchasedUser) {
// 已付费的合法用户,可使用插件应用完整功能
// purchasedUser === true 永久授权(付费买断)
// purchasedUser === "yyyy-mm-dd hh:mm:ss", 授权到期时间
} else {
// 打开付费
utools.openPurchase({ goodsId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }, () => {
console.log("付费成功");
});
}
});
utools.openPurchase(options, callback)
打开付费 (适用软件付费模式)
软件付费
软件付费指的是,用户按天数购买授权,在授权生效期内,可以使用对应的插件应用功能
付费模式
- 插件应用基础功能免费,高级功能付费使用(推荐)
- 插件应用完全收费
类型定义
ts
function openPurchase(options: OpenPurchaseOptions, callback?: () => void): void
OpenPurchaseOptions
类型定义
ts
interface OpenPurchaseOptions {
goodsId: string;
outOrderId?: string;
attach?: string;
}
字段说明
goodsId
- 商品 ID,在 “ uTools 开发者工具” 插件应用中创建
outOrderId
- 第三方服务生成的订单号(6 - 64 字符)
attach
- 第三方服务附加数据,在查询 API 和支付通知中原样返回,可作为自定义参数使用(最多 256 字符)
options
付费参数callback
付费成功执行的回调函数
示例代码
js
utools.onPluginEnter(({ type, code, payload }) => {
const purchasedUser = utools.isPurchasedUser();
if (purchasedUser) {
// 已付费的合法用户,可使用插件应用完整功能
// purchasedUser === true 永久授权(付费买断)
// purchasedUser === "yyyy-mm-dd hh:mm:ss", 授权到期时间
} else {
// 打开付费
utools.openPurchase({ goodsId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }, () => {
console.log("付费成功");
});
}
});
utools.openPayment(options, callback)
打开支付 (适用服务付费模式)
服务付费
服务付费指的是,用户按使用量购买应用服务,在购买后,可以在固定的次数或者数量下,使用应用服务。
付费模式
- 服务 API 按次/按量购买。
- 售卖虚拟商品。
类型定义
ts
function openPayment(options: OpenPaymentOptions, callback?: () => void): void
OpenPaymentOptions
类型定义
ts
interface OpenPaymentOptions {
goodsId: string;
outOrderId?: string;
attach?: string;
}
字段说明
goodsId
- 商品 ID,在 “ uTools 开发者工具” 插件应用中创建
outOrderId
- 第三方服务生成的订单号(6 - 64 字符)
attach
- 第三方服务附加数据,在查询 API 和支付通知中原样返回,可作为自定义参数使用(最多 256 字符)
options
支付参数callback
支付成功执行的回调函数
示例代码
js
// 1. 配置好服务端支付通知地址
// 2. 打开支付
utools.openPayment({ goodsId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }, () => {
console.log("支付成功");
// 重新从服务器获取已购买商品量
});
utools.fetchUserPayments()
获取用户支付记录
类型定义
ts
function fetchUserPayments(): Promise<Payment[]>
Payment
类型定义
ts
interface Payment {
order_id: string;
out_order_id: string;
open_id: string;
pay_fee: number;
body: string;
attach: string;
goods_id: string;
paid_at: string;
created_at: string;
}
字段说明
order_id
- uTools 订单 ID
out_order_id
- 外部或第三方服务生成的订单号
open_id
- uTools 用户 ID
pay_fee
- 支付金额,单位为分
body
- 商品描述
attach
- 附加数据
goods_id
- 商品 ID
paid_at
- 支付时间
created_at
- 订单生成时间
示例代码
js
utools.fetchUserPayments().then((payments) => {
console.log(payments);
});