获取用户标识(通用认证)
接口说明
对外提供获取用户标识(openId / userId)的重定向式接口。对接方构建签名 URL 引导用户浏览器访问,系统完成第三方 OAuth 后,重定向回对接方回调地址并携带用户标识和签名。
适用场景:对接方需要通过 DaxPay 获取微信 openId / 支付宝 userId / 抖音 openId,用于自有业务(非支付场景)。
请求地址
GET /unipay/open/auth/get-openid
- 认证:RSA 签名(所有参数参与签名)
- 响应:302 重定向(非 JSON)
请求参数
| 参数 | 类型 | 必填 | 最大长度 | 描述 |
|---|---|---|---|---|
| mchNo | string | 是 | 32 | 商户号 |
| appId | string | 否 | 32 | 应用号 |
| authType | string | 是 | 32 | 认证类型(wechat / alipay / douyin) |
| redirectUrl | string | 是 | 500 | 回调地址(获取到用户标识后重定向的目标地址,RESTful 风格,不要拼接 query 参数) |
| channelMchNo | string | 否 | 32 | 通道商户号(微信/抖音场景用于定位通道应用) |
| reqId | string | 是 | 64 | 请求 ID(商户侧生成,参与签名) |
| reqTime | string | 是 | - | 请求时间(北京时间,格式 yyyy-MM-dd HH:mm:ss,参与签名) |
| nonceStr | string | 否 | 32 | 随机数(参与签名) |
| sign | string | 是 | 1024 | 商户签名(使用商户私钥签名,所有非空参数按 ASCII 字典序排列) |
请求示例
GET /unipay/open/auth/get-openid?mchNo=M200000001&appId=APP001&authType=wechat&redirectUrl=https%3A%2F%2Fwww.merchant.com%2Fcallback&reqId=REQ20241201020&reqTime=2024-12-01+12%3A00%3A00&nonceStr=abc123&sign=Base64签名值响应方式
第一步:302 重定向到第三方 OAuth
验签通过后,系统返回 302 重定向到第三方(微信/支付宝/抖音)的 OAuth 授权页面。
第二步:OAuth 回调
用户授权后,第三方回调到 /unipay/open/auth/callback?code=xxx&state=authToken,系统用 code 换取用户标识。
第三步:302 重定向到对接方回调地址
系统将用户标识和签名拼接为 query 参数,302 重定向到对接方的 redirectUrl:
https://www.merchant.com/callback?return_code=10000&return_msg=成功&openid=oUpF8uMuAJO_M2pxb1Q9zNjWeS6o&sign=Base64签名值回调参数
重定向到对接方 redirectUrl 时携带的参数:
| 参数 | 类型 | 描述 |
|---|---|---|
| return_code | string | 状态码:10000=成功,10001=失败 |
| return_msg | string | 状态描述 |
| openid | string | 用户标识(微信/抖音场景返回) |
| userid | string | 用户标识(支付宝场景返回) |
| sign | string | 平台签名(对接方使用平台公钥验签) |
成功回调示例
https://www.merchant.com/callback?return_code=10000&return_msg=成功&openid=oUpF8uMuAJO_M2pxb1Q9zNjWeS6o&sign=953A3CE8C278BB7A8BA277419724C3FD失败回调示例
https://www.merchant.com/callback?return_code=10001&return_msg=获取openId失败&sign=...三通道说明
| authType | 认证方式 | 配置来源 | 返回标识 |
|---|---|---|---|
| 公众号 OAuth(snsapi_base 静默授权) | 商户通道绑定的微信应用(WxAppFacade 解析) | openid | |
| alipay | auth_base 静默授权 | 平台级支付宝配置(PlatformAlipayAuthConfig) | userid |
| douyin | H5 silent_auth 静默授权 | 商户通道绑定的抖音应用(DouyinDirectApp) | openid |
抖音限制
抖音 silent_auth 仅在抖音 App 内 WebView 中可用。对接方需确保用户在抖音 App 内打开授权链接。
验签说明
回调参数的签名规则与支付接口一致:
- 参数名按 ASCII 字典序排序
- 空值参数不参与签名
- 使用平台公钥验签
详见 签名说明。