授权咨询
使用此接口获取用户授权。成功调用此接口后,您可以获取授权链接并将用户重定向到授权链接以同意授权。用户同意授权后,支付方式会将用户重定向回一个重构后的重定向链接,该链接包含 authRedirectUrl、authCode 和 authState 的值。例如,重定向链接可能是:https://www.merchant.com/authorizationResult?authCode=3AB2F588D14B43238637264FCA5AAF35&authState=663A8FA9-D836-48EE-8AA1-1FF682989DC7。
入参
authClientId String
用户授予资源访问权限的二级商户的专属 ID。该值由收单机构指定,需要在 Antom 注册。
注意事项:
- 如果您是具有二级商户的收单机构,请指定此字段。
- 对于 Alipay+ 支付方式,此字段的值与 支付(代扣)接口中 referenceMerchantId 的值相同。
更多信息:
- 最大长度:64 字符
authRedirectUrl URL REQUIRED
在用户同意授权后,用户将被重定向到的跳转链接。此值由商户提供。
更多信息:
- 最大长度:1024 字符
scopes Array<String> REQUIRED
授权作用域。有效值包括:
BASE_USER_INFO
: 表示可以获取专属用户 ID。USER_INFO
: 表示可以获取完整的用户信息,例如用户名、头像和其他用户信息。AGREEMENT_PAY
: 表示用户同意授权代扣,以便商户可以使用访问令牌从用户的账户中自动扣款。
更多信息:
- 最多可包含元素个数:4
authState String REQUIRED
由商户生成的代表咨询请求的专属 ID。此字段与用户同意授权时重定向链接中的字段需要保持一致。
更多信息:
- 最大长度:256 字符
terminalType String REQUIRED
商户服务适用的终端类型。有效值包括:
WEB
: 客户端终端类型为通过网络浏览器打开的网站。WAP
: 客户端终端类型为通过移动浏览器打开的 HTML 页面。APP
: 客户端终端类型为移动应用程序。MINI_APP
: 商户端的终端类型为手机上的小程序。
osType String
操作系统类型。有效值为:
IOS
: 表示操作系统为苹果的 iOS。ANDROID
: 表示操作系统为谷歌的 Android。
注意:当 terminalType 为
APP
、WAP
或MINI_APP
时,此字段是必需的。
osVersion String
操作系统版本。
注意:当 terminalType 的值为
APP
或WAP
且您有此信息时,指定此参数。提供此信息可优化用户的支付体验。
更多信息:
- 最大长度:16 字符
merchantRegion String
商户或二级商户开展业务的国家或地区。此参数遵循 ISO 3166 国家代码 标准,目前仅支持US
,JP
,PK
,SG
。
注意:使用全球收单网关(GAGW)产品时,此字段是必需的。
更多信息:
- 最大长度:2 字符
recurringPayment Boolean
需要发起签约的代扣是否为周期性支付
true
:表示发起签约的代扣是周期性支付。false
:表示发起签约的代扣不是周期性支付。
注意:当签约的支付方式为
PAYPAY
时指定此参数。
出参
result Result REQUIRED
表明此接口是否调用成功。如果接口调用成功,可以获取授权链接。
schemeUrl URL
应用安装完成后,用于在 Android 或 iOS 系统中打开应用的 URL scheme。
注意:当 result.resultCode 的值为S
时,需要返回 schemeUrl、applinkUrl 和 normalUrl 中的至少一个。
更多信息:
- 最大长度:2048 字符
applinkUrl URL
应用安装完成后,将用户重定向到打开应用的链接,或者安装失败时,打开 WAP 页面。对于 Android,该链接是 Native App Link。对于 iOS,该链接是 Universal Link。
注意:当result.resultCode的值为
S
时,需要返回schemeUrl、applinkUrl和normalUrl中的至少一个。
更多信息:
- 最大长度:2048 字符
appIdentifier String
Android 包名,用于在 Android 应用中打开收银台页面。
注意:当 result.resultCode 为
S
且 terminalType 为APP
或WAP
时,此字段会被返回。
更多信息:
- 最大长度:128 字符
normalUrl URL
将用户重定向到默认浏览器或嵌入式 WebView 中的 WAP 或 WEB 页面的链接。
注意:当 result.resultCode 的值为
S
时,需要返回 schemeUrl、applinkUr l和 normalUrl 中的至少一个。
更多信息:
- 最大长度:2048 字符
authCodeForm AuthCodeForm
授权二维码的信息。
注意:当支付方式支持通过扫描二维码进行授权时,此参数将返回。
请求
响应
结果处理逻辑
对于不同的请求结果,需要执行不同的操作。详细信息如下:
- 如果 result.resultStatus 的值为
S
,则响应中的 schemeUrl、applinkUr l或 normalUrl 字段成功获取了授权链接。商户可以将用户重定向到这个链接,让用户同意授权以授予相应的资源访问权限。 - 如果 result.resultStatus 的值为
U
,则接口调用状态未知。您可以再次调用此接口以重试流程。 - 如果 result.resultStatus 的值为
F
,则未能获取授权链接。通常,这可能是由于系统缺陷或系统故障导致的。检查错误代码并采取相应措施,或联系 Antom 技术支持。
结果码
结果码 | 值 | 结果码信息 | 行动建议 |
---|---|---|---|
SUCCESS | S | 成功 | 接口调用成功。从响应中获取 schemeUrl、applinkUrl 或 normalUrl 。 |
ACCESS_DENIED | F | 访问被拒绝。 | 详细原因请咨询 Antom 技术支持。 |
CLIENT_FORBIDDEN_ACCESS_API | F | 客户端无权使用此接口。 | 详细原因请咨询 Antom 技术支持。 |
INVALID_ACCESS_TOKEN | F | 访问令牌已过期、被撤销或不存在。 | 检查 accessToken 是否正确。如果不正确,请输入正确的值。如果正确,请联系 Antom 技术支持以获取详细原因。 |
INVALID_API | F | 调用的接口无效或未激活。 | 请联系 Antom 技术支持解决此问题。 |
INVALID_CLIENT_STATUS | F | 客户端状态无效。 | 详细原因请咨询 Antom 技术支持。 |
INVALID_SIGNATURE | F | 签名验证失败。请求中使用的私钥与 Antom Dashboard 的公钥不匹配。 | |
KEY_NOT_FOUND | F | 找不到 Antom 或商户的私钥或公钥。 | 检查私钥或公钥是否存在。如果不存在,请在 Antom Dashboard 中上传私钥。 |
MERCHANT_NOT_REGISTERED | F | 商户未注册。 | 请使用注册接口注册商户。如果无法调用注册接口,请联系 Antom 技术支持。 |
NO_INTERFACE_DEF | F | 接口未定义。 |
检查链接是否正确。请参考接口文档中的端点。 |
NO_PAY_OPTIONS | F | 该接口不支持此支付方式。 | 检查支付方式是否为 customerBelongsTo 参数的有效值。如果传递的值正确,请联系 Antom 技术支持以获取详细原因。 |
OAUTH_FAILED | F | OAuth 授权流程失败。 | 详细原因请咨询 Antom 技术支持。 |
PARAM_ILLEGAL | F | 缺少必需的参数,或者存在非法参数。例如,非数字输入、无效的日期,或者参数的长度和类型错误。 | 检查并验证当前接口所需的请求字段(包括头部字段和正文字段)是否正确传递并有效。 |
PAYMENT_NOT_QUALIFIED | F | 商户不具备支付资格,可能是因为未注册、未签订自动扣款协议或被禁止支付。 | 请联系 Antom 技术支持以获取详细原因。 |
PROCESS_FAIL | F | 发生了常见的业务失败。 | 获取 Antom 技术支持前请勿重试。 |
RISK_REJECT | F | 因风险控制,请求被拒绝。 | 提示用户请求被拒绝,因为风险控制失败。 |
SYSTEM_ERROR | F | 系统错误发生。 | 获取 Antom 技术支持前请勿重试。 |
UNKNOWN_CLIENT | F | 客户端未知。 | 详细原因请咨询 Antom 技术支持。 |
REQUEST_TRAFFIC_EXCEED_LIMIT | U | 请求流量超过限制。 | 再次调用接口来解决问题。如果问题未解决,请联系 Antom 技术支持。 |
UNKNOWN_EXCEPTION | U | 由于未知原因,接口调用失败。 | 再次调用接口来解决问题。如果问题未解决,请联系 Antom 技术支持。 |