1. 配置沙盒
在您的后端使用一个沙盒 API 密钥:2. 创建客户
使用POST /v3/customers 创建一个个人客户:
data.id 保存为 CUSTOMER_ID。
3. 选择业务结果
- 入金: 接收 USD 并将 USDC 结算到该客户发行的钱包中。
- 出金: 将 USDC 从该客户发行的钱包发送到客户名下的银行账户。
- 发行的银行账户: 发行一个 ACH/USD 账户,并结算到该客户发行的钱包。
4. 找到符合条件的能力
使用GET /v3/customers/{customerId}/capabilities/supported 列出受支持的能力:
availability 为 available 或 beta、eligibility.eligible 为 true、directions 与 method 符合需求、并且 accountType 匹配。将该客户发行的钱包用作入金的目的地、出金的来源或银行账户的结算账户;在本次出金路径中,将客户名下账户用作 destinationId。如果返回了 institutions,则只能使用其中返回的一个机构选项。将该条目的 id 保存为 CAPABILITY_ID;不要硬编码一个通用的能力 ID。
5. 申请该能力
使用POST /v3/customers/{customerId}/capabilities/{capabilityId} 申请所选的能力:
data.status 保存为 CAPABILITY_STATUS,并将 data.openTaskIds 保存为 TASK_IDS。
6. 在沙盒中完成入驻
如果TASK_IDS 非空,请通过能力与任务逐一完成当前的要求。
在本教程中,使用 POST /v3/sandbox/customers/{customerId}/capabilities/{capabilityId}/status 将该能力设为 ready:
GET /v3/customers/{customerId}/capabilities/{capabilityId} 重新拉取:
data.status 和 data.openTaskIds 刷新 CAPABILITY_STATUS 和 TASK_IDS。仅在 CAPABILITY_STATUS 为 ready 时才继续。
7. 构建所选的流程
使用POST /v3/customers/{customerId}/accounts 在 Base 上创建一个发行的 USDC 钱包:
data.id 保存为 FLOW_WALLET_ID,data.status 保存为 FLOW_WALLET_STATUS,data.openTaskIds 保存为 FLOW_WALLET_TASK_IDS。如果 FLOW_WALLET_TASK_IDS 非空,请通过能力与任务完成当前的任务。
使用 GET /v3/customers/{customerId}/accounts/{accountId} 重新拉取该钱包:
data.status 和 data.openTaskIds 刷新 FLOW_WALLET_STATUS 和 FLOW_WALLET_TASK_IDS。仅在 FLOW_WALLET_STATUS 为 ready 时才继续。
- 入金
- 出金
- 发行的银行账户
使用 将 将 响应中包含
POST /v3/quotes 创建一次 USD 转 USDC 的报价:data.id 保存为 QUOTE_ID,然后使用 POST /v3/transfers 执行该报价:data.id 保存为 TRANSFER_ID。使用 GET /v3/transfers/{transferId}/instructions 获取入金指令:data.transferId 和 data.instructions。将 data.transferId 保存为 TRANSFER_ID,data.instructions 保存为 FUNDING_INSTRUCTIONS。GET /v3/transfers/{transferId} 监控 TRANSFER_ID:
入金
构建完整的入金流程。
出金
构建生产环境下的出金处理。
发行的银行账户
处理开通与账户信息。