# pay_v2.present
本接口应在服务器端调用,详细说明参见服务端API。
给用户赠送游戏币。本接口开通了虚拟支付的小游戏可用。通过该接口赠送游戏币给某个用户。
调用方式:
# HTTPS 调用
POST https://api.weixin.qq.com/wxa/game/present?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)算法说明 |
# POST 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 | |
amount | number | 是 | 赠送游戏币的个数,不能为0(原present_counts) | |
bill_no | string | 是 | 赠送订单号,业务需要保证全局唯一,相同的订单号多次请求不会重复扣除;长度不超过63,只能是数字、英文大小写字母及_-的组合;不能以下划线(_)开头(2.0新增约束) | |
# 返回值
# Object
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
bill_no | string | 赠送订单号 |
balance | number | 赠送后的余额 |
errcode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
0 | 请求成功 | |
-1 | 系统繁忙,此时请开发者稍候再试 | |
90010 | signature签名错误 | |
90011 | pay_sig签名错误 | |
90012 | 订单已存在 | |
90016 | sessionkey fail,用户sessionkey过期,需要重走登录流程 | |
90018 | 参数错误,具体参数见errmsg描述 |
# cURL请求
curl -d '{
"offer_id": "12345678",
"openid": "oUrsfxxxxxxxxxx",
"ts": 1668512716,
"zone_id": "1",
"env": 0,
"bill_no": "test_present_1668512716",
"amount": 1
}' \
-H "Content-Type: application/json" \
-X POST \
'https://api.weixin.qq.com/wxa/game/present?access_token=62_so84Zyl5MuPCjXGiR3eb1ysa1lr6aRpcprEnNpZ9ds8676ivjqRn5Zroi2Rxxx9-Yvh2zIl9oEt1hIzK0x2OrMCT5zk8nB_TG98obD_ad3tFPftfFmB7xXtcZv4PVPcbFATZT&signature=75ded945d927a1d31d4de40a9ca91e7a59b6022e5db0eb91622a1d79ead888d2&pay_sig=cf5857f56dbcd4900875197712f83ae6d89c66c27347459dd446de35a9e4c955&sig_method=hmac_sha256'
# 成功返回
{
"errcode": 0,
"errmsg": "ok",
"bill_no": "test_present_1668512716",
"balance": 11
}
# 错误返回
{
"errcode":90018,
"errmsg":"[openid] openid is invalid"
}