# midas.getBalance
本接口应在服务器端调用,详细说明参见服务端 API。
本接口支持云调用。需开发者工具版本 >=
1.02.1904090(最新稳定版下载),wx-server-sdk>=0.4.0
获取游戏币余额。开通了虚拟支付的小游戏,可以通过本接口查看某个用户的游戏币余额
调用方式:
# HTTPS 调用
# 正式环境
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
# 请求参数 - Query
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| access_token / cloudbase_access_token | string | 是 | 接口调用凭证 |
# 请求参数 - Body
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| 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 签名,详见 签名计算算法 |
# 返回值
# Object
返回的 JSON 数据包
| 属性 | 类型 | 说明 |
|---|---|---|
| errcode | number | 错误码 |
| errmsg | string | 错误信息 |
| balance | number | 游戏币个数(包含赠送) |
| gen_balance | number | 赠送游戏币数量(赠送游戏币数量) |
| first_save | boolean | 是否满足历史首次充值 |
| save_amt | number | 累计充值金额的游戏币数量 |
| save_sum | number | 历史总游戏币金额 |
| cost_sum | number | 历史总消费游戏币金额 |
| present_sum | number | 历史累计收到赠送金额 |
errcode 的合法值
| 值 | 说明 | 最低版本 |
|---|---|---|
| 0 | 请求成功 | |
| -1 | 系统繁忙,此时请开发者稍候再试 | |
| 90010 | 用户未登录或登录态已过期 | |
| 90011 | sig 签名错误 | |
| 90017 | 没有调用接口的权限 | |
| 90018 | 参数错误 |
first_save 的合法值
| 值 | 说明 | 最低版本 |
|---|---|---|
| 1 | 满足 | |
| 2 | 不满足 |
# POST 数据格式:JSON
{
"openid":"odkx20ENSNa2w5y3g_qOkOvBNM1g",
"appid":"wx1234567",
"offer_id":"12345678",
"ts":1507530737,
"zone_id":"1",
"pf":"android",
"sig":"d1f0a41272f9b85618361323e1b19cd8cb0213f21b935aeaa39c160892031e97",
}
# 云调用
云调用是微信云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过
wx-server-sdk使用。
# 正式环境
openapi.midas.getBalance
# 沙箱环境
openapi.midas.getBalanceSandbox
需在
config.json中配置midas.getBalanceAPI 的权限,详情
# 请求参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| openid | string | 是 | 用户唯一标识符 | |
| appid | string | 是 | 小程序 appId | |
| offerId | string | 是 | 米大师分配的 offer_id | |
| ts | number | 是 | UNIX 时间戳,单位是秒 | |
| zoneId | string | 是 | 游戏服务器大区 id,游戏不分大区则默认 zoneId ="1",String 类型。如过应用选择支持角色,则角色 ID 接在分区 ID 号后用"_"连接。 | |
| pf | string | 是 | 平台 安卓:android | |
| userIp | string | 否 | 用户外网 IP | |
| sig | object | 是 | 签名,可使用 cloud.signature 方法计算 |
# 返回值
# Object
返回的 JSON 数据包
| 属性 | 类型 | 说明 |
|---|---|---|
| errCode | number | 错误码 |
| errMsg | string | 错误信息 |
| balance | number | 游戏币个数(包含赠送) |
| genBalance | number | 赠送游戏币数量(赠送游戏币数量) |
| firstSave | boolean | 是否满足历史首次充值 |
| saveAmt | number | 累计充值金额的游戏币数量 |
| saveSum | number | 历史总游戏币金额 |
| costSum | number | 历史总消费游戏币金额 |
| presentSum | number | 历史累计收到赠送金额 |
errCode 的合法值
| 值 | 说明 | 最低版本 |
|---|---|---|
| 0 | 成功 |
firstSave 的合法值
| 值 | 说明 | 最低版本 |
|---|---|---|
| 1 | 满足 | |
| 2 | 不满足 |
# 异常
# Object
抛出的异常
| 属性 | 类型 | 说明 |
|---|---|---|
| errCode | number | 错误码 |
| errMsg | string | 错误信息 |
errCode 的合法值
| 值 | 说明 | 最低版本 |
|---|---|---|
| -1 | 系统繁忙,此时请开发者稍候再试 | |
| 90010 | 用户未登录或登录态已过期 | |
| 90011 | sig 签名错误 | |
| 90017 | 没有调用接口的权限 | |
| 90018 | 参数错误 |
# SDK 调用示例
// cloud = require('wx-server-sdk')
// ...
// 方法返回 Promise
cloud.openapi.midas.getBalance({
openid: OPENID,
appid: APPID,
offerId: 11111111111,
ts: parseInt(+new Date() / 1000),
zoneId: '1',
pf: 'android',
sig: cloud.signature({
type: 'midas',
params: ['openid', 'appid', 'offerId', 'ts', 'zoneId', 'pf'],
secret: 'xxxxxxxxxxxx',
}),
});