抖音开放平台Logo
控制台

支付签名生成算法
收藏
我的收藏

获取游戏币余额的接口为例

原始请求信息

  1. 支付密钥 key: da8d182e1cashjkulkof6ae22a4a918457
  2. HTTP 请求方式: POST
  3. 请求的 URI: /api/apps/game/wallet/get_balance
  4. 请求参数
{
  "openid": "fge35vh5h3f2",
  "appid": "tthdch45hd2df",
  "zone_id": "1",
  "mp_sig": "d1f0a41272f9b85618361323e1b19cd8cb0213f2",
  "access_token": "hds2rt6bhgh5wfg5nf4gdh6",
  "ts": 1507530737, // 时间戳,单位:秒
  "pf": "android"
}

签名算法

  1. 参与签名请求参数,注意与请求参数保持一致(不同接口参与签名的参数不同,具体以各接口中请求参数为准,所有请求参数除了mp_sig以外都要参与签名生成
{
  "openid": "fge35vh5h3f2",
  "appid": "tthdch45hd2df",
  "zone_id": "1",
  "access_token": "hds2rt6bhgh5wfg5nf4gdh6",
  "ts": 1507530737, // 时间戳,单位:秒
  "pf": "android"
}
  1. 对参与签名的参数按照key=value的格式,并按照参数名 ASCII 字典序升序排序如下:
stringA =
  "access_token=hds2rt6bhgh5wfg5nf4gdh6&appid=tthdch45hd2df&openid=fge35vh5h3f2&pf=android&ts=1507530737&zone_id=1";
  1. 拼接urimethod:(不同接口uri不同,请注意自行替换
stringB=stringA+"&org_loc=/api/apps/game/wallet/get_balance&method=POST"
  1. 把支付密钥作为 key,使用 HMAC-SHA256 得到签名sig=hmac_sha256(key,stringB)
sig=hmac_sha256(key,stringB)
   ="4317496a530d0593fa4365ca87714a12c9e6edd4df1fea5fe1f5e5d6a1781a78"

Bug & Tip

  • Tip: 支付密钥 不可跨小游戏使用,请确认使用的是当前小游戏的密钥。
  • Tip: 支付密钥 不是小游戏的 AppSecret支付密钥 指的是 开发者后台->功能管理->支付->支付设置->签名密钥。

文档评论

登录后可参与评论