微信小程序虚拟支付(米大师)支付接口大全的使用说明【微信小程序支付系统定制开发电话】midasCancelPay接口:开通了虚拟支付的小游戏,若扣除游戏币的订单号在有效时间内,可以通过本接口取消该笔扣除游戏币的订单。midasGetBalance接口:开通了虚拟支付的小游戏,可以通过本接口查看某个用户的游戏币余额。midasPay接口:开通了虚拟支付的小游戏,可以通过本接口扣除某个用户的游戏币。 由于可能存在接口调用超时或返回系统失败,但是游戏币实际已经扣除的情况,所以当该接口返回系统失败时,可以用相同的bill_no再次调用本接口,直到返回非系统失败为止,不会重复扣款,也可以调用取消支付接口取消本次扣款。midasPresent接口:开通了虚拟支付的小游戏,可以通过该接口赠送游戏币给某个用户。

微信小程序虚拟支付(米大师)支付接口大全的使用说明【微信小程序支付系统定制开发电话:400-000-1280】
wx.requestMidasPayment(Object object)
发起米大师支付
参数
Object object
属性 |
类型 |
默认值 |
是否必填 |
说明 |
支持版本 |
---|
mode |
string |
|
是 |
支付的类型,不同的支付类型有各自额外要传的附加参数。 |
|
env |
number |
0 |
否 |
环境配置 |
|
offerId |
string |
|
是 |
在米大师侧申请的应用 id |
|
currencyType |
string |
|
是 |
币种 |
|
platform |
string |
|
否 |
申请接入时的平台,platform 与应用id有关。 |
|
buyQuantity |
number |
|
否 |
购买数量。mode=game 时必填。购买数量。详见 buyQuantity 限制说明。 |
|
zoneId |
string |
1 |
否 |
分区 ID |
|
success |
function |
|
否 |
接口调用成功的回调函数 |
|
fail |
function |
|
否 |
接口调用失败的回调函数 |
|
complete |
function |
|
否 |
接口调用结束的回调函数(调用成功、失败都会执行) |
|
object.mode 的合法值
object.env 的合法值
object.currencyType 的合法值
object.platform 的合法值
fail 回调函数
参数
Object res
属性 |
类型 |
说明 |
支持版本 |
---|
errMsg |
string |
错误信息 |
|
errCode |
number |
错误码 |
|
res.errCode 的合法值
值 |
说明 |
---|
-1 |
系统失败 |
-2 |
支付取消 |
-15001 |
虚拟支付接口错误码,缺少参数 |
-15002 |
虚拟支付接口错误码,参数不合法 |
-15003 |
虚拟支付接口错误码,订单重复 |
-15004 |
虚拟支付接口错误码,后台错误 |
-15006 |
虚拟支付接口错误码,appId 权限被封禁 |
-15006 |
虚拟支付接口错误码,货币类型不支持 |
-15007 |
虚拟支付接口错误码,订单已支付 |
1 |
虚拟支付接口错误码,用户取消支付 |
2 |
虚拟支付接口错误码,客户端错误, 判断到小程序在用户处于支付中时,又发起了一笔支付请求 |
3 |
虚拟支付接口错误码,Android 独有错误:用户使用 Google Play 支付,而手机未安装 Google Play |
4 |
虚拟支付接口错误码,用户操作系统支付状态异常 |
5 |
虚拟支付接口错误码,操作系统错误 |
6 |
虚拟支付接口错误码,其他错误 |
1000 |
参数错误 |
1003 |
米大师 Portal 错误 |
buyQuantity 限制说明
购买游戏币的时候,buyQuantity 不可任意填写。需满足 buyQuantity * 游戏币单价 = 限定的价格等级。如:游戏币单价为 0.1 元,一次购买最少数量是 10。
有效价格等级如下:
价格等级(单位:人民币) |
---|
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 |
midasCancelPay
开通了虚拟支付的小游戏,若扣除游戏币的订单号在有效时间内,可以通过本接口取消该笔扣除游戏币的订单
正式环境
POST https://api.weixin.qq.com/cgi-bin/midas/cancelpay?access_token=ACCESS_TOKEN
沙箱环境
POST https://api.weixin.qq.com/cgi-bin/midas/sandbox/cancelpay?access_token=ACCESS_TOKEN
参数
参数 |
类型 |
默认值 |
是否必填 |
说明 |
|
---|
openid |
string |
|
是 |
用户唯一标识符 |
|
appid |
string |
|
是 |
小程序 appId |
|
offer_id |
string |
|
是 |
米大师分配的offer_id |
|
ts |
number |
|
是 |
UNIX 时间戳,单位是秒 |
|
zone_id |
string |
|
是 |
游戏服务器大区id,游戏不分大区则默认zoneId ="1",String类型。如过应用选择支持角色,则角色ID接在分区ID号后用"_"连接。 |
|
pf |
string |
|
是 |
平台 安卓:android |
|
user_ip |
string |
|
否 |
用户外网 IP |
|
bill_no |
string |
|
是 |
订单号,业务需要保证全局唯一;相同的订单号不会重复扣款。长度不超过63,只能是数字、大小写字母_- |
*@ |
pay_item |
string |
|
否 |
道具名称 |
|
sig |
string |
|
是 |
以上所有参数(含可选最多9个)+uri+米大师密钥,用 HMAC-SHA256签名,详见 米大师支付签名算法 |
|
access_token |
string |
|
是 |
接口调用凭证 |
|
mp_sig |
string |
|
是 |
以上所有参数(含可选最多11个)+uri+session_key,用 HMAC-SHA256签名,详见 米大师支付签名算法 |
|
返回值
参数 |
类型 |
说明 |
---|
errcode |
number |
错误码 |
errmsg |
number |
错误信息 |
bill_no |
string |
扣除游戏币的订单号 |
errcode 的合法值
值 |
说明 |
---|
0 |
请求成功 |
-1 |
系统繁忙,此时请开发者稍候再试 |
90000 |
订单不存在 |
90009 |
mp_sig签名错误 |
90010 |
用户未登录或登录态已过期 |
90011 |
sig签名错误 |
90014 |
订单已支付确认完成,不允许当前操作 |
90015 |
订单已回退,不允许当前操作 |
90016 |
订单处理中 |
90017 |
没有调用接口的权限 |
90018 |
参数错误 |
POST 数据格式:JSON
{
"openid":"odkx20ENSNa2w5y3g_qOkOvBNM1g",
"appid":"wx1234567",
"offer_id":"12345678",
"ts":1507530737,
"zone_id":"1",
"pf":"android",
"bill_no":"BillNo_123",
"sig":"8bd582a6b06e38a1346fc335ebcb11c8990241bbe23118eb3d22f0ef42870a6a",
"mp_sig":"2651b0ee9cc7e7e1791de388d34c4d0357936e9ab7b8a9db9ba7b0537208f72b"
}
midasGetBalance
开通了虚拟支付的小游戏,可以通过本接口查看某个用户的游戏币余额
正式环境
POST https://api.weixin.qq.com/cgi-bin/midas/getbalance?access_token=ACCESS_TOKEN
沙箱环境
POST https://api.weixin.qq.com/cgi-bin/midas/sandbox/getbalance?access_token=ACCESS_TOKEN
参数
参数 |
类型 |
默认值 |
是否必填 |
说明 |
---|
openid |
string |
|
是 |
用户唯一标识符 |
appid |
string |
|
是 |
小程序 appId |
offer_id |
string |
|
是 |
米大师分配的offer_id |
ts |
number |
|
是 |
UNIX 时间戳,单位是秒 |
zone_id |
string |
|
是 |
游戏服务器大区id,游戏不分大区则默认zoneId ="1",String类型。如过应用选择支持角色,则角色ID接在分区ID号后用"_"连接。 |
pf |
string |
|
是 |
平台 安卓:android |
user_ip |
string |
|
否 |
用户外网 IP |
sig |
string |
|
是 |
以上所有参数(含可选最多7个)+uri+米大师密钥,用 HMAC-SHA256签名,详见 米大师支付签名算法 |
access_token |
string |
|
是 |
接口调用凭证 |
mp_sig |
string |
|
是 |
以上所有参数(含可选最多9个)+uri+session_key,用 HMAC-SHA256签名,详见 米大师支付签名算法 |
返回值
参数 |
类型 |
说明 |
---|
errcode |
number |
错误码 |
errmsg |
number |
错误信息 |
balance |
number |
游戏币个数(包含赠送) |
gen_balance |
number |
赠送游戏币数量(赠送游戏币数量) |
first_save |
boolean |
是否满足历史首次充值 |
save_amt |
number |
累计充值金额的游戏币数量 |
save_sum |
number |
历史总游戏币金额 |
cost_sum |
number |
历史总消费游戏币金额 |
present_sum |
number |
历史累计收到赠送金额 |
errcode 的合法值
值 |
说明 |
---|
0 |
请求成功 |
-1 |
系统繁忙,此时请开发者稍候再试 |
90009 |
mp_sig签名错误 |
90010 |
用户未登录或登录态已过期 |
90011 |
sig签名错误 |
90017 |
没有调用接口的权限 |
90018 |
参数错误 |
first_save 的合法值
POST 数据格式:JSON
{
"openid":"odkx20ENSNa2w5y3g_qOkOvBNM1g",
"appid":"wx1234567",
"offer_id":"12345678",
"ts":1507530737,
"zone_id":"1",
"pf":"android",
"sig":"d1f0a41272f9b85618361323e1b19cd8cb0213f21b935aeaa39c160892031e97",
"mp_sig":"ff4c5bb39dea1002a8f03be0438724e1a8bcea5ebce8f221f9b9fea3bcf3bf76"
}
midasPay
开通了虚拟支付的小游戏,可以通过本接口扣除某个用户的游戏币。 由于可能存在接口调用超时或返回系统失败,但是游戏币实际已经扣除的情况,所以当该接口返回系统失败时,可以用相同的bill_no再次调用本接口,直到返回非系统失败为止,不会重复扣款,也可以调用取消支付接口取消本次扣款。
正式环境
POST https://api.weixin.qq.com/cgi-bin/midas/pay?access_token=ACCESS_TOKEN
沙箱环境
POST https://api.weixin.qq.com/cgi-bin/midas/sandbox/pay?access_token=ACCESS_TOKEN
参数
参数 |
类型 |
默认值 |
是否必填 |
说明 |
|
---|
openid |
string |
|
是 |
用户唯一标识符 |
|
appid |
string |
|
是 |
小程序 appId |
|
offer_id |
string |
|
是 |
米大师分配的offer_id |
|
ts |
number |
|
是 |
UNIX 时间戳,单位是秒 |
|
zone_id |
string |
|
是 |
游戏服务器大区id,游戏不分大区则默认zoneId ="1",String类型。如过应用选择支持角色,则角色ID接在分区ID号后用"_"连接。 |
|
pf |
string |
|
是 |
平台 安卓:android |
|
user_ip |
string |
|
否 |
用户外网 IP |
|
amt |
number |
|
是 |
扣除游戏币数量,不能为 0 |
|
bill_no |
string |
|
是 |
订单号,业务需要保证全局唯一;相同的订单号不会重复扣款。长度不超过63,只能是数字、大小写字母_- |
*@ |
pay_item |
string |
|
否 |
道具名称 |
|
app_remark |
string |
|
否 |
备注。会写到账户流水 |
|
sig |
string |
|
是 |
以上所有参数(含可选最多11个)+uri+米大师密钥,用 HMAC-SHA256签名,详见 米大师支付签名算法 |
|
access_token |
string |
|
是 |
接口调用凭证 |
|
mp_sig |
string |
|
是 |
以上所有参数(含可选最多13个)+uri+session_key,用 HMAC-SHA256签名,详见 米大师支付签名算法 |
|
返回值
参数 |
类型 |
说明 |
---|
errcode |
number |
错误码 |
errmsg |
number |
错误信息 |
bill_no |
string |
订单号,有效期是 48 小时 |
balance |
number |
预扣后的余额 |
used_gen_balance |
number |
本次扣的赠送币的余额 |
errcode 的合法值
值 |
说明 |
---|
0 |
请求成功 |
-1 |
系统繁忙,此时请开发者稍候再试 |
90009 |
mp_sig签名错误 |
90010 |
用户未登录或登录态已过期 |
90011 |
sig签名错误 |
90012 |
订单已存在 |
90013 |
余额不足 |
90017 |
没有调用接口的权限 |
90018 |
参数错误 |
POST 数据格式:JSON
{
"openid":"odkx20ENSNa2w5y3g_qOkOvBNM1g",
"appid":"wx1234567",
"offer_id":"12345678",
"ts":1507530737,
"zone_id":"1",
"pf":"android",
"amt":123,
"bill_no":"BillNo_123",
"sig":"f705c7351830125282ffc6d3c22c81db19b50a748f60f7c8f267e59152941d83",
"mp_sig":"168704ac52eea6da27e0d76fd659cd8d628457dd680459a57365e17c0f40de4a"
}
midasPresent
开通了虚拟支付的小游戏,可以通过该接口赠送游戏币给某个用户。
正式环境
POST https://api.weixin.qq.com/cgi-bin/midas/present?access_token=ACCESS_TOKEN
沙箱环境
POST https://api.weixin.qq.com/cgi-bin/midas/sandbox/present?access_token=ACCESS_TOKEN
参数
参数 |
类型 |
默认值 |
是否必填 |
说明 |
|
---|
openid |
string |
|
是 |
用户唯一标识符 |
|
appid |
string |
|
是 |
小程序 appId |
|
offer_id |
string |
|
是 |
米大师分配的offer_id |
|
ts |
number |
|
是 |
UNIX 时间戳,单位是秒 |
|
zone_id |
string |
|
是 |
游戏服务器大区id,游戏不分大区则默认zoneId ="1",String类型。如过应用选择支持角色,则角色ID接在分区ID号后用"_"连接。 |
|
pf |
string |
|
是 |
平台 安卓:android |
|
user_ip |
string |
|
否 |
用户外网 IP |
|
bill_no |
string |
|
是 |
订单号,业务需要保证全局唯一;相同的订单号不会重复扣款。长度不超过63,只能是数字、大小写字母_- |
*@ |
present_counts |
number |
|
是 |
赠送游戏币的个数,不能为0 |
|
sig |
string |
|
是 |
以上所有参数(含可选最多9个)+uri+米大师密钥,用 HMAC-SHA256签名,详见 米大师支付签名算法 |
|
access_token |
string |
|
是 |
接口调用凭证 |
|
mp_sig |
string |
|
是 |
以上所有参数(含可选最多11个)+uri+session_key,用 HMAC-SHA256签名,详见 米大师支付签名算法 |
|
返回值
参数 |
类型 |
说明 |
---|
errcode |
number |
错误码 |
errmsg |
number |
错误信息 |
balance |
number |
赠送后的余额 |
bill_no |
string |
赠送游戏币的订单号 |
errcode 的合法值
值 |
说明 |
---|
0 |
请求成功 |
-1 |
系统繁忙,此时请开发者稍候再试 |
90009 |
mp_sig签名错误 |
90010 |
用户未登录或登录态已过期 |
90011 |
sig签名错误 |
90012 |
订单已存在 |
90017 |
没有调用接口的权限 |
90018 |
参数错误 |
POST 数据格式:JSON
{
"openid":"odkx20ENSNa2w5y3g_qOkOvBNM1g",
"appid":"wx1234567",
"offer_id":"12345678",
"ts":1507530737,
"zone_id":"1",
"pf":"android",
"present_counts":233,
"bill_no":"BillNo_123",
"sig":"e53e5241bbb014b3a9fcc221d66fecab8734b53fe94d7a8c65180e175e29f443",
"mp_sig":"39271a12d8d56b0395981a0990a9e75ae239c54f419cb6235399fe70acf8ccfb"
}