Skip to content

获取用户标识(通用认证)

更新时间:2026/9/16 21:53:37

接口说明

对外提供获取用户标识(openId / userId)的重定向式接口。对接方构建签名 URL 引导用户浏览器访问,系统完成第三方 OAuth 后,重定向回对接方回调地址并携带用户标识和签名。

适用场景:对接方需要通过 DaxPay 获取微信 openId / 支付宝 userId / 抖音 openId,用于自有业务(非支付场景)。

请求地址

GET /unipay/open/auth/get-openid

  • 认证:RSA 签名(所有参数参与签名)
  • 响应:302 重定向(非 JSON)

请求参数

参数类型必填最大长度描述
mchNostring32商户号
appIdstring32应用号
authTypestring32认证类型(wechat / alipay / douyin
redirectUrlstring500回调地址(获取到用户标识后重定向的目标地址,RESTful 风格,不要拼接 query 参数)
channelMchNostring32通道商户号(微信/抖音场景用于定位通道应用)
reqIdstring64请求 ID(商户侧生成,参与签名)
reqTimestring-请求时间(北京时间,格式 yyyy-MM-dd HH:mm:ss,参与签名)
nonceStrstring32随机数(参与签名)
signstring1024商户签名(使用商户私钥签名,所有非空参数按 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_codestring状态码:10000=成功,10001=失败
return_msgstring状态描述
openidstring用户标识(微信/抖音场景返回)
useridstring用户标识(支付宝场景返回)
signstring平台签名(对接方使用平台公钥验签)

成功回调示例

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认证方式配置来源返回标识
wechat公众号 OAuth(snsapi_base 静默授权)商户通道绑定的微信应用(WxAppFacade 解析)openid
alipayauth_base 静默授权平台级支付宝配置(PlatformAlipayAuthConfig)userid
douyinH5 silent_auth 静默授权商户通道绑定的抖音应用(DouyinDirectApp)openid

抖音限制

抖音 silent_auth 仅在抖音 App 内 WebView 中可用。对接方需确保用户在抖音 App 内打开授权链接。

验签说明

回调参数的签名规则与支付接口一致:

  1. 参数名按 ASCII 字典序排序
  2. 空值参数不参与签名
  3. 使用平台公钥验签

详见 签名说明

官方网站 · 基于 GNU LGPL v3.0 协议开源