更新记录

1.1.0(2026-11-04)

  • 首发:多通道支付聚合(微信/支付宝/银联/iOS IAP)、通道自动探测、统一下单模型、支付超时与轮询确认、支付记录本机留存。
  • 附服务端下单/验签参考实现(HMAC-SHA256 三态验签、幂等、金额校验)。
  • 深度增强:幂等防重复支付(支付中/已成功订单拦截,重试复用同一订单号)、失败智能分类与可重试引导、交易日报与优惠分摊(Pro)、本地/服务端对账(Pro)、结果轮询指数退避。

平台兼容性

uni-app(4.0)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- √ √ √ × × √ √ ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
√ √ × × × × × × × × × ×

支付聚合·统一下单面板 Pro(zl-pay)

简介

一套代码接入微信支付、支付宝、银联与 Apple 内购(IAP),统一通道探测、下单模型、回调验签、支付超时轮询与本地订单日志。严格合规:资金直连商户官方收款账户,密钥不出服务端,iOS 虚拟商品强制走 IAP。

功能特性

  • 幂等防重复支付:支付中/已成功订单拦截,重试复用同一订单号(配合服务端幂等)
  • 失败智能引导:6 类失败原因分类 + 下一步操作建议,不可重试时禁用支付按钮
  • 交易日报(Pro):笔数/成功率/金额/通道分布,支持时间窗
  • 优惠分摊(Pro):最大余额法,合计严格等于优惠额,无 1 分误差
  • 本地/服务端对账(Pro):发现掉单与状态不一致
  • 轮询指数退避:弱网减少无效请求
  • 通道自动探测(App:微信/支付宝/IAP;H5/小程序:微信/支付宝)
  • 统一下单模型与金额安全换算(分→元)
  • 支付状态轮询 + 本地订单日志(用于对账)
  • 服务端下单/验签参考实现(HMAC-SHA256,密钥经环境变量)
  • iOS 虚拟商品 goodsType 强制仅 IAP

平台兼容

App(iOS/Android)、H5、微信小程序、支付宝小程序

快速上手

  1. 插件市场导入 zl-pay 到 uni_modules;
  2. 部署 server/pay-reference.js(配置 PAY_MCH_ID/PAY_API_KEY/PAY_NOTIFY_KEY 等环境变量);
  3. 调用:
import { pay } from '@/uni_modules/zl-pay'
const channels = pay.detectChannels()          // 探测可用通道
const order = await pay.createOrder({ ... })   // 向接入方服务端下单
await pay.payOrder(order)                       // 拉起支付

服务端部署

依赖 express;复制 server/pay-reference.js,设置环境变量后启动。回调地址需配置到微信/支付宝商户后台。

合规声明

不碰资金流、不二清;回调验签三态(成功/失败/DEMO_PENDING),未配置密钥时不会自动确认支付;iOS 虚拟商品强制 IAP。

常见问题

  • Q:iOS 虚拟商品为何不能用微信? A:App Store 规定虚拟商品必须走 IAP,组件已强制限制。
  • Q:回调验签失败? A:检查 PAY_NOTIFY_KEY 是否与商户后台一致,且使用原始报文验签。

更新说明

1.0.0 首发:统一通道探测、金额安全换算、IAP 强制、三态回调验签、本地订单日志。 1.1.0 深度增强:幂等防重复支付、失败智能分类与重试引导、交易日报、优惠分摊(最大余额法无 1 分误差)、本地/服务端对账、轮询指数退避;组件新增重复拦截/失败引导/交易概览(Pro)。

隐私、权限声明

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

无特殊系统权限;网络访问仅用于向开发者自有服务端查询订单状态。

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

插件不收集、不上传任何用户数据;支付过程由微信/支付宝/银联/苹果官方渠道完成,插件仅在用户本机留存支付记录(订单号、金额、状态、时间),不包含任何个人信息与支付凭证。

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

无

暂无用户评论。