沙箱與模擬器
本頁目錄
POST
/cash/v1/merchant/exchange/orders/{orderId}/simulate 鑑權: API Key(Bearer)exchange:write沙箱 Key(ck_test_…)使用與 live 完全相同的兌換端點(報價、建單、查單),但不會觸達任何真實供應商。
怎麼拿到沙箱 Key
打開主控台的 開發者 → API 金鑰 頁(/home/developer/keys),點 建立 API 金鑰,環境開關保持在 沙箱(預設就是),保留 exchange:read 與 exchange:write。沙箱 Key 同樣需先通過你本人的個人身份認證(KYC)。Key 以 ck_test_ 開頭,可以直接用在本站各頁的「線上除錯」裡,也可以在 開發者 → 沙箱測試(/home/developer/sandbox)裡逐一呼叫兌換介面——Key 只留在該頁面的記憶體裡。
沙箱的行為
- 報價來自固定的合成匯率表,收 0.5% 服務費;它是真實的伺服器端報價(5 分鐘有效,
synthetic: true,environment: "sandbox")。 - 訂單與 live 一樣落庫並校驗(接收地址必須符合該網路格式,必須帶
Idempotency-Key),但不建供應商單,入金地址是sandbox-CASH…-deposit這樣的佔位符,無法付款。 - 狀態只在你呼叫上面的模擬器時改變:
deposit/processing/sending進入processing,completed完成,failed進入待對帳(), 過期;對已過期的訂單再發 / / / / 模擬過期後付款,訂單進入 ;其他不合法的跳轉會被忽略()。
參數
| 名稱 | 位置 | 類型 | 必填 | 說明 |
|---|---|---|---|---|
| orderId | path | string | 是 | 建立訂單時回傳的沙箱訂單 id(或訂單號)。 |
| event | body | string | 是 | deposit | processing | sending | completed | failed | expired |
| actualToAmount | body | string | 否 | 可選:記為已結算的到帳金額。 |
請求範例
{
"event": "completed"
} 回應範例
{
"ok": true,
"data": {
"simulated": true,
"event": "completed",
"changed": true,
"order": {
"orderId": "<uuid>",
"status": "completed",
"environment": "sandbox"
}
}
}程式碼範例
cURL
curl -X POST 'https://api.moin.cash/cash/v1/merchant/exchange/orders/<orderId>/simulate' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ck_test_xxxxxxxxxxxxxxxx' \
-d '{ "event": "completed" }'