发现受支持的能力
使用GET /v3/customers/{customerId}/capabilities/supported 读取该客户当前可用的选项:
directions、method 和 accountType 上与您意图匹配的响应条目。仅当 availability 为 available 或 beta,并且 eligibility.eligible 为 true 时才继续。如果返回了 institutions,请只从该响应中的 ID 中做选择。
将选中的 data[].id 保存为 CAPABILITY_ID。切勿从其他客户或其他环境复制能力 ID。
共享账户 vs 专属账户
银行类能力有两种变体,通过accountType 字段以及能力 ID 后缀(例如 ach_pooled、wire_named)标识:
pooled:共享的 Swipelux 银行账户。每笔入金使用唯一的备注信息进行路由。适用于一次性转账。named:为该客户专属的银行账户信息(虚拟 IBAN、专属 ACH 账户)。可复用,可分享给任何付款方。发行的银行账户必须使用此类型。
pooled。仅在客户需要可复用的银行账户信息时才使用 named。请查看 supported 响应以确认哪些变体可用。
申请能力
使用POST /v3/customers/{customerId}/capabilities/{capabilityId} 申请所选选项:
institutions 数组。
将 data.status 保存为 CAPABILITY_STATUS,data.openTaskIds 保存为 OPEN_TASK_IDS,并将每个 data.applications[].id 保存到 APPLICATION_IDS。
完成当前任务
使用GET /v3/customers/{customerId}/tasks 列出任务,从 OPEN_TASK_IDS 中选择 ID,然后使用 GET /v3/customers/{customerId}/tasks/{taskId} 读取每个当前任务:
data.revision 和 data.requirements。如果它们可能已经变化,请在提交前立即重新拉取任务。
托管操作
当任务返回verificationSessions 或 tosSessions 时,请保存每个会话的 id 和当前的 url。将客户引导到返回的 URL,然后重新读取该任务。这些是任务范围内的操作,而不是独立的客户验证生命周期。
上传文件
当某个要求需要一份文件时,使用POST /v3/customers/{customerId}/documents 上传:
data.id 保存为 DOCUMENT_ID。
API 答案
使用POST /v3/customers/{customerId}/tasks/{taskId}/submissions 针对当前版本提交一份完整的答案集:
在能力就绪时继续
使用GET /v3/customers/{customerId}/capabilities/{capabilityId} 再次读取该能力: