wx.requestVirtualPayment(Object object)
基础库 2.19.2 开始支持,低版本需做兼容处理。
以 Promise 风格 调用:不支持
小程序插件:不支持
功能描述
发起米大师虚拟支付
参数
Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 |
| signData | Object | | 是 | 具体支付参数见signData, 该参数需以string形式传递, 例如signData: '{"offerId":"123","buyQuantity":1,"env":0,"currencyType":"CNY","productId":"testproductId","goodsPrice":10,"outTradeNo":"xxxxxx","attach":"testdata"}' |
| | 结构属性 | 类型 | 默认值 | 必填 | 说明 | | offerId | string | | 是 | 在米大师侧申请的应用 id, mp-支付基础配置中的offerid | | buyQuantity | number | | 是 | 购买数量 | | env | number | | 否 | 环境配置, 0 米大师正式环境, 1 米大师沙箱环境, 默认为 0 | | currencyType | string | | 是 | 币种 | | | | productId | string | | 否 | 道具ID, **该字段仅mode=short_series_goods时需要必填** | | goodsPrice | number | | 否 | 道具单价(分), **该字段仅mode=short_series_goods时需要必填**, 用来校验价格与后台道具价格是否一致, 避免用户在业务商城页看到的价格与实际价格不一致导致投诉 | | outTradeNo | string | | 是 | 业务订单号, 每个订单号只能使用一次, 重复使用会失败(极端情况不保证唯一, 不建议业务强依赖唯一性). 要求8-32个字符内, 只能是数字、大小写字母、符号 _-|*@组成, 不能以下划线(_)开头 | | attach | string | | 是 | 透传数据, 发货通知时会透传给开发者 |
|
| mode | string | | 是 | 支付的类型, 不同的支付类型有各自额外要传的附加参数 |
| 合法值 | 说明 | short_series_goods | 道具直购 | short_series_coin | 代币充值 |
|
| paySig | string | | 是 | 支付签名, 详见《签名详解》 |
| signature | string | | 是 | 用户态签名, 详见《签名详解》 |
| success | function | | 否 | 接口调用成功的回调函数 |
| fail | function | | 否 | 接口调用失败的回调函数 |
| complete | function | | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object res
属性 | 类型 | 说明 |
errMsg | string | 调用成功信息 |
object.fail 回调函数
参数
Object err
属性 | 类型 | 说明 |
errMsg | string | 错误信息 |
errCode | number | 错误码 |
错误
错误码 | 错误信息 | 说明 |
1001 | | 参数错误 |
-1 | | 支付失败 |
-2 | | 支付取消 |
-4 | | 风控拦截 |
-5 | | 开通签约结果未知 |
-15001 | | 参数错误,具体原因见err_msg |
-15002 | | outTradeNo重复使用,请换新单号重试 |
-15003 | | 系统错误 |
-15004 | | currencyType错误,目前只能填CNY |
-15005 | | 用户态签名signature错误 |
-15006 | | 支付签名paySig错误 |
-15007 | | session_key过期 |
-15008 | | 二级商户进件未完成 |
-15009 | | 代币未发布 |
-15010 | | 道具productId未发布 |
-15011 | | 现网版本的env只能是0,不能填1(沙盒环境) |
-15012 | | 调用米大师失败导致关单,请换新单号重试 |
-15013 | | goodsPrice道具价格错误 |
-15014 | | 道具/代币发布未生效,禁止下单,大概10分钟后生效 |
-15016 | | signData格式有问题 |
-15017 | | 此商家涉嫌违规,收款功能已被限制,暂无法支付。商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
-15018 | | 代币或者道具productId审核不通过 |
-15019 | | 调微信报商户受限,商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
-15020 | | 操作过快,请稍候再试 |
-15021 | | 小程序被限频交易 |
注意事项:
- 目前只有 >= v2.19.2 的基础库支持该接口,后续将对更多低版本基础库支持该接口。因此建议开发者这样判断:当前用户的基础库版本 >= v2.19.2 时可以直接用 wx.requestVirtualPayment,小于 v2.19.2 时,用 wx.canIUse('requestVirtualPayment') 来判断接口是否可用。具体判断方法可参考示例代码。
示例代码