小游戏微信支付流程
1.开通小程序微信支付
2.申请开通小游戏虚拟支付
3.开通米大师,申请id
注:目前小游戏虚拟支付能力只支持在安卓Android系统内使用,暂不开放苹果iOS系统内虚拟支付功能。提交审核时注意隐藏,ios不允许出现任何充值字眼。
商品定价时固定的,可以根据下表调整:
价格等级 | 单位 |
---|---|
1 | 元 |
3 | 元 |
6 | 元 |
8 | 元 |
12 | 元 |
18 | 元 |
25 | 元 |
30 | 元 |
40 | 元 |
45 | 元 |
50 | 元 |
60 | 元 |
68 | 元 |
73 | 元 |
78 | 元 |
88 | 元 |
98 | 元 |
108 | 元 |
118 | 元 |
128 | 元 |
148 | 元 |
168 | 元 |
188 | 元 |
198 | 元 |
328 | 元 |
648 | 元 |
商品获取及支付流程
1.商品中心通过"v1/front-common/commodity/list"接口获取商品列表,根据相应的sceneid场景ID返回对应的商品。
2.返回的数组对象中包括,价格,调用微信支付要用这个参数(price),类型,创建订单购买要用到这个参数(commodityPackGroupId),名称(name)。
3.用price价格给米大师充值,用commodityPackGroupId创建订单扣款,返回支付成功后不会返回获得商品信息,只会返回成功,下单时客户端可记录当前购买的商品,返回成功后显示奖励,有MQ就等通知刷新道具数量,没MQ主动请求服务器刷新。
调用支付范例
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
wx.requestMidasPayment({
mode: 'game',
offerId: _offerid,//在米大师侧申请的应用 id
env: _env,//沙盒还是正式环境
buyQuantity: payHandler.buyQuantity,//支付金额
platform: "android",
zoneId: “1”,//默认1,分区id
currencyType: 'CNY',
success() {
// 支付成功
payHandler.success();
Toasts.show("支付成功",2);
},
fail({ errMsg, errCode }) {
// 支付失败
console.log(errMsg, errCode)
Toasts.show("支付失败",2);
payHandler.fail(errMsg, errCode);
}
});
支付流程
向米大师查询用户余额->余额足够->创建订单成功—>购买接口->返回购物成功,弹奖励窗口
余额不足->客户端调wx.requestMidasPayment充值,充值成功->创建订单—>购买接口->获得奖励
流程图
微服务查询接口:“v1/trader-pay/tradercenter/midas/getbalance”
下单接口:“pay/generalcreateorder”
购买接口:“v1/trader-pay/tradercenter/midas/midasPay”