抖音开放平台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支付密钥 指的是 开发者后台->功能管理->支付->支付设置->签名密钥。
该文档是否有帮助?