更新记录
1.1.1(2026-04-07)
优化问题
1.1.0(2026-04-07)
新增 HarmonyOS NEXT 平台支持,三端统一 API
- 新增 HarmonyOS 端完整支付实现(startPay、isUnionPayInstalled)
- 通过 onNewWant 监听支付结果回跳,自动处理回调
- 通过 bundleManager.canOpenLink 检测云闪付安装状态
- 内置 libuppayment.har SDK(v3.1.2)
- 支持 HarmonyOS NEXT API 12+
1.0.0(2026-01-19)
新增安卓,ios端云闪付,内置sdk集成自动处理回调
查看更多平台兼容性
uni-app(4.81)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | × | × | × | × | 5.0 | 12 | 12 |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | - | × | × |
uni-app x(4.81)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| × | × | 5.0 | 12 | 12 | × |
jwh-pay 云闪付支付插件
简介
uni-app / uni-app-x 云闪付支付插件,支持 Android、iOS、HarmonyOS NEXT 三端,已内置云闪付 SDK,开箱即用。
功能
- 拉起云闪付完成支付
- 检测云闪付 App 是否安装
- 支付结果自动回调,返回状态码、中文描述和签名
- 正式环境 / 测试环境一键切换
- 支持 scheme、seType 等参数
- result / callback 两种回调写法都支持
平台兼容
| 平台 | 支持 | 最低版本 |
|---|---|---|
| Android | ✅ | 5.0 |
| iOS | ✅ | 12.0 |
| HarmonyOS NEXT | ✅ | API 12 |
| 小程序 | ❌ | - |
| H5 | ❌ | - |
安装
HBuilderX 插件市场搜索 jwh-pay 导入,或者把插件目录丢到 uni_modules 下就行。
注意: 这是原生插件,标准基座跑不了。需要先在 HBuilderX 里「制作自定义调试基座」,再用自定义基座运行。正式打包不受影响。
各平台配置
Android
不需要额外配置,权限和 SDK 都已经内置好了。
iOS
-
manifest.json→app-plus→distribute→ios→urlschemewhitelist加上:uppaysdk,uppaywallet,uppayx1,uppayx2,uppayx3 -
manifest.json→app-plus→distribute→ios→urltypes加上你的自定义 scheme,支付完成后云闪付会跳回来:myapp
HarmonyOS
-
项目的
module.json5里,abilities→skills加一组配置,用于支付完成后跳回你的应用:{ "entities": ["entity.system.browsable"], "actions": ["ohos.want.action.viewData"], "uris": [{ "scheme": "myapp", "host": "uppayresult" }] }把
myapp换成你自己的 scheme,要和调用startPay时传的scheme一样。 -
如果要用
isUnionPayInstalled()检测云闪付是否安装,module.json5里还需要加:{ "module": { "querySchemes": ["uppaysdk"] } } -
鸿蒙项目要先导入插件再打包,具体看:https://uniapp.dcloud.net.cn/tutorial/harmony/runbuild.html
用法
import { startPay, isUnionPayInstalled } from "@/uni_modules/jwh-pay";
// 检查是否安装了云闪付
const installed = isUnionPayInstalled();
console.log('云闪付已安装:', installed);
// 发起支付
function pay(tn) {
startPay({
tn: tn, // 交易流水号,找后端要
mode: "00", // 00 正式,01 测试
scheme: "myapp", // 你的 scheme,iOS 和鸿蒙需要
result: (res) => {
if (res.status === "00") {
uni.showToast({ title: '支付成功', icon: 'success' });
// res.sign 可以拿去给后端验签
} else if (res.status === "69") {
uni.showToast({ title: '取消了', icon: 'none' });
} else {
uni.showToast({ title: res.message || '支付失败', icon: 'none' });
}
}
});
}
API
startPay(options)
拉起云闪付支付。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
tn |
string |
是 | 交易流水号,后端下单后返回的 |
mode |
string |
是 | "00" 正式环境,"01" 测试环境 |
scheme |
string |
否 | 自定义 scheme,支付完后跳回来用的,iOS 和鸿蒙需要填 |
seType |
string |
否 | 手机 Pay 类别,比如华为支付填 "04",Android 和鸿蒙有效 |
result |
function |
二选一 | 支付结果回调 |
callback |
function |
二选一 | 同上,兼容其他插件的写法 |
result 和 callback 传一个就行,都传的话用 result。
isUnionPayInstalled()
检测手机上有没有装云闪付,返回 true / false。
鸿蒙端需要在 module.json5 里配好 querySchemes,不然一直返回 false。
回调参数
| 字段 | 类型 | 说明 |
|---|---|---|
status |
string |
状态码,"00" 成功,"69" 取消,其他是失败 |
message |
string |
中文描述,可以直接拿来提示用户 |
sign |
string |
签名,成功的时候才有,给后端验证用 |
常见状态码
| 码 | 意思 |
|---|---|
00 |
成功 |
69 |
用户取消 |
01 |
失败,咨询 95516 |
02 |
系统关闭,稍后再试 |
03 |
通讯超时 |
04 |
处理中,稍后查询 |
06 |
系统繁忙 |
30 |
未通过,换张卡试试 |
33 |
金额超限 |
64 |
余额不足 |
65 |
密码或 CVN2 错误 |
67 |
密码输错太多次 |
完整状态码看银联文档:https://open.unionpay.com/
注意
- tn 必须从后端拿,不能前端自己编
- 测试用
mode: "01",上线记得改成"00" - 客户端拿到的支付结果只能做展示,最终结果以后端回调为准
- 支付成功返回的
sign要传给后端做验签 - 鸿蒙模拟器上装不了云闪付,要在真机上测
报错排查
| 报错 | 原因 | 怎么办 |
|---|---|---|
| 交易流水号不能为空 | tn 没传 | 检查后端接口有没有正常返回 tn |
| 模式参数错误 | mode 不对 | 只能传 "00" 或 "01" |
| 必须提供 result 或 callback | 没传回调 | result 和 callback 至少传一个 |
| 无法获取当前 Activity | Android 环境问题 | 确认页面没被销毁 |
| 支付调用失败 | SDK 出错了 | 看看参数对不对,tn 是不是过期了 |
| 处理支付结果异常 | 鸿蒙回跳失败 | 检查 module.json5 里的 scheme 配对了没 |
seType 对照表
| 品牌 | 值 |
|---|---|
| Samsung Pay | 02 |
| 华为 Pay | 04 |
| 小米 Pay | 25 |
| 魅族 Pay | 27 |
| OPPO Pay | 29 |
| 乐视 Pay | 30 |
| 锤子 Pay | 32 |
| vivo Pay | 33 |
| realme Pay | 35 |
更新记录
v1.1.0 (2026-04-07)
- 新增 HarmonyOS NEXT 支持
- 鸿蒙端支付结果通过 onNewWant 回跳处理
- 鸿蒙端可检测云闪付安装状态
- 内置 libuppayment.har v3.1.2
v1.0.1 (2026-04-03)
- 回调新增 message 字段
- result / callback 双回调兼容
- Android sign 解析不再依赖字段顺序
- Android ActivityResult 加了 requestCode 过滤
- iOS 用 connectedScenes 替代废弃的 keyWindow
- 三端 sign 处理统一
- 清理多余日志
v1.0.0 (2026-01-19)
- 首版,支持 Android + iOS 云闪付支付

收藏人数:
购买源码授权版(
试用
赞赏(1)
下载 43
赞赏 0
下载 11594952
赞赏 1905
赞赏
京公网安备:11010802035340号