tencent cloud

腾讯云超级应用服务

动态与公告
【2025年1月2日】关于腾讯云小程序平台更名为腾讯云超级应用服务的公告
控制台更新动态
Android SDK 更新动态
iOS SDK 更新动态
Flutter 更新动态
IDE 更新动态
基础库更新动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
按量计费(后付费)
续费指引
停服说明
快速入门
套餐管理
概述
控制台账号管理
存储配置
加速配置
品牌化配置
平台功能
控制台登录
用户和权限体系
小程序管理
小游戏管理
应用管理
商业化
平台管理
用户管理
团队管理
运营管理
安全中心
代码接入指引
Demo 及 SDK 获取
Android
iOS
Flutter
App 服务端接入指南
GUID 生成规则
小程序开发指南
小程序介绍与开发环境
小程序代码组成
指南
框架
组件
API
服务端
JS SDK
基础库
IDE 使用指南
小游戏开发指南
指南
API
服务端
实践教程
小程序登录实践教程
小程序订阅消息实践教程
支付相关实践教程
广告接入实践教程
小游戏订阅消息实践教程
相关协议
数据处理和安全协议

签名以及验签

PDF
聚焦模式
字号
最后更新时间: 2025-12-05 22:40:21

虚拟支付请求验签名算法说明

pay_sig 参数的签名算法,使用 superapp 获取的appKey对支付的请求进行签名,代表请求经过开发者服务端的支付模块发起。签名算法伪代码为:
paySig = to_hex(hmac_sha256(appKey,method + '&' + signData))
import hmac
import hashlib
import urllib.parse

# sign_data 支付原串 注意这里sign_data需要和前端请求参数保持一致,原格式传递(包括空格和回车),建议后台下发,
# appKey
# method
def gen_pay_sig(sign_data, appkey, method):
need_encode_body = method + '&' + sign_data
print(need_encode_body)
return hmac.new(key=appkey.encode('utf-8'), msg=need_encode_body.encode('utf-8'),
digestmod=hashlib.sha256).hexdigest()

虚拟支付回调签名

pay_event_sig 参数的签名算法,使用 superapp 中的虚拟支付秘钥对支付的请求进行签名,代表请求是经过superapp平台发起。签名算法伪代码为:
pay_event_sig = to_hex(hmac_sha256(app_key, event + '&' + payload))
可以参考以下 python 示例中的calc_pay_event_sig实现,其中:
●event 为推送的事件类型
●app_key 为 superapp 配置的虚拟支付秘钥。
●payload 为本次推送的数据,对应 minigame 结构内的 payload,参考具体推送的请求参数说明。

#!/usr/bin/python
# -*- coding: utf-8 -*-
""" PayEventSig签名算法计算示例 """
import hmac
import hashlib
def calc_pay_event_sig(event, payload, app_key):
""" pay_event_sig签名算法
Args:
event - 事件类型 创建订单传入event
payload - 事件对应包体,通知消息中的payload 例如{"OpenId":"to_user_openid","OutTradeNo":"xxxxxxx","WeChatPayInfo":{"MchOrderNo":"xxxxxxx","TransactionId":"xxxxxxx"},"Env":0,"CoinInfo":{"ZoneId":"1","TotalPrice":100,"BuyQuantity":1,"OrigPrice":100}}
app_key - superapp配置的虚拟支付秘钥
Returns:
支付请求签名pay_event_sig
"""
need_sign_msg = event + '&' + payload
pay_sig = hmac.new(key=appkey.encode('utf-8'), msg=need_sign_msg.encode('utf-8'),
digestmod=hashlib.sha256).hexdigest()
return pay_sig

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈