uniapp接入云闪付
接入流程概述
UniApp接入云闪付需要完成配置、开发、联调测试等步骤。云闪付官方提供SDK和API文档支持跨平台移动支付功能,需在银联商户平台注册账号并获取必要参数。
开发环境准备
确保已安装HBuilderX最新版本,UniApp项目支持Vue3或Vue2语法。云闪付官方SDK需从银联商户平台下载,包含iOS和Android原生插件。
在manifest.json中配置原生插件:
"app-plus": {
"plugins": {
"UnionPay": {
"version": "1.0",
"provider": "中国银联"
}
}
}
商户资质申请
登录银联商户平台(open.unionpay.com)完成以下操作:
- 提交企业资质材料
- 申请移动支付产品权限
- 获取商户号(merId)和密钥文件
- 配置支付回调地址
前端支付调用
通过uni.requestPayment调用云闪付支付,示例代码:
uni.requestPayment({
provider: 'unionpay',
orderInfo: {
tn: '订单流水号', // 从服务端获取
mode: '00' // 00-正式环境 01-测试环境
},
success(res) {
console.log('支付成功:', res);
},
fail(err) {
console.error('支付失败:', err);
}
});
服务端订单处理
服务端需实现以下接口:
- 生成TN交易流水号接口
- 支付结果通知接收接口
- 订单查询接口
Java示例生成TN号:
public String generateTn(String merId, String orderId, long amount) {
Map<String,String> params = new HashMap<>();
params.put("version", "5.1.0");
params.put("encoding", "UTF-8");
params.put("txnType", "01");
params.put("txnSubType", "01");
params.put("bizType", "000201");
params.put("merId", merId);
params.put("orderId", orderId);
params.put("txnAmt", String.valueOf(amount));
// 其他必要参数...
return UnionPay.sdk.createTn(params);
}
注意事项
iOS平台需在App Store Connect填写支付权限声明,并在Xcode工程中配置URL Scheme。Android平台需在AndroidManifest.xml添加权限声明和Activity配置。
测试阶段使用银联提供的测试账号:
- 测试卡号:6228888888888888
- 测试手机号:18100000000
- 测试验证码:111111
正式上线前需完成银联的安全检测和合规审查,包括APK安全扫描和商户实名认证。支付回调地址必须支持HTTPS协议,超时时间设置为60秒。







