更新记录
1.0.0(2026-05-23)
初始化版本发布。
平台兼容性
uni-app(5.0)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | app-nvue插件版本 | Android | Android插件版本 | iOS | iOS插件版本 | 鸿蒙 | 鸿蒙插件版本 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | √ | 1.0.0 | 6.0 | 1.0.0 | 15 | 1.0.0 | 5.0.0 | 1.0.0 |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
uni-app x(5.0)
| Chrome | Safari | Android | Android插件版本 | iOS | iOS插件版本 | 鸿蒙 | 鸿蒙插件版本 | 微信小程序 |
|---|---|---|---|---|---|---|---|---|
| × | × | 6.0 | 1.0.0 | 15 | 1.0.0 | 5.0.0 | 1.0.0 | × |
概述
XF-appPayUTS封装了Android、iOS和鸿蒙系统中的应用内支付能力,用于初始化支付环境、查询商品、发起购买、恢复购买、完成订单以及打开订阅管理页面。
使用前提
本插件只封装客户端调用流程。正式使用前,需要先完成对应应用市场的开发者账号、应用、商品、测试账号和服务端订单处理配置。
iOS
- 已开通Apple Developer账号,并在App Store Connect中创建应用,应用的Bundle ID需要和实际打包配置一致。
- 已在App Store Connect签署有效的Paid Apps Agreement,并按要求完成税务、银行等收款信息。
- 已在App Store Connect中配置应用内购买项目或订阅,商品的Product ID需要和调用getProducts、purchase时传入的productId一致。
- 已完成商品元数据、价格、销售地区、税务分类等信息配置,并确保商品状态可用于沙盒测试或正式销售。
- 已在iOS工程或打包配置中启用In-App Purchase能力,并确认Bundle ID、证书、描述文件和商品Product ID匹配。
- 沙盒测试前,需要在App Store Connect中创建Sandbox Apple Account,并在开发签名包或TestFlight包中验证购买、恢复购买和订阅续期场景。
- 业务服务端需要自行完成交易凭证校验、发货、权益记录、退款和订阅状态同步;确认发货后再调用completePurchase完成订单。
Android
- 已开通Google Play开发者账号,并在Google Play Console中创建应用,应用包名需要和实际打包的applicationId一致。
- 已完成Google Play结算相关的商家、付款资料和应用分发地区配置。
- 已在Google Play Console中创建一次性商品或订阅,商品ID需要和调用getProducts、purchase时传入的productId一致。
- 商品需要配置标题、描述、价格、销售地区等信息,并处于Active状态;应用也需要面向对应国家或地区。
- 本插件集成的Google Play Billing Library版本为9.0.0。
com.android.vending.BILLING权限已由本插件随带的Google Play Billing AAR声明,文件位于utssdk/app-android/libs/billing-9.0.0.aar;使用方需要确认最终AndroidManifest中包含该权限,并使用包含Google Play Billing能力的安装包进行测试或发布。- 测试前,需要配置License testers或测试轨道;测试设备需要登录对应Google账号,并安装可访问Google Play服务的环境。
- 业务服务端需要自行通过Google Play Developer API校验purchaseToken、发货、记录权益、处理退款和订阅状态;确认发货后再调用completePurchase进行consume或acknowledge。
Harmony
- 已开通华为开发者账号,并在AppGallery Connect中创建应用,应用包名、App ID、签名证书和实际打包配置需要保持一致。
- 已按华为要求开通IAP Kit或应用内购买相关服务,并完成商户、结算、服务协议等必要配置。
- 已在AppGallery Connect中配置消耗型商品、非消耗型商品或订阅,商品ID需要和调用getProducts、purchase时传入的productId一致。
- 商品需要配置名称、价格、销售国家或地区等信息,并确保状态可用于测试或正式购买。
- 测试前,需要配置沙盒测试账号或测试环境;测试设备需要登录可用的HUAWEI ID,并处于IAP Kit支持的国家或地区。
- 业务服务端需要自行校验订单和购买数据、发货、记录权益、处理退款和订阅状态;确认发货后再调用completePurchase完成订单。
插件接口
initPayment
初始化支付环境。调用其他支付接口前需要先调用该接口。
uni-app项目中(nvue)调用示例:
import { initPayment } from "@/uni_modules/XF-appPayUTS"
initPayment({
environment: "production",
enablePendingPurchases: true,
complete: (res) => {
console.log(res)
}
});
uni-app x项目(uvue)中调用示例:
import { initPayment } from "@/uni_modules/XF-appPayUTS";
import { InitPaymentOptions } from "@/uni_modules/XF-appPayUTS/utssdk/interface.uts";
let options = {
environment: "production",
enablePendingPurchases: true,
complete: (res : any) => {
console.log(res)
}
} as InitPaymentOptions;
initPayment(options);
可用性
iOS、Android、Harmony系统
可提供的1.0.0及更高版本
getProducts
查询应用内商品信息。Android和Harmony按商品类型查询;iOS使用StoreKit查询对应商品。
uni-app项目中(nvue)调用示例:
import { getProducts } from "@/uni_modules/XF-appPayUTS"
getProducts({
productIds: ["product_id"],
productType: "consumable",
complete: (res) => {
console.log(res)
}
});
uni-app x项目(uvue)中调用示例:
import { getProducts } from "@/uni_modules/XF-appPayUTS";
import { GetProductsOptions } from "@/uni_modules/XF-appPayUTS/utssdk/interface.uts";
let options = {
productIds: ["product_id"],
productType: "consumable",
complete: (res : any) => {
console.log(res)
}
} as GetProductsOptions;
getProducts(options);
可用性
iOS、Android、Harmony系统
可提供的1.0.0及更高版本
purchase
发起购买。建议先调用getProducts获取商品信息,再调用该接口购买指定商品。
uni-app项目中(nvue)调用示例:
import { purchase } from "@/uni_modules/XF-appPayUTS"
purchase({
productId: "product_id",
productType: "consumable",
quantity: 1,
accountId: "",
offerToken: "",
complete: (res) => {
console.log(res)
}
});
uni-app x项目(uvue)中调用示例:
import { purchase } from "@/uni_modules/XF-appPayUTS";
import { PurchaseOptions } from "@/uni_modules/XF-appPayUTS/utssdk/interface.uts";
let options = {
productId: "product_id",
productType: "consumable",
quantity: 1,
accountId: "",
offerToken: "",
complete: (res : any) => {
console.log(res)
}
} as PurchaseOptions;
purchase(options);
可用性
iOS、Android、Harmony系统
可提供的1.0.0及更高版本
restorePurchases
恢复已购买项目。可通过productTypes限制恢复的商品类型。
uni-app项目中(nvue)调用示例:
import { restorePurchases } from "@/uni_modules/XF-appPayUTS"
restorePurchases({
productTypes: ["nonConsumable", "subscription"],
complete: (res) => {
console.log(res)
}
});
uni-app x项目(uvue)中调用示例:
import { restorePurchases } from "@/uni_modules/XF-appPayUTS";
import { RestorePurchasesOptions } from "@/uni_modules/XF-appPayUTS/utssdk/interface.uts";
let options = {
productTypes: ["nonConsumable", "subscription"],
complete: (res : any) => {
console.log(res)
}
} as RestorePurchasesOptions;
restorePurchases(options);
可用性
iOS、Android、Harmony系统
可提供的1.0.0及更高版本
completePurchase
完成购买。消耗型商品通常需要consume为true;非消耗型商品和订阅通常用于确认订单完成。
uni-app项目中(nvue)调用示例:
import { completePurchase } from "@/uni_modules/XF-appPayUTS"
completePurchase({
transactionId: "",
purchaseToken: "",
productId: "product_id",
productType: "consumable",
consume: true,
complete: (res) => {
console.log(res)
}
});
uni-app x项目(uvue)中调用示例:
import { completePurchase } from "@/uni_modules/XF-appPayUTS";
import { CompletePurchaseOptions } from "@/uni_modules/XF-appPayUTS/utssdk/interface.uts";
let options = {
transactionId: "",
purchaseToken: "",
productId: "product_id",
productType: "consumable",
consume: true,
complete: (res : any) => {
console.log(res)
}
} as CompletePurchaseOptions;
completePurchase(options);
可用性
iOS、Android、Harmony系统
可提供的1.0.0及更高版本
openSubscriptionManagement
打开系统或应用市场的订阅管理页面。
uni-app项目中(nvue)调用示例:
import { openSubscriptionManagement } from "@/uni_modules/XF-appPayUTS"
openSubscriptionManagement({
productId: "product_id",
complete: (res) => {
console.log(res)
}
});
uni-app x项目(uvue)中调用示例:
import { openSubscriptionManagement } from "@/uni_modules/XF-appPayUTS";
import { OpenSubscriptionManagementOptions } from "@/uni_modules/XF-appPayUTS/utssdk/interface.uts";
let options = {
productId: "product_id",
complete: (res : any) => {
console.log(res)
}
} as OpenSubscriptionManagementOptions;
openSubscriptionManagement(options);
可用性
iOS、Android、Harmony系统
可提供的1.0.0及更高版本

收藏人数:
购买普通授权版(
试用
赞赏(0)
下载 265
赞赏 0
下载 12018716
赞赏 1917
赞赏
京公网安备:11010802035340号