小程序虚拟支付 iOS 端调用 wx.requestVirtualPayment 返回 SYSTEM_ERROR(-15003),安卓正常
【问题类型】
小程序虚拟支付 / iOS 端接入问题
【问题描述】
我们的小程序已接入虚拟支付(道具直购模式)。当前现象是:
- 安卓真机支付正常
- 微信开发者工具模拟 iOS 可成功
- iPhone 真机调用 wx.requestVirtualPayment 失败,错误为:
requestVirtualPayment:fail SYSTEM_ERROR
errCode = -15003
后端下单接口可正常返回,订单创建成功,支付参数(env/offerId/productId/amount)均有日志记录。
【小程序与支付基本信息】
- AppID:wxd344aa2f515cf8d2
- 虚拟支付 OfferId:1450523778
- 环境:env=0(现网)
- 道具ID:monthly、yearly(single 也已配置)
- 价格:monthly=5900分,yearly=29900分(均 >= 1元)
- 支付接口:wx.requestVirtualPayment
- 支付模式:short_series_goods(道具直购)
【典型失败订单信息】
1) order_no=QM6830bf781e0649e8a85fed811ddd
time=2026-05-10 17:29:30 (UTC+8)
type=monthly
amount=5900
platform=ios
env=0
offer_id=1450523778
product_id=monthly
2) order_no=QM84b55d32248249cea8af3f2cf78a
time=2026-05-10 17:38:30 (UTC+8)
type=yearly
amount=29900
platform=ios
env=0
offer_id=1450523778
product_id=yearly
【服务端相关日志(节选)】
INFO app.routers.payment: 创建虚拟支付订单 user_id=12 order_no=... type=... amount=... platform=ios appid=wxd344aa2f515cf8d2 openid_prefix=... env=0 offer_id=1450523778 product_id=...
POST /payment/create HTTP/1.1 200 OK
【客户端报错】
- wx.requestVirtualPayment fail
- errMsg: requestVirtualPayment:fail SYSTEM_ERROR
- errCode: -15003
【复现步骤】
1. iPhone 真机进入小程序“我的”页,选择月度/年度会员
2. 点击“立即开通”
3. 拉起 wx.requestVirtualPayment 后立即失败
4. 弹出 SYSTEM_ERROR(-15003)
【期望结果】
iOS 真机可正常拉起并完成 Apple 支付(与安卓表现一致)。
【已排查项】
1. 后端签名链路正常(安卓可支付,且 /payment/create 成功返回)
2. env 使用现网 0(未使用沙箱)
3. offerId/productId 已配置并可在安卓支付成功
4. 已更换另一台 iPhone 复测,仍失败
5. 前端已确认 requestVirtualPayment 能力可用并调用到位
6. 小程序虚拟支付基础配置已完成(含小程序简称)
【请求协助】
请帮忙排查:
1. 该 AppID + OfferId 在 iOS 虚拟支付通道是否存在风控/链路异常;
2. 订单号(如上)在微信侧的具体失败原因(内部错误细项);
3. 是否存在 iOS 侧开通生效状态异常或账号维度限制。
