创建订单
POST
/cash/v1/merchant/exchange/orders 鉴权: API Key(Bearer)exchange:write把报价转为订单并返回入金指引。
拿到响应后该做什么
在 expiresAt 之前,把恰好 paymentAmount 的发送资产转到 paymentAddress(有 paymentExtraId 时作为 memo/tag 一并填写)。金额不符、币种不符或过期后到账按订单页展示的处理规则处理,可能需要通过 refundAddress 退款。
说明
- 订单归属 API Key 的所属主体,出现在该账号订单列表。
- 地址与 memo 校验失败返回
400 CASH_ORDER_RECEIVING_ADDRESS_INVALID/CASH_QUOTE_EXTRA_FIELDS_INVALID;quoteId过期或已用返回409 CASH_QUOTE_EXPIRED/CASH_QUOTE_ALREADY_USED。 - 与官网
POST /cash/v1/orders同一契约。 - 币对断言(`expected`):把客户确认过的币对与金额一并提交。与报价任一处不一致返回
409 CASH_ORDER_EXPECTATION_MISMATCH,error.details.mismatches只列字段名(如["fromNetwork"])。此时不会创建任何东西:没有订单、没有供应商订单,报价仍可使用——修正后重试,或重新获取报价并让客户再次确认;重试须换新的Idempotency-Key(这次 409 已记在原 Key 下)。expected格式不对(缺字段、多字段、fromAmount不是字符串或不是正数)返回400 CASH_ORDER_EXPECTATION_INVALID, 指明字段。不传 与原行为一致。正式 Key 与沙箱 Key()行为相同。
参数
| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| Idempotency-Key | header | string | 是 | 每次建单尝试唯一;同 Key 返回同一订单。 |
| quoteId | body | string | 是 | 未过期的报价 id。 |
| receivingAddress | body | string | 是 | 接收网络上收取 toAmount 的地址。 |
| refundAddress | body | string | 否 | 兑换无法完成时用于退款的发送网络地址。 |
| receivingExtraId | body | string | 否 | 接收网络要求时的 memo / tag。 |
| refundExtraId | body | string | 否 | 退款地址的 memo / tag。 |