更新记录
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 | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × |
uni-app x(4.81)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| × | × | 5.0 | 12 | × | × |
jwh-pay 云闪付插件
简介
这是一个基于UTS(UniApp TypeScript)开发的云闪付插件,支持Android和iOS平台,提供云闪付支付功能的集成。
功能特性
- 支持云闪付支付
- 支持支付结果回调
- 支持检查云闪付App安装状态
- 支持测试环境和正式环境切换
- 支持seType参数配置
- 支持scheme参数配置
- 内置云闪付SDK,无需额外配置
平台支持
- ✅ Android
- ✅ iOS
- ❌ HarmonyOS
- ❌ 小程序
- ❌ H5
安装方法
在HBuilderX中,通过插件市场搜索"jwh-pay"进行安装,或直接将插件目录复制到项目的uni_modules目录下。
配置要求
Android配置
-
权限配置:插件已自动配置以下权限
INTERNET:用于网络通信QUERY_ALL_PACKAGES:用于检查云闪付App是否安装
-
SDK配置:插件已内置云闪付SDK,无需额外添加依赖
iOS配置
-
URL Scheme白名单:在
manifest.json中的app-plus->distribute->ios->urlschemewhitelist添加以下配置"urlschemewhitelist" : "uppaysdk,uppaywallet,uppayx1,uppayx2,uppayx3", -
自定义URL Scheme:在
manifest.json中的app-plus->distribute->ios->urltypes添加"urltypes" : "hbuilder", // 自定义URL Scheme,用于支付结果回调 hbuilder改成自己的 -
SDK配置:插件已内置云闪付iOS SDK,无需额外添加依赖
使用示例
import {
startPay,
isUnionPayInstalled
} from "@/uni_modules/jwh-pay";
// 检查云闪付App是否安装
if (isUnionPayInstalled()) {
console.log('云闪付App已安装');
} else {
console.log('云闪付App未安装');
}
// 发起支付
function doUnionPay() {
// 从服务器获取交易流水号tn
const tn = "2023010112345678901234567890";
// 模式:00-正式环境,01-测试环境
const mode = "01";
// 自定义URL Scheme(可选,iOS平台使用)
const scheme = "hbuilder";
startPay({
tn: tn,
mode: mode,
scheme: scheme,
seType: "", // 安全域类型(可选)
result: (response) => {
console.log('支付结果:', response);
// 根据状态码处理支付结果
if (response.status === "00") {
uni.showToast({
title: '支付成功',
icon: 'success'
});
// 可以使用response.sign进行签名验证
console.log('支付签名:', response.sign);
} else if (response.status === "69") {
uni.showToast({
title: '用户取消支付',
icon: 'none'
});
} else {
uni.showToast({
title: '支付失败',
icon: 'none'
});
}
}
});
}
API文档
1. startPay(options: Options)
发起云闪付支付
参数:
options:Options- 支付参数对象tn:string- 交易流水号(从服务器获取,必填)mode:string- 模式(00-正式环境,01-测试环境,必填)scheme:string- 自定义URL Scheme(可选,iOS平台使用)seType:string- 安全域类型(可选)result:CallBack- 支付结果回调函数(必填)callback:CallBack- 支付结果回调函数(兼容其他插件的参数名称,可选)
返回值:void
2. isUnionPayInstalled()
检查云闪付App是否已安装
返回值:boolean - 云闪付App是否已安装
支付结果回调
type Response = {
status: string; // 交易状态码,00表示成功,69表示取消,其他表示失败
sign?: string; // 支付签名信息(仅在支付成功时返回)
};
// 常用状态码说明:
// "00": 支付成功
// "69": 用户取消支付
// "01": 交易失败。详情请咨询95516
// "02": 系统未开放或暂时关闭,请稍后再试
// "03": 交易通讯超时,请发起查询交易
// "04": 订单处理中,请稍后发起查询交易
// "05": 交易已受理,请稍后查询交易结果
// "06": 系统繁忙,请稍后再试
// "10": 报文格式错误
// "11": 验证签名失败
// "12": 重复交易,请发起查询交易
// "13": 报文交易要素缺失
// "30": 交易未通过,请尝试使用其他银联卡支付或联系95516
// "31": 商户状态不正确
// "32": 无此交易权限
// "33": 交易金额超限
// "34": 查无此交易,请稍后发起交易状态查询
// "35": 原交易不存在或状态不正确
// "36": 与原交易信息不符
// "60": 交易失败,详情请咨询您的发卡行
// "61": 输入的卡号无效,请确认后输入
// "62": 交易失败,发卡银行不支持该商户
// "63": 卡状态不正确
// "64": 卡上的余额不足
// "65": 输入的密码、有效期或CVN2有误,交易失败
// "66": 持卡人身份信息或手机号输入不正确,验证失败
// "67": 密码输入次数超限
// "68": 您的银行卡暂不支持该业务
// ... 更多状态码请参考云闪付官方文档
注意事项
- 交易流水号(tn):需要从服务器获取,不能在客户端生成
- 测试环境:使用模式参数
01,正式环境使用00 - 权限申请:部分权限(如
CAMERA)需要动态申请 - 结果验证:客户端的支付结果仅作参考,最终支付结果以服务器为准
错误处理
- 交易流水号不能为空:请确保从服务器获取有效的交易流水号
- 模式参数错误:模式参数必须为
00(正式环境)或01(测试环境) - 云闪付App未安装:可以提示用户下载云闪付App
- 支付失败:请检查网络连接和交易流水号的有效性
版本历史
- v1.0.0:初始版本,支持云闪付支付功能

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