开始之前
您需要一个客户 ID、一个针对目标支付方式和币种的已就绪银行能力,以及一个属于同一客户的已就绪发行钱包。请通过能力与任务完成所有待办事项。1. 创建或选择结算钱包
通过账户与钱包创建一个发行的钱包,然后再次读取该钱包。仅当其当前状态允许结算时才继续。 将其响应中的data.id 保存为 SETTLEMENT_WALLET_ID。切勿将外部钱包用作 settlement.accountId。
2. 创建发行的银行账户
使用POST /v3/customers/{customerId}/accounts 并带上以下请求头:
data.id 保存为 BANK_ACCOUNT_ID。同时保留 data.status、data.openTaskIds、data.details 以及结算关系。
银行账户 ID 与钱包 ID 承担不同的角色。使用银行账户 ID 来读取开通进度和银行账户信息。使用结算钱包 ID 来标识入金记账到哪里。
3. 监控开通进度
创建之后以及每次收到相关 Webhook 之后,请读取GET /v3/customers/{customerId}/accounts/{accountId}。
在 details 缺失期间,保持客户界面处于待处理状态。如果 openTaskIds 非空,请完成最新任务,然后重新拉取该账户。切勿仅凭经过的时间来推断就绪状态。
如果最新的 statusReason.code 为 awaiting_assignment,请通过接收资金为同一客户、能力和结算钱包创建第一笔入金,然后再次读取该银行账户。仅当当前账户明确要求时才走此分支。
4. 安全展示银行账户信息
请只展示最新一次账户读取所返回的完整信息。当details.referenceRequired 为 true 时,请展示准确的 details.reference 并允许复制。当其为 false 时,请勿自行编造 reference。
这些银行账户信息是可复用的。切勿用来自某次获得报价入金中的入金指令替换它们,那些指令仅属于那一笔转账。
接下来,请添加 Webhook,让开通更新可以推送到您的应用,而无需让客户停留在轮询页面。