建立訂單
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。 |