# 虚拟支付
# 申请开通
# 开通微信支付
主体类型为个体工商户或企业已认证小游戏
开通微信支付
# 开通虚拟支付
# 支付协议签订
确认仔细阅读支付协议并签订同意
# 设置提现账户
用户在小游戏内完成的交易款项经结算后会提现至开发者的银行账户
# 游戏币托管
游戏类目内,游戏币需托管至平台
- 管理员进行授权
- 填写游戏币名称及兑换比例
- 游戏分区配置
- 联调发布
- 应用上线申请提交后需通过审核
# 支付订单查询
开通虚拟支付后,可查询支付订单
# 开发流程
# 接口列表
- [前端]支付接口:wx.requestMidasPayment
- [服务端]获取游戏币余额:
midas.getBalance
- [服务端]扣除游戏币:
midas.pay
- [服务端]取消订单:
midas.cancelPay
- [服务端]给用户赠送游戏币:
midas.present
# 调用时序图
# 签名计算
以查询余额的接口为例
- 原始请求信息
- 米大师密钥:zNLgAGgqsEWJOg1nFVaO5r7fAlIQxr1u
- HTTP 请求方式: POST
- 请求的 URI: /cgi-bin/midas/getbalance
- sig 签名
- 参与米大师签名请求参数
"openid":"odkx20ENSNa2w5y3g_qOkOvBNM1g",
"appid":"wx1234567",
"offer_id":"12345678",
"ts":1507530737,
"zone_id":"1",
"pf":"android"
- 对参与米大师签名的参数按照 key=value 的格式,并按照参数名 ASCII 字典序升序排序如下:
stringA="appid=wx1234567&offer_id=12345678&openid=odkx20ENSNa2w5y3g_qOkOvBNM1g&pf=android&ts=1507530737&zone_id=1"
- 拼接 uri、method 和米大师密钥:
stringSignTemp=stringA+"&org_loc=/cgi-bin/midas/getbalance&method=POST&secret=zNLgAGgqsEWJOg1nFVaO5r7fAlIQxr1u"
- 把米大师密钥作为 key,使用 HMAC-SHA256 得到签名。
sig=hmac_sha256(key,stringSignTemp)
="1ad64e8dcb2ec1dc486b7fdf01f4a15159fc623dc3422470e51cf6870734726b"
PS:密钥即米大师平台上的 AppKey