# pay_v2.getBalance
本接口应在服务器端调用,详细说明参见服务端 API。
查询游戏币余额。本接口开通了虚拟支付的小游戏可用。通过本接口查询某个用户的游戏币余额,查询时机可以是用户支付完成,或者用户查看游戏币余额等场景。注意,某些极端情况下,支付完成后可能余额会延迟到账,需要按一定间隔定期查询,并提示用户耐心等待。
调用方式:
# HTTPS 调用
POST https://api.weixin.qq.com/wxa/game/getbalance?access_token=ACCESS_TOKEN&signature=SIGNATURE&sig_method=SIG_METHOD&pay_sig=PAY_SIGNATURE
# 请求参数 - Query
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| access_token | string | 是 | 接口调用凭证 | |
| signature | string | 是 | 用户登录态签名 | |
| sig_method | string | 是 | 用户登录态签名的哈希方法,只支持 hmac_sha256,请传入"hmac_sha256" | |
| pay_sig | string | 是 | 支付请求签名(pay_sig)算法说明 |
# 请求参数 - Body
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| openid | string | 是 | 用户唯一标识符 | |
| offer_id | string | 是 | 支付应用 ID(OfferId) | |
| ts | number | 是 | 当前 UNIX 时间戳(请尽可能确保时间准确),单位:秒 如:1668136271 | |
| zone_id | string | 是 | 已发布的分区 ID(MP-分区配置-分区 ID) 需要和 env 对应 | |
| env | number | 是 | 环境配置 0:现网环境(也叫正式环境) 1:沙箱环境 | |
| user_ip | string | 是 | 用户外网 ip | |
| coin_type | number | 0 | 否 | 代币类型 0: 游戏币 1:充值中心余额(zone_id固定填1) |
# 返回值
# Object
返回的 JSON 数据包
| 属性 | 类型 | 说明 |
|---|---|---|
| errcode | number | 错误码 |
| errmsg | string | 错误信息 |
| balance | number | 游戏币总余额,包括现金充值和赠送部分。 |
| present_balance | number | 赠送账户的游戏币余额(原 1.0 的 gen_balance) |
| sum_save | number | 累计现金充值获得的游戏币数量(原 1.0 的 save_amt) |
| sum_present | number | 累计赠送的游戏币数量(原 1.0 的 present_sum) |
| sum_balance | number | 累计获得的游戏币数量,包括现金充值和赠送(原 1.0 的 save_sum) |
| sum_cost | number | 累计总消耗(即扣除)游戏币数量(原 1.0 的 cost_sum) |
| first_save | bool | 是否满足首充活动标记(原 1.0 的 first_save) |
errcode 的合法值
| 值 | 说明 | 最低版本 |
|---|---|---|
| 0 | 请求成功 | |
| -1 | 系统繁忙,此时请开发者稍候再试 | |
| 90000 | 订单不存在 | |
| 90010 | signature 签名错误 | |
| 90011 | pay_sig 签名错误 | |
| 90016 | sessionkey fail,用户 sessionkey 过期,需要重走登录流程 | |
| 90018 | 参数错误,具体参数见 errmsg 描述 |
# cURL 请求
curl -d '{
"offer_id": "12345678",
"openid": "oUrsfxxxxxxxxxx",
"ts": 1668512543,
"zone_id": "1",
"env": 0
}' \
-H "Content-Type: application/json" \
-X POST \
'https://api.weixin.qq.com/wxa/game/getbalance?access_token=62_so84Zyl5MuPCjXGiR3eb1ysa1lr6aRpcprEnNpZ9ds8676ivjqRn5Zroi2Rxxx9-Yvh2zIl9oEt1hIzK0x2OrMCT5zk8nB_TG98obD_ad3tFPftfFmB7xXtcZv4PVPcbFATZT&signature=c2b4067c3dd55adfc2d1f81a64058888ea3e213e30a349ffadba24dfa749608c&pay_sig=ffebbc921d85997ef9e09839f7dddec1ce1f23691063a76e8d5440caffffae88&sig_method=hmac_sha256'
# 成功返回
{
"errcode": 0,
"errmsg": "ok",
"balance": 11,
"present_balance": 1,
"sum_save": 10,
"sum_present": 1,
"sum_balance": 11,
"sum_cost": 0,
"first_save": false
}
# 错误返回
{
"errcode": 90018,
"errmsg": "[openid] openid is invalid"
}