简而言之
一笔支付订单代表一次预期的法币收款。当您使用一次性虚拟账户通道时,每笔订单都由一个专用银行账户支持,该账户仅对一次付款有效。支付订单端点让您能够在主钱包层级列出并跟踪每一笔订单,或将范围限定到特定的子地址。
一笔支付订单代表一次预期的法币收款。当您使用一次性虚拟账户通道时,每笔订单都由一个专用银行账户支持,该账户仅对一次付款有效。支付订单端点让您能够在主钱包层级列出并跟踪每一笔订单,或将范围限定到特定的子地址。
前提条件
在使用支付订单 API 之前,请确保您已具备:1
API 密钥
从 Blockradar 控制台 获取您的 API 密钥。前往 Developers 生成密钥。
2
已创建钱包
在控制台中(参见创建主钱包)创建钱包。支付订单操作需要
walletId。3
合规已批准
在控制台完成尽职调查流程:My wallets > Settings > Compliance
4
功能已启用
合规批准后,申请开通虚拟账户功能。请联系 [email protected] 或使用控制台的在线聊天。
5
主网环境
虚拟账户仅在 MAINNET(主网)上可用。测试网环境不支持虚拟账户操作。
6
稳定币支持
充值法币并将其转换为稳定币是一项付费功能。请确保您的账户套餐包含稳定币访问权限。通过 控制台 → Settings → Subscription 升级。
工作原理
每当客户发起一笔法币充值时,就会创建一笔支付订单。对于one_time_virtual_account 通道,Blockradar 会签发一个与该订单及其金额集合绑定的全新虚拟银行账户。客户付款后,订单会按其生命周期推进,对应的稳定币会被铸造并结算至关联的钱包或地址。
订单已创建
生成一笔订单,包含参考编号、预期金额及其收款通道。
账户已签发
对于一次性虚拟账户通道,会在
paymentInstructions 中附上一个一次性银行账户。已收到付款
客户在
expiresAt 之前向该账户付款;订单会转为 processing,然后转为 paid。结算
等额的稳定币会被铸造并结算至关联的钱包或子地址。
订单状态
每笔订单都会报告其当前的生命周期状态。使用status 查询参数来筛选结果。
收款通道
rail 字段标识订单的收款方式。一次性虚拟账户使用 one_time_virtual_account 通道。
绑定会话的创建流程
要创建支付订单,请先使用assetId、currency、amount 和 rail 请求报价。当存款属于现有客户时,还请包含 customerId,以便复用已保存的提供方 KYC。提供方适配器会根据所选法币货币推断 KYC 走廊。报价会返回 sessionId 和 sessionExpiresAt。该会话会在 20 分钟内绑定钱包、钱包资产、法币货币、金额、通道、提供方、转换路径、客户和 KYC 走廊。
我们建议在后续每个请求中都使用返回的 sessionId:
- 当
additionalDataRequirements.data不为null时,使用它初始化表单。其中包含已为该客户、提供方和走廊保存的可复用值。 - 收集
additionalDataRequirements.schema要求的所有缺失值。 - 如果 schema 包含
x-resolution,请使用sessionId和当前的additionalData调用POST /v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve。 - 将解析得到的值合并到
additionalData中。 - 使用
sessionId、additionalData以及任何可选订单字段(例如reference或metadata)创建订单。
Quote request
Quote session
Resolve requirements
Create payment order
idDocument.number 是客户的 11 位 NIN,taxId.value 是客户的 11 位 BVN。要求因提供方、走廊和实体类型而异,因此请始终渲染报价返回的 schema,而不要硬编码这些字段。
当使用内联 KYC 创建订单时,Blockradar 会将其与业务客户、所选提供方和走廊关联保存。之后使用相同 customerId 和走廊发起的报价会在 additionalDataRequirements.data 中返回已保存的 KYC。在之后的订单中提交更改后的 KYC 会更新已保存的走廊资料;无需单独的 KYC 端点。
为保持向后兼容,sessionId 为可选项。如果省略它,请在要求解析和订单创建请求中发送原始的 assetId、currency、amount 和 rail。当提供 sessionId 时,以会话中存储的值为准。
列出主钱包支付订单
返回某个主钱包下创建的所有支付订单的分页列表。使用查询参数按状态、通道、货币、资产、日期范围或自由文本搜索进行筛选。GET /v1/wallets/{id}/deposit/fiat/orders
查询参数
响应示例
列出子地址支付订单
返回范围限定于单个子地址的支付订单。响应包含相同的订单字段,以及额外的结算、提供方和客户详情。GET /v1/wallets/{walletId}/addresses/{addressId}/deposit/fiat/orders
路径参数
查询参数
响应示例
响应字段
amountFiatReceived、amountSettled、providerReference、provider 和 customer 字段会在子地址端点返回,并随着订单在结算过程中的推进而填充。API 参考
发现与配置
主钱包
子地址
检索、刷新和取消订单只需订单 ID,因此子地址没有对应的端点。任何订单(包括针对子地址创建的订单)都应使用上方的主钱包端点处理。此 API 还提供 Find Fiat Deposit 操作
(
POST /v1/wallets/{id}/deposit/fiat/finder),可根据支付参考编号定位法币充值及其处理详情。当客户声称已付款时,可用它将该笔付款与其所属订单进行对账。
