概览
关联流程的目的是建立一个长期令牌(也称为不透明标识符),付款集成商(在我们的系统中设置付款方式的公司)和 Google 均同意通过该令牌代表 Google 用户帐号与集成商用户帐号之间的关联。这种长期有效的令牌称为 Google 付款令牌 (GPT
)。付款方式是用于在 Google 的各种生态系统和购物平台中为服务和商品付款的一种方式。Google 客户可能拥有多种付款方式。
该流程的运作方式
- Google 会协商一个令牌,以表示 Google 客户与集成商用户帐号之间的关联。
- Google 会收集必要的首次设置信息来创建和建立
GPT
。
必须先通过身份验证流程确定身份证明和身份验证。身份验证流程的输出将传递给 associateAccount
方法。然后,关联流程会将 Google 用户帐号与 Google 付款方式相关联。这样就可以设置付款方式,将其用于付款。
以下图表详细说明了关联流程:
关联流程图
下面列出了这些对象及其所代表的含义:
- 用户:希望向其 Google 帐号添加付款方式的人。
- Google 界面:客户用来设置付款方式的 Google 界面。
- 付款集成商界面:客户针对该帐号有权访问的集成商界面(Web 或 Android)。
- Google 服务器:Google 的后端服务器,负责执行身份验证检查并将用户的集成商帐号与
GPT
(Google 付款令牌)相关联。 - 付款集成商服务器:用户拥有帐号的集成商的后端服务器。
这是一种关联流程,在此流程中,Google 令牌将用户的 Google 帐号与其集成商帐号相关联。此流程的运作方式如下。
- 用户在 Google 界面(例如网站或应用界面)中启动该流程。
- Google 界面会向 Google 服务器发送消息,以便为其提供身份验证请求(请求身份验证数据)。
- Google 服务器将身份验证请求 (
authenticationRequest
) 发送回 Google 界面。 - Google 界面可将用户连接到付款集成商界面 (
authenticationRequest
)。 - 系统会提示用户提供身份和凭据。
- 付款集成商界面将响应发送到付款集成商服务器。
- 付款集成商服务器会对响应进行身份验证,并将身份验证响应 (
authenticationResponse
) 发送到付款集成商界面。 - 此身份验证响应会转发到 Google 界面。
- Google 界面向 Google 服务器发送一条消息,以验证来自集成商的响应(设置用户付款方式)。
- Google 服务器通过验证签名来验证响应,然后使用 Google 的
GPT
和关联 ID(authenticationRequestID
、associationID
)将用户的帐号与付款集成商相关联。 - 系统将向 Google 服务器发送一条成功消息。
- 系统会向 Google 界面发送一条成功消息。
- 向用户发送成功消息,说明其付款方式已可供使用。
最佳实践和其他注意事项
多种乐器
集成商必须允许将多个GPT
与单个用户的集成商帐号相关联。例如,如果用户删除其付款方式,并使用同一集成商用户帐号创建新的付款方式,则需要这样做。
两个 Google 客户可以与同一用户的集成商帐号相关联。如果是这种情况,那么每位用户都拥有不同的付款方式。对于每种付款方式,都有一个独立的关联流程和唯一的 GPT
。
安全措施
如果集成商认为用户的集成商帐号遭到了帐号盗用,则可以拒绝该帐号的新关联,并且已经关联的现有付款方式可能会在日后购买时返回拒绝代码。
GPT 有效期
GPT
应长期有效,默认情况下没有到期时间。Google 强烈建议您使用不会过期的 GPT
。这样就可以为用户提供不间断的购买体验。
对于不支持无失效日期的令牌的集成商,集成商可以通过 associateAccount
方法的 tokenExpirationTime
字段提供失效时间。一旦令牌即将过期,Google 就会引导用户完成刷新令牌流程,以延长令牌的有效期。
其他标识码
除了 GPT
之外,系统还会在关联期间交换其他标识符。下面列出了这些类型,并附上了更多信息的链接。
AssociationId
:Google 定义的公开令牌,用于标识客户在 Google 的帐号与付款方式之间的关联。虽然GPT
仅用于服务器到服务器请求,但AssociationId
是等效的客户端。(请参阅术语表条目以了解详情)。AccountId:
:供应商定义的标识符(通常为账号),用于发现欺诈行为和了解帐号关系。Google 的客户运营代理也使用这些信息来识别客户问题,然后帮助诊断客户问题。(请参阅术语表条目以了解详情)。AccountNickname
(或fullAccountNickname
):供应商用于标识其客户的字符串。它也用于显示目的。供应商会出于 SPII 遮盖AccountNickname
,而不遮盖fullAccountNickname
。