认证
使用包含MANAGE_PAYMENT 的 Fluz 用户 Bearer 访问令牌调用 /api/v1/graphql。这些字段不允许使用 Basic auth。
检测是否需要重新链接
有两个可靠信号:refreshPlaidBankConnections返回verifyMembers。 每个条目标识一个需要修复的连接;使用其platformItemId启动下面的重新链接流程。(参见_管理银行账户消费能力_中的该 mutation。)createPlaidLinkToken失败,并提示No active Plaid connection found for the provided platformItemId.—— 存储的连接已无法重新链接;请引导用户改为进行新的银行链接(参见_链接 Plaid 银行账户_)。
重新链接流程
你需要断开连接所对应的已存储platformItemId。
1. 使用已存储的 platformItemId 创建 Link token
platformItemId 从 identity-service 检索 Plaid 访问令牌,然后请求 identity-service 创建一个 Plaid 的更新模式(update-mode)Link token。访问令牌绝不会返回给调用方。
对于原生重新链接,还需传入 deviceOs 为 IOS 或 ANDROID。
2. 打开 Plaid Link
使用返回的linkToken 初始化 Plaid Link。
3. 完成重新链接
在 Plaid Link 的onSuccess 中,使用 同时包含 publicToken 和相同的 platformItemId 来完成流程。
4. 更新已存储的 platformItemId
如果返回的响应中发生了变更,请更新你已存储的 platformItemId。如果未返回,请为该用户调用 getPlaidBankAccounts,并从该响应中存储持久化的 platformItemId。
使用 Web SDK 进行重新链接
链接 Plaid 银行账户 中的通用startPlaidLink 助手可同时处理两种情况。调用 startPlaidLink(existingPlatformItemId) 可修复断开的连接;调用 startPlaidLink()(不传参数)用于全新的链接。
错误处理
如果createPlaidLinkToken 失败并提示 No active Plaid connection found for the provided platformItemId.,则将已存储的连接视为无法重新链接,并引导用户进行新的银行链接。
如果用户为同一机构开始了新的链接而不是选择重新链接,请将其按正常的新链接完成——identity-service 负责银行账户去重和修复。完成后存储返回的 platformItemId。