收藏
回答

程序虚拟支付 iOS 端调用 wx.requestVirtualPayment 返回 SYSTEM_

小程序虚拟支付 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 侧开通生效状态异常或账号维度限制。


回答关注问题邀请回答
收藏

1 个回答

  • 智能回答 智能回答 本次回答由AI生成
    2天前
    有用
登录 后发表内容