Skip to main content
创建一个客户,准备一个可复用的钱包,然后跑通您需要的沙盒流程。

1. 配置沙盒

在您的后端使用一个沙盒 API 密钥:
该密钥会在共享 API 主机上选中沙盒环境。

2. 创建客户

使用 POST /v3/customers 创建一个个人客户:
data.id 保存为 CUSTOMER_ID

3. 选择业务结果

  • 入金: 接收 USD 并将 USDC 结算到该客户发行的钱包中。
  • 出金: 将 USDC 从该客户发行的钱包发送到客户名下的银行账户。
  • 发行的银行账户: 发行一个 ACH/USD 账户,并结算到该客户发行的钱包。
如需第三方出金,请参阅收款方发送资金

4. 找到符合条件的能力

使用 GET /v3/customers/{customerId}/capabilities/supported 列出受支持的能力:
选择满足以下条件的响应条目:availabilityavailablebetaeligibility.eligibletruedirectionsmethod 符合需求、并且 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.statusdata.openTaskIds 刷新 CAPABILITY_STATUSTASK_IDS。仅在 CAPABILITY_STATUSready 时才继续。

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.statusdata.openTaskIds 刷新 FLOW_WALLET_STATUSFLOW_WALLET_TASK_IDS。仅在 FLOW_WALLET_STATUSready 时才继续。
使用 POST /v3/quotes 创建一次 USD 转 USDC 的报价:
data.id 保存为 QUOTE_ID,然后使用 POST /v3/transfers 执行该报价:
data.id 保存为 TRANSFER_ID。使用 GET /v3/transfers/{transferId}/instructions 获取入金指令:
响应中包含 data.transferIddata.instructions。将 data.transferId 保存为 TRANSFER_ID,data.instructions 保存为 FUNDING_INSTRUCTIONS
对于入金和出金,使用 GET /v3/transfers/{transferId} 监控 TRANSFER_ID:

入金

构建完整的入金流程。

出金

构建生产环境下的出金处理。

发行的银行账户

处理开通与账户信息。
接下来,添加 Webhook。上述每个请求都已链接到其完整的 API 参考 schema 与状态说明页。