# 微信小游戏服务端API

# 支付服务端

# 公众号支付下单接口

# 请求URL

正式环境: https://hps4gpay.sdo.com/wx/mini/prepare

测试环境: http://hps4gpay.sdo.com/wx/mini/prepare

# 请求方式

POST

# 签名方式

HPS

# 交互流程

# 请求参数

参数 必选 类型 说明
gameOrderNo true string 游戏订单号
ticket true string 用户票据,从客户端getTicket接口获取
appId true string 游戏ID,盛趣分配
areaId true string 区ID
groupId false string 服ID
productId true string 商品ID
extend false string 扩展字段,发货时原样返回
# 响应参数
响应字段名 类型 说明
return_code int 0表示成功
return_message string 返回代码描述信息
data json 业务响应

data:

参数名 类型 说明
resultCode int 错误码
resultMsg string 错误描述
orderToken string 订单上下文
paymentUrl string 支付链接

# 错误码列表

参数名 错误描述 说明
-10242405 服务不存在,请稍后再试 请稍后再试
-10242400 服务错误,请稍后再试 请稍后再试
-10242504 访问超时,请稍后再试 请稍后再试
-10242500 服务内部错误,请稍后再试 请稍后再试
-10242404 网络错误,请确保网络通畅 请稍后再试
-10242488 服务忙,请稍后再试 请稍后再试
-10250013 URL不支持 请联系产品支持人员
-10250016 未授权访问此URL 请联系产品支持人员
-10289401 gameOrderNo为空或格式错误 请确认请求参数
-10289402 ticket为空或格式错误 请确认请求参数
-10289403 appId为空或格式错误 请确认请求参数
-10289404 areaId为空或格式错误 请确认请求参数
-10289405 productId为空或格式错误 请确认请求参数
-10289406 groupId格式错误 请确认请求参数
-10289407 extend格式错误 请确认请求参数
-10289409 无此游戏配置 请联系产品支持人员
-10289410 无此区服配置 请联系产品支持人员
-10289411 无此商品配置 请联系产品支持人员
-10289412 系统异常,请稍后再试 请联系产品支持人员

# 认证服务端

# 登录票据验证接口

# 请求URL

https://login4wxgame.u.sdo.com/server/verifyTicket

# 请求方式

GET

# 签名方式

HPS

# 请求参数

参数 必选 类型 说明
ticket string Y 盛趣小游戏sdk登录票据,从客户端登录接口或客户端getTicket接口获取
appid string Y 游戏ID,盛趣分配
# 响应参数
参数名 类型 说明
code string 错误码
msg int 错误信息
data json 业务响应

data:

参数名 类型 说明
userid string 盛趣用户id
openid string 微信openid
unionid string 微信unionid
session_key string 微信服务端用户session_key,供游戏服务端使用微信相关服务,与用户一一对应,且值会变化,需要独立维护

# 错误码列表

参数名 错误描述 说明
-10403011 Token not exist. 登录票据对应用户登录态失效或者appid不匹配
-10403025 Ticket has expired. 登录票据已失效,请重新登录或者调用getTicket接口获取
-10403027 详见接口响应 多错误描述,接口签名校验失败时返回具体错误原因

# HPS协议及签名方法

# HPS协议接入标准

请求字段名 类型 必填 说明
merchant_name string Y 接入用户名 从接入平台获取
signature_method string Y 签名方法 目前固定MD5
signature string Y 签名 使用签名密钥按照签名算法计算, 签名密钥从接入平台获取
timestamp string Y Unix时间戳 1970年1月1日开始所经过的秒数
xxx 业务参数,见接口具体定义
签名算法: 
按照当前请求参数名的字母序进行升序排列(排序时区分大小写,除 signature 外,其它参数都参与签名),将所有参数-值组合以 key=value 的形式拼成一个新字符串,不同参数值之间没有任何分隔符,最后加上对应的签名密钥 secretKey 进行签名运算。如进行签名运算的串为:key1=value1key2=value2secretKey
1
2

签名算法:

  1. 当前请求参数名的字母序进行升序排列(排序时区分大小写,除 signature参数,其它参数都参与签名,包括公共参数)

  2. 将所有参数-值组合以 key=value 的形式拼成一个新字符串,不同参数值之间没有任何分隔符:key1=value1key2=value2merchant_name=TESTsignature_method=MD5timestamp=1665561412

  3. 最后加上对应的签名密钥 secretKey(此密钥在接入时由支付中心提供商户号时提供一一对应) 后进行MD5哈希运算。如MD5方法的输入的字符串为:key1=value1key2=value2merchantName=TESTsignatureMethod=MD5timestamp=1665561412secretKey,输出为:5470BEA964810777B2984896703FC760

  4. 完整请求即:

https://test.demo.com/api?key1=value1&key2=value2&merchant_name=TEST&signature_method=MD5&timestamp=1665561412&signature=5470BEA964810777B2984896703FC760

Last Updated: 4/28/2024, 9:10:05 AM