更新记录

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及更高版本

隐私、权限声明

1. 本插件需要申请的系统权限列表:

- com.android.vending.BILLING

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件本身不采集数据;仅在调用方触发支付流程时读取商品、订单、交易凭证和订阅状态等支付必要数据,业务方需自行完成服务端验单和发货。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。