获取授权链接
接口说明
用于微信 JSAPI、支付宝生活号、银联云闪付等场景下,获取用户 openId / userId 的 OAuth 授权链接。
业务流程:
- 商户后端调用本接口,获得
authUrl(带会话码)和queryCode。 - 商户前端引导用户浏览器跳转到
authUrl,由通道完成 OAuth 授权。 - 授权完成后,通道回调平台,平台通过
queryCode关联回商户会话。 - 商户通过 授权码认证 或凭
queryCode轮询获取 openId。
这是「取 openId」而非「登录」
本接口用于在支付前获取通道用户标识(openId/userId),不涉及商户系统的登录态。
请求地址
POST /unipay/assist/channel/auth/generate-auth-url
- 认证:RSA 签名(
@PaymentVerify) - 响应:
DaxResult<AuthUrlResult>
请求参数
基础参数同 统一支付 - 基础参数,业务参数:
| 参数 | 类型 | 必填 | 最大长度 | 描述 |
|---|---|---|---|---|
| authType | string | 否 | 32 | 认证类型(wechat/alipay/union_pay/douyin,默认 wechat) |
| product | string | 否 | 32 | 支付产品编码(决定走哪个产品的认证策略;缺失时由 channelMchNo 反查) |
| channelAppId | string | 否 | 128 | 指定认证使用的应用 AppId(优先级高于自动解析,须预先配置) |
| returnPath | string | 否 | 200 | 来源回跳路径(授权完成后前端回跳的目标路径,会随会话码保存) |
| capability | string | 否 | 32 | 支付能力编码(用于解析具体应用:公众号/小程序) |
请求示例
json
{
"mchNo": "M200000001",
"appId": "APP001",
"reqId": "REQ20241201020",
"reqTime": "2024-12-01 12:00:00",
"sign": "Base64签名值",
"authType": "wechat",
"returnPath": "/pay/result"
}响应参数
DaxResult<AuthUrlResult>,data 字段结构:
| 参数 | 类型 | 描述 |
|---|---|---|
| authUrl | string | 授权访问链接(前端跳转到此地址完成授权) |
| queryCode | string | 查询标识码(用于后续 授权码认证 恢复上下文) |
响应示例
json
{
"code": 0,
"msg": "success",
"data": {
"authUrl": "https://open.weixin.qq.com/connect/oauth2/authorize?appid=...&state=...",
"queryCode": "QC20241201020"
},
"sign": "Base64签名值",
"resTime": "2024-12-01T04:00:00Z",
"reqId": "REQ20241201020"
}