微信虚拟支付接入小程序商城(卖会员/课程/虚拟道具)
> 重要区分:虚拟支付是微信小程序专门针对虚拟商品(会员、课程、数字权益)的支付通道,和普通微信支付商户号互相独立;卖虚拟商品不能继续用普通微信支付,否则iOS端会违规被下架。
> 适用:小程序商城;公众号/H5商城不支持微信虚拟支付。
✅ 前置开通条件
- 小程序主体:企业/个体工商户(已微信认证)
- 小程序服务类目:必须匹配虚拟商品类目(文娱、在线教育、工具等,类目不对后台找不到虚拟支付入口)
- 主体信息完整,符合《虚拟支付运营规范》
📝 第一步:MP后台开通虚拟支付(微信公众平台 mp.weixin.qq.com)
- 登录小程序后台 → 左侧菜单【支付与交易】→【虚拟支付】
- 点击【开通】,阅读并签署《虚拟支付服务协议》
- 提交资料:营业执照、对公/法人提现银行卡、支付管理员信息
- 账户验证(非法人管理员需要)、管理员微信扫码签约
- 等待审核:一般 1–7个工作日,审核通过会生成虚拟支付二级商户号
- 后台基础配置:
- 代币配置:设置代币名称、兑换比例(一旦发布不可修改,例如1元=10代币)
- 道具/商品配置:在道具管理添加商城虚拟商品(会员、课程等,对应offerId)
- 消息推送回调地址:填写你的商城服务端回调URL,微信支付成功后推送发货通知(必须配置,用来自动发货、发会员权益)
- 保存参数:
AppID、OfferId、沙箱AppKey、现网AppKey,给后端开发使用
🧑💻 第二步:商城系统技术对接(前端+后端)
> 商城源码/小程序商城系统需要支持虚拟支付API,现成SAAS商城要看厂商是否支持虚拟支付能力。
- 沙箱环境联调:先用沙箱AppKey做测试下单、回调、退款,不要直接上生产
- 小程序前端:调用微信官方API
wx.requestVirtualPayment(...)拉起虚拟支付收银台,传入offerId、订单号、签名等参数 - 后端核心逻辑
- 生成订单、支付签名pay_sig、用户态签名signature(虚拟支付签名规则和普通微信支付不一样)
- 接收微信异步回调通知:收到回调后校验签名,给用户发放虚拟权益(开通会员、发放课程),调用微信发货确认接口,通知微信“已发货”
- 订单管理、退款接口对接、对账
- 联调完成切换到现网AppKey,发布小程序版本
🛒 第三步:商城后台配置与上架
- 在你的商城后台填入虚拟支付参数:OfferId、现网AppKey
- 将商城虚拟商品绑定微信后台配置好的道具offerId
- 商城页面改造:虚拟商品下单按钮走虚拟支付,实物商品仍然走普通微信支付(实物、虚拟商品两套支付分开)
- 测试完整链路:下单 → 支付 → 回调 → 自动发放权益 → 退款测试
💴 结算与费率
- 结算周期:T+3,资金进入虚拟支付商户余额,可提现到对公/法人银行卡
- 费率:以签约页面为准;iOS订单会有苹果相关分成成本
⚠️ 关键避坑点
- 实物商品不能走虚拟支付;虚拟商品(会员、课程、次数包)不能继续用普通微信支付,属于违规
- 代币兑换比例一旦上线不能修改,配置前谨慎确认
- iOS用户微信版本≥8.0.68才能正常使用虚拟支付
- 回调地址必须公网可访问、签名校验不可省略,不做发货回调会导致订单异常、资金冻结风险
- 公众号商城、PC网页商城无法接入微信虚拟支付,仅限小程序端
简单接入选型建议
- 自研商城:后端开发对接虚拟支付服务端API,前端调用wx.requestVirtualPayment
- SAAS小程序商城:先咨询服务商是否支持微信虚拟支付,大部分老SAAS商城只支持普通微信支付,不支持虚拟支付。
联系我们,开启您的网站开发之旅
- 📞 咨询热线:18865460927、15154670927
- 🌐 官方网址:https://www.loveps.vip/
- 🏢 公司全称:东营楼月电子商务有限公司
- 🔖 旗下品牌:东营码良软件



