# 退回扣除游戏币

接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南

接口英文名:pay_v2.cancelPay

本接口开通了虚拟支付的小游戏可用。

若扣除游戏币的订单在有效时间内,可以通过本接口退回原扣除订单的全部或者部分游戏币。

若部分退,可以支持多次发起,总额不超过即可。

# 1. 调用方式

# HTTPS 调用

POST https://api.weixin.qq.com/wxa/game/cancelpay?access_token=ACCESS_TOKEN&signature=SIGNATURE&sig_method=SIG_METHOD&pay_sig=PAY_SIG

# 云调用

  • 调用方法:wxa.game.cancelPay

  • 出入参和 HTTPS 调用相同,调用方式可查看 云调用 说明文档。

# 第三方调用

  • 本接口不支持第三方平台调用。

# 2. 请求参数

# 查询参数 Query String Parameters

参数名类型必填说明
access_tokenstring接口调用凭证,可使用 access_token
signaturestring用户登录态签名
sig_methodstring用户登录态签名的哈希方法,只支持 hmac_sha256,请传入"hmac_sha256"
pay_sigstring支付请求签名(pay_sig)算法说明

# 请求体 Request Payload

参数名类型必填说明枚举
openidstring用户唯一标识符-
offer_idstring支付应用 ID(OfferId)-
tsnumber当前 UNIX 时间戳(请尽可能确保时间准确),单位:秒 如:1668136271-
zone_idstring已发布的分区 ID(MP-分区配置-分区 ID);需要和 env 对应-
envnumber环境配置枚举值
user_ipstring用户外网 ip-
amountnumber本次退回的退游戏币的数量(支持部分、多次退)(新增字段)-
bill_nostring扣除游戏币订单号,业务需要保证全局唯一,相同的订单号多次请求不会重复扣除;长度不超过 63,只能是数字、英文大小写字母及*-的组合;不能以下划线(*)开头(2.0 新增约束)-
pay_bill_nostring扣除游戏币订单号(原 1.0 的 bill_no 字段);与 扣除游戏币 接口中的 bill_no 对应-

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
errcodenumber错误码
errmsgstring错误信息
bill_nostring扣除游戏币订单号
balancenumber扣款后的余额
used_present_amountnumber本次扣的赠送币的数量(原 1.0 的 used_gen_amt)

# 4. 枚举信息

# Body.env Enum

环境配置

枚举值描述
0现网环境(也叫正式环境)
1沙箱环境

# 5. 注意事项

本接口无特殊注意事项

# 6. 代码示例

# 6.1 成功返回

请求示例

{
  "offer_id": "12345678",
  "openid": "oUrsfxxxxxxxxxx",
  "ts": 1668512428,
  "zone_id": "1",
  "env": 0,
  "bill_no": "test_pay_1668512428",
  "amount": 1,
  "payitem": "钻石",
  "remark": "测试"
}

返回示例

{
  "errcode": 0,
  "errmsg": "ok",
  "bill_no": "test_pay_1668512428",
  "balance": 10,
  "used_present_amount": 1
}

# 6.2 错误返回

请求示例

{
  "offer_id": "12345678",
  "openid": "oUrsfxxxxxxxxxx",
  "ts": 1668512428,
  "zone_id": "1",
  "env": 0,
  "bill_no": "test_pay_1668512428",
  "amount": 1,
  "payitem": "钻石",
  "remark": "测试"
}

返回示例

{
  "errcode": 90018,
  "errmsg": "[openid] openid is invalid"
}

# 7. 错误码

以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。

错误码错误描述
-1系统繁忙,此时请开发者稍候再试
0请求成功
90000订单不存在
90010signature 签名错误
90011pay_sig 签名错误
90012订单号重复
90013余额不足
90016sessionkey fail,用户 sessionkey 过期,需要重走登录流程
90018参数错误,具体参数见 errmsg 描述

# 8. 适用范围

本接口支持「小游戏(仅认证)」账号类型调用。其他账号类型如无特殊说明,均不可调用。

点击咨询小助手