知识付费8.0|虚拟支付插件操作手册
一、功能概述
虚拟支付插件用于对接微信小程序虚拟支付能力,支持用户购买代币,并使用代币支付知识付费产品订单。
在微信小程序内销售在线课程、付费内容等涉及虚拟支付的商品时,需要按照微信平台规则接入相应支付能力。
**知识付费8.0当前采用“先购买代币,再使用代币支付订单”的方式:**
1. 用户通过微信小程序虚拟支付购买代币。
2. 代币到账后,用于支付知识付费产品订单。
3. 订单支付成功后,用户获得对应内容的访问或使用权限。
代币余额充足时,无需重复购买代币,可直接使用已有代币支付订单。
> 本手册介绍知识付费8.0的代币支付模式。代币购买通过微信小程序虚拟支付完成,请勿将其与普通微信支付配置混淆。
>
> 官方参考:[微信小程序虚拟支付文档](https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/virtual-payment.html)
二、开通前准备
1. 确认开通条件
申请前,请先检查:
- 小程序已完成微信认证。
- 小程序主体信息完整、真实、有效。
- 主体类型、服务类目及经营内容符合微信虚拟支付的开通要求。
企业、事业单位主体可在微信公众平台查看是否具备申请资格;具体支持范围及审核结果,以微信公众平台当前开通页面为准。
2. 准备申请资料
请根据主体类型和开通页面提示准备资料:
| 资料类型 | 准备内容 |
|---|---|
| 主体资质 | 企业提供有效营业执照;事业单位按页面要求提供对应主体证件 |
| 法定代表人资料 | 法定代表人身份证照片及相关信息 |
| 结算账户资料 | 对公账户信息及页面要求的其他结算资料 |
| 管理员为法定代表人 | 法定代表人手机号、邮箱及身份验证信息 |
| 管理员为经办人 | 经办人身份证照片、手机号、邮箱,以及按页面要求填写的授权函 |
以上为资料准备参考,最终提交项目以微信公众平台开通页面为准。
三、配置操作步骤
第一步:开通微信小程序虚拟支付
1. 登录[微信公众平台](https://mp.weixin.qq.com/),进入需要接入虚拟支付的小程序。
2. 在【支付与交易 → 虚拟支付】页面申请开通。
3. 按页面提示提交主体、结算账户及支付管理员等资料。
4. 完成平台要求的审核、验证和签约流程,确认虚拟支付已开通。
> 微信公众平台菜单名称可能调整;如入口不同,请在小程序后台查找【虚拟支付】。
第二步:设置代币信息
在微信公众平台的虚拟支付页面中,进入【代币配置】,设置代币名称和兑换比例。
| 配置项 | 设置说明 | 示例 |
|---|---|---|
| 代币名称 | 用户购买和消费时使用的代币名称 | 学习币 |
| 兑换比例 | 每1元人民币可兑换的代币数量 | 1元人民币=100代币 |
建议将兑换比例设置为:1元人民币 = 100代币。
例如,代币名称为“学习币”、兑换比例为1:100时:
- 购买10元代币,对应1000学习币。
- 按同一比例折算,19.90元的订单对应1990学习币。
以上仅为换算示例,实际可购买金额以支付页面支持的档位或金额为准。
设置完成后,按微信页面提示完成保存,以及所需的提交、审核或发布操作,确认配置已生效。
> 请在上线前确认代币名称和兑换比例,并确保与知识付费8.0后台保持一致。如后续需要调整,请先确认微信平台是否允许修改,以及对已有代币余额和订单的影响。
第三步:获取支付参数
在当前小程序的虚拟支付配置页面中,获取以下信息:
- OfferID:虚拟支付应用ID。
- 沙箱 AppKey:联调测试使用的虚拟支付密钥。
- 现网 AppKey:正式交易使用的虚拟支付密钥。
请确认以上参数均来自本次接入的小程序。OfferID不要误填为小程序AppID或微信支付商户号;AppKey不要误填为小程序AppSecret或普通微信支付密钥。
第四步:填写知识付费8.0后台配置
操作路径:知识付费8.0管理后台 → 应用中心 → 虚拟支付 → 支付配置
按照页面要求填写:
| 配置项 | 填写说明 |
|---|---|
| 环境配置 | 联调测试时,按微信对测试终端的支持情况选择【沙箱环境】;正式运营前切换为【现网环境】 |
| 沙箱 AppKey | 填写微信公众平台提供的虚拟支付沙箱密钥 |
| 现网 AppKey | 填写微信公众平台提供的虚拟支付现网密钥 |
| OfferID | 填写当前小程序的虚拟支付应用ID |
| 代币名称 | 与微信公众平台设置的名称完全一致 |
| 兑换比例 | 与微信公众平台设置的比例完全一致;如字段表示“1元兑换多少代币”,1:100对应填写100 |
填写时请注意:
- 沙箱密钥和现网密钥应分别填入对应字段。
- 复制参数时,避免带入多余空格、换行或遗漏字符。
- AppKey属于支付敏感信息,请勿在公开截图或对外文档中展示完整内容。
第五步:保存配置
核对配置无误后,点击【保存】。
保存成功仅表示参数已保存,仍需通过小程序端实际测试,确认代币购买、代币扣减和订单支付流程正常。
四、测试与正式上线
1. 确认小程序版本
确认小程序前端已更新至支持虚拟支付的版本。首次接入或当前版本较旧时,请重新上传小程序,通过体验版验证功能,再按微信流程提交审核并发布。
**上传小程序不等于正式发布。** 面向用户开放前,应确认线上运行的是已发布的新版本。
2. 验证完整支付流程
使用测试账号,在微信支持的测试终端和环境下进行验证:
| 检查环节 | 预期结果 |
|---|---|
| 发起代币购买 | 正常进入支付页面,金额、代币名称和数量正确 |
| 完成代币购买 | 支付成功后,代币余额正确更新 |
| 使用代币支付订单 | 完成知识付费订单支付,扣减数量正确 |
| 查看订单 | 订单状态正确更新为已支付或对应完成状态 |
| 使用已购内容 | 正常访问或使用已购买的内容 |
| 取消支付 | 订单、代币余额及内容权限不应被错误更新 |
代币购买成功后,请按小程序页面提示继续完成商品订单支付,并检查订单最终状态。
3. 切换正式环境
正式上线前,请完成以下检查:
- 微信公众平台虚拟支付已开通,相关配置已生效。
- 知识付费8.0后台已选择【现网环境】。
- 现网 AppKey、OfferID、代币名称及兑换比例填写正确。
- 小程序已发布支持虚拟支付的版本。
- 使用平台允许的小额金额完成一次真实交易,确认代币到账、订单支付和内容权限均正常。
> 沙箱环境用于支持该环境的联调测试,不能代替正式环境验证。不同终端的测试方式及支付限制,以微信官方当前说明为准。
五、常见问题
1. 已经配置普通微信支付,还需要配置虚拟支付吗?
需要。普通微信支付与微信小程序虚拟支付属于不同的支付能力。
知识付费8.0采用代币支付方式时,需要单独开通虚拟支付,并填写对应的OfferID、AppKey及代币信息。
2. 用户每次购买知识付费产品,都需要先购买代币吗?
不一定。
代币余额充足时,可以直接使用已有代币支付订单;余额不足时,需要先购买代币,再按页面提示完成订单支付。
3. 购买代币成功,是否代表课程已经购买成功?
需要以课程订单的实际状态为准。
购买代币与支付课程订单是两个业务环节。购买代币成功后,还需确认课程订单已完成代币扣减并更新为已支付状态,才能确认对应内容已购买成功。
4. 为什么微信公众平台找不到虚拟支付入口,或无法申请开通?
请先检查是否登录了正确的小程序账号,并确认小程序认证状态、主体信息、服务类目及账号权限。
如果仍无法开通,请根据微信公众平台提示补充资料,或联系微信平台咨询具体原因。
5. 代币名称或兑换比例与微信后台不一致,会有什么影响?
可能导致页面展示、金额换算或支付校验异常,影响用户购买和订单支付。
请核对两端配置,并按一致的代币名称和兑换比例保存。调整后重新验证代币购买和订单支付流程。
6. 小程序提示支付失败、参数错误或签名错误,怎么办?
建议依次检查:
(1)微信虚拟支付是否已完成开通,代币配置是否已生效。
(2)OfferID是否填写正确,是否属于当前小程序。
(3)当前选择的环境是否正确,对应AppKey是否填写无误。
(4)参数中是否存在多余空格、换行或缺失字符。
(5)当前小程序是否为支持虚拟支付的新版本。
可退出并重新进入小程序后再试。若仍失败,请记录报错内容、发生时间、手机系统及微信版本,联系技术支持排查。
7. 用户已经付款,但代币未到账或订单仍显示未支付,怎么办?
先区分异常发生在哪个环节:
| 异常情况 | 排查方向 |
|---|---|
| 已付款,代币未到账 | 核对代币购买记录、付款结果及到账处理情况 |
| 代币已到账,商品订单未支付 | 确认是否已继续完成商品订单支付,以及余额是否足够 |
| 代币已扣减,商品订单仍未支付 | 联系技术支持核查代币扣减记录和订单状态 |
| 商品订单已支付,内容无法使用 | 联系技术支持核查已购内容权限 |
可先重新进入小程序查看最新状态。若异常仍存在,请保留付款凭证、相关订单号、付款时间及异常截图,联系技术支持处理,避免在结果未确认前反复付款。
8. 保存配置后,为什么小程序仍显示旧的支付方式?
请确认小程序是否已更新并发布支持虚拟支付的版本,以及当前打开的是否为正确的小程序。
仅修改后台参数,不代表小程序前端代码已同步更新。需要更新前端时,请重新上传、审核并发布,再重新进入小程序验证。
9. Android和iPhone是否都能按相同步骤测试?
不能仅凭一端测试成功就判断所有终端均可用。
不同终端的支付权限、客户端版本要求和沙箱支持情况可能不同。请按微信官方说明,并结合当前系统版本的支持情况,分别验证目标终端。
10. 虚拟支付是否收取手续费?退款如何处理?
费率、结算周期及支付渠道规则,以微信公众平台展示和签约协议为准。
退款需区分“退回商品订单消耗的代币”和“退还购买代币时支付的款项”。两者含义不同,不能将退回代币直接理解为现金原路退回;具体操作以当前系统支持的售后功能和微信平台规则为准。