腾讯QQ和微信账号体系在对接第三方应用(如游戏、App等)时,常用的参数主要包括以下几类。不同场景下参数略有差异,下面分别列出QQ账号体系和微信账号体系的主要参数及其作用。
一、QQ账号体系主要参数
参数名 | 说明 | 备注 |
---|
openid | 用户在某个应用下的唯一标识 | 重要,常用于用户唯一性 |
access_token | 用户授权后获得的令牌,用于调用QQ开放平台API | 有效期有限 |
refresh_token | 用于刷新access_token | 有效期较长 |
expires_in | access_token的有效期(秒) | |
pay_token | 支付相关的token,部分支付场景需要 | |
pf | 平台标识(如"desktop_m_qq"、"openmobile_android"等) | 用于区分不同平台 |
pfkey | 平台密钥,配合pf使用 | |
unionid | 用户在腾讯开放平台下的唯一标识(同一用户不同应用下相同) | 需申请开通 |
nickname | 用户昵称 | |
figureurl | 用户头像URL | |
gender | 用户性别 | |
is_lost | 是否丢失登录态 | |
二、微信账号体系主要参数
参数名 | 说明 | 备注 |
---|
openid | 用户在某个公众号/小程序/开放平台应用下的唯一标识 | 重要,常用于用户唯一性 |
access_token | 用户授权后获得的令牌,用于调用微信开放平台API | 有效期有限 |
refresh_token | 用于刷新access_token | 有效期较长 |
expires_in | access_token的有效期(秒) | |
unionid | 用户在微信开放平台下的唯一标识(同一用户不同应用下相同) | 需申请开通 |
nickname | 用户昵称 | |
headimgurl | 用户头像URL | |
sex | 用户性别 | |
country | 国家 | |
province | 省份 | |
city | 城市 | |
privilege | 用户特权信息(如微信会员等) | |
language | 用户语言 | |
三、常见场景参数说明
- openid
- unionid
- 需在开放平台申请开通,用户在同一开放平台下的所有应用的唯一标识,便于多应用打通用户体系。
- access_token/refresh_token
- 用于接口调用和授权校验,access_token有时效,refresh_token可刷新。
- pay_token/pf/pfkey
- 用户信息参数
- 如nickname、头像、性别等,用于展示和个性化。
四、典型获取流程
- 用户通过QQ/微信授权登录
- 应用获得code
- 用code换取access_token、openid、refresh_token等
- 用access_token获取用户信息(如昵称、头像等)
- (可选)获取unionid(需开通)
继续补充腾讯QQ和微信账号体系参数的更多细节,特别是支付相关参数、实际开发注意事项、常见问题和安全建议。
3. 支付相关参数说明
3.1 QQ支付体系常见参数
参数名 | 说明 |
---|
openid | 用户唯一标识,支付时必须 |
openkey | 用户登录态票据,部分支付接口需要 |
pay_token | 支付票据,部分支付接口需要 |
pf | 平台标识(如"desktop_m_qq"、"openmobile_android"等) |
pfkey | 平台密钥,配合pf使用 |
session_id | 会话ID,常见如"openid"、"hy_gameid"等 |
session_type | 会话类型,常见如"kp_actoken"、"wc_actoken"等 |
zoneid | 区服ID,游戏多区服时必传 |
appid | 应用ID,区分不同产品 |
sig | 签名,防止参数被篡改 |
说明:
- 这些参数大多由客户端SDK自动生成和传递,服务端需校验。
- pf/pfkey/session_id/session_type等参数主要用于腾讯平台的支付接口,具体含义可参考米大师支付文档。
3.2 微信支付体系常见参数
参数名 | 说明 |
---|
openid | 用户唯一标识,支付时必须 |
appid | 应用ID,区分不同产品 |
mch_id | 商户号,微信支付分配 |
nonce_str | 随机字符串,防止重放攻击 |
sign | 签名,防止参数被篡改 |
prepay_id | 预支付交易会话标识 |
trade_type | 交易类型(如JSAPI、APP等) |
out_trade_no | 商户订单号 |
total_fee | 支付金额(分) |
spbill_create_ip | 终端IP |
notify_url | 支付结果回调通知地址 |
说明:
4. 实际开发注意事项
4.1 openid/unionid的存储与使用
- openid是用户在单一应用下的唯一标识,必须持久化存储,用于用户数据绑定、支付、登录等。
- unionid用于多应用打通,如有多款产品建议优先使用unionid做用户主键。
4.2 access_token/refresh_token的安全
- access_token有时效,不要长期缓存,到期需用refresh_token刷新。
- access_token、refresh_token、pay_token等严禁泄露给前端或第三方,防止被盗用。
4.3 参数校验
- 所有涉及支付、用户身份的参数,服务端都要校验签名,防止被篡改。
- openid、zoneid等关键参数,不要只信任客户端传递,建议服务端二次校验。
4.4 多平台账号打通
- 若支持QQ、微信、手Q等多平台登录,建议建立账号绑定关系表,便于用户多端互通。
5. 常见问题与排查
问题表现 | 可能原因 | 排查建议 |
---|
openid获取不到 | 授权流程有误、code失效 | 检查授权流程、code有效期 |
unionid为空 | 未开通unionid、未绑定开放平台 | 检查开放平台绑定和权限 |
支付失败 | 参数缺失、签名错误、token过期 | 检查参数完整性和签名 |
订单找不到用户 | openid/zoneid传递错误 | 检查参数传递链路 |
6. 安全建议
- 所有敏感参数(如access_token、pay_token、openid)都应加密传输,建议全程HTTPS。
- 服务端必须校验签名,防止参数被篡改。
- 不要在客户端保存敏感token,如access_token、pay_token等。
- 定期检查和更新SDK,防止安全漏洞。
继续补充腾讯QQ和微信账号体系参数的更多细节,特别是支付相关参数、实际开发注意事项、常见问题和安全建议。
3. 支付相关参数说明(续)
3.1 QQ支付体系常见参数
参数名 | 说明 |
---|
openid | 用户唯一标识,支付时必须 |
openkey | 用户登录态票据,部分支付接口需要 |
pay_token | 支付票据,部分支付接口需要 |
pf | 平台标识(如"desktop_m_qq"、"openmobile_android"等) |
pfkey | 平台密钥,配合pf使用 |
session_id | 会话ID,常见如"openid"、"hy_gameid"等 |
session_type | 会话类型,常见如"kp_actoken"、"wc_actoken"等 |
zoneid | 区服ID,游戏多区服时必传 |
appid | 应用ID,区分不同产品 |
sig | 签名,防止参数被篡改 |
说明:
- 这些参数大多由客户端SDK自动生成和传递,服务端需校验。
- pf/pfkey/session_id/session_type等参数主要用于腾讯平台的支付接口,具体含义可参考米大师支付文档。
3.2 微信支付体系常见参数
参数名 | 说明 |
---|
openid | 用户唯一标识,支付时必须 |
appid | 应用ID,区分不同产品 |
mch_id | 商户号,微信支付分配 |
nonce_str | 随机字符串,防止重放攻击 |
sign | 签名,防止参数被篡改 |
prepay_id | 预支付交易会话标识 |
trade_type | 交易类型(如JSAPI、APP等) |
out_trade_no | 商户订单号 |
total_fee | 支付金额(分) |
spbill_create_ip | 终端IP |
notify_url | 支付结果回调通知地址 |
说明:
4. 实际开发注意事项
4.1 openid/unionid的存储与使用
- openid是用户在单一应用下的唯一标识,必须持久化存储,用于用户数据绑定、支付、登录等。
- unionid用于多应用打通,如有多款产品建议优先使用unionid做用户主键。
4.2 access_token/refresh_token的安全
- access_token有时效,不要长期缓存,到期需用refresh_token刷新。
- access_token、refresh_token、pay_token等严禁泄露给前端或第三方,防止被盗用。
4.3 参数校验
- 所有涉及支付、用户身份的参数,服务端都要校验签名,防止被篡改。
- openid、zoneid等关键参数,不要只信任客户端传递,建议服务端二次校验。
4.4 多平台账号打通
- 若支持QQ、微信、手Q等多平台登录,建议建立账号绑定关系表,便于用户多端互通。
5. 常见问题与排查
问题表现 | 可能原因 | 排查建议 |
---|
openid获取不到 | 授权流程有误、code失效 | 检查授权流程、code有效期 |
unionid为空 | 未开通unionid、未绑定开放平台 | 检查开放平台绑定和权限 |
支付失败 | 参数缺失、签名错误、token过期 | 检查参数完整性和签名 |
订单找不到用户 | openid/zoneid传递错误 | 检查参数传递链路 |
6. 安全建议
- 所有敏感参数(如access_token、pay_token、openid)都应加密传输,建议全程HTTPS。
- 服务端必须校验签名,防止参数被篡改。
- 不要在客户端保存敏感token,如access_token、pay_token等。
- 定期检查和更新SDK,防止安全漏洞。