跳转到主要内容
当通过 API 创建的法币/加密货币订单进入以下任一状态时,VelaFi 会向您注册的 ORDER_WEBHOOK 端点发送一个已签名的 HTTP POST 请求。非通过 API 创建的订单不会触发此 Webhook。负载包含完整的订单快照,包括金额、价格以及更新后的状态码。您的端点必须验证 signature 请求头,并返回 {"callbackStatus": "SUCCESS"} 以确认已接收。

请求头

订单状态码

已取消、在 API 或风控审核中被拒绝、或已超时的订单将以 orderStatus 70 发送。其他状态(例如 20、30、71 和 73)不会发送。

负载字段

string
投递此事件的 Webhook 端点 ID。
string
对于此事件类型,始终为 ORDER_WEBHOOK。
string
订单的唯一标识符。
string
您提供的客户端订单标识符。如果您未提供,则省略此字段。
string
您的 VelaFi 账户(用户)ID。
string
该订单所属商户的 ID。
string
该订单使用的商户账户设置(支付通道)ID。
string
交易方向:BUY(法币 → 加密货币)或 SELL(加密货币 → 法币)。
string
订单涉及的法币,例如 MXN。
string
订单的法币金额。
string
实际支付或收到的法币金额。
string
订单收取的法币费用。
string
订单涉及的加密货币,例如 USDT。
string
订单的加密货币金额。
string
订单成交时的汇率(每单位加密货币对应的法币数量)。
string
当前订单状态码。请参阅上方状态表。
string
机器可读的失败代码。仅在已取消(70)或已退款(72)且记录了失败代码的订单中出现;否则省略。
string
可读的失败描述。仅在存在 failCode 且记录了描述时出现。
string
订单创建时间的 Unix 时间戳(毫秒)。
string
订单最后更新时间的 Unix 时间戳(毫秒)。
string
本次投递尝试签名时的 Unix 时间戳(毫秒)。
为保持向后兼容,负载中还包含 fiatCurrency、orderAmount、arriveOrderAmount、mcSettingsId、cryptoCurrency 和 quantity,它们分别重复 fiat、fiatAmount、arriveFiatAmount、settingsId、crypto 和 cryptoAmount 的值。部分订单还包含其他字段,例如 bankOrderId。请忽略您不使用的任何字段。

负载示例

Incoming POST body

必需的响应

请以 HTTP 状态码 200 返回以下 JSON 响应体以确认接收:
Your response
如果您的端点返回非 2xx 状态码、未及时响应或返回其他任何响应体,VelaFi 将重试投递。同一事件可能会多次到达,因此请结合 orderId 与 orderStatus 进行去重。请参阅投递与重试。