Environment variables
测试能力的就绪状态
在沙盒中,ACH、Wire 和 SWIFT 能力(包括指定银行的和池化的)仅由 JPMorgan Chase(jpmorgan)提供。请求这些能力时如果省略 institutions,Swipelux 会选择 jpmorgan。指定任何其他银行都会返回 422 capability_institutions_unsupported。沙盒中的支持能力列表对这些方式仅显示 jpmorgan。生产环境路由以及 RTP、Pix 和 SPEI 等其他方式保持不变。
Request a sandbox bank capability
POST /v3/sandbox/customers/{customerId}/capabilities/{capabilityId}/status 设置其沙盒状态:
Set capability status
status 与 openTaskIds 视为您的产品必须处理的结果。 200 响应仍可能显示未完成的工作,例如客户任务或 pending 审核。
当能力因你无法在沙盒中解除的原因而无法达到所请求的状态时,辅助接口会返回 409 capability_status_blocked,例如 approval_scope_review_required、运营冻结或终态。问题响应中的 statusReason 包含该能力的原因代码和消息,并带有 retryable: false。请读取该能力以获取该原因的 resolution。
第二次将指定能力强制设为 rejected 时,会返回未发生变化的同一能力。将已拒绝的能力强制设为 restricted 或 ready 会返回 422 invalid_capability。请改为创建一个新的沙盒客户来测试这些状态。
测试一个待办任务
使用POST /v3/sandbox/tasks 创建沙盒任务。将任务限定到您正在测试其工作流的资源,并使用 items 描述客户必须提交的内容。本指南演示能力和转账工作流;API 参考定义客户范围和完整的请求结构。
文本回答使用 explanation 项,文件上传使用 document 项。新的 profile 项还必须提供 profilePointer,即指向客户字段的 JSON Pointer。其他项类型和字段请参阅创建沙盒任务。
对于转账示例,请先通过收款或付款流程创建沙盒转账,然后导出返回的 data.id:
Transfer ID
- 能力 + 说明
- 转账 RFI + 文档
data.id 保存为 TASK_ID,data.revision 保存为 TASK_REVISION,并将当前的 data.requirements[0].id 保存为 REQUIREMENT_ID。调用 POST /v3/customers/{customerId}/tasks/{taskId}/submissions 时,请使答案与所创建的项目类型一致:
- 说明答案
- 文档答案
POST /v3/sandbox/tasks/{taskId}/review 接受或拒绝当前的提交:
Review submission
POST /v3/sandbox/tasks 创建的任务,以及 Swipelux 收集的能力受理任务。审核由运营团队或其他工作流拥有的任务会返回 409 task_not_sandbox_reviewable。该任务仍可通过任务端点读取,并等待其所有者审核。404 task_not_found 表示该任务 ID 未知或属于其他商户。
生产环境的任务完成模式请参阅能力与任务。
为沙盒钱包充值
使用POST /v3/sandbox/accounts/{accountId}/topup 向一个发行的钱包入账:
Top up issued wallet
data.id 保存为 TRANSFER_ID。
该充值 id 即为 transfer id。可通过 GET /v3/transfers/{transferId} 获取,或通过 GET /v3/transfers 列出,用沙盒充值来演练你的入金处理代码路径。该转账投影是一笔已完成的入向稳定币入金,其 origin: "inbound_deposit"、method: "stablecoin_transfers"、direction: "stablecoin_move",并且可通过对应的 accountId、origin、method 与 direction 列表过滤器检索到。
完成或失败一笔转账
使用POST /v3/sandbox/transfers/{transferId}/state 设置其结果:
- 完成
- 失败