Fiat Payment Status Notification
When a fiat payment order status changes, GatePay sends a webhook with bizType PAY_FIAT.
Verify the signature and return {"returnCode":"SUCCESS","returnMessage":""} after successful processing. On delivery failure, GatePay retries at the intervals documented in Notifications Overview; you may also call the order query API for the latest status.
Documentation Index
Fetch the complete documentation index at: https://docs.gate.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
This page documentswebhook fiatPaymentWebhook. The full schema, parameters, and examples are rendered from the linked OpenAPI or webhook definition above.
GatePay sends asynchronous notifications to the merchant callback URL when fiat payment order status changes (bizType is PAY_FIAT).
Notes
- Use
merchantTradeNoorbizIdfor idempotency. - Signature verification, retries, parsing
data, and the success response are covered in Notifications Overview; see Security and Signature for signing rules.
Trigger Scenarios
- When a fiat payment order status changes (payment success, timeout, cancellation, or closure), GatePay sends a notification to the callback URL configured at merchant registration
- If delivery fails, see retry rules in Notifications Overview.
bizType is PAY_FIAT). When fiat is selected at checkout, GatePay converts to crypto at the live rate for collection.
Message Structure
| Field | Type | Description |
|---|---|---|
bizType | string | Always PAY_FIAT |
bizId | string | Prepaid order ID |
bizStatus | string | Order status; see table below |
client_id | string | Merchant client_id that created the order (may be omitted in some callbacks; use actual payload) |
data | string | Order payload as a JSON string |
Example Message
bizStatus Enumeration
| Value | Description |
|---|---|
PAY_SUCCESS | Payment succeeded |
PAY_ERROR | Payment error |
PAY_CLOSE | Order closed by merchant or timed out |
data Field Reference
| Field | Type | Description |
|---|---|---|
merchantTradeNo | string | Merchant trade number |
productType | string | goodsType at order creation |
productName | string | goodsName at order creation |
tradeType | string | terminalType at order creation |
goodsName | string | Goods name |
terminalType | string | Terminal type |
currency | string | Order currency (fiat) |
orderAmount | string | Order amount |
expectCurrency | string | Merchant expected settlement currency |
actualCurrency | string | Actual settlement currency |
actualAmount | string | Amount in actualCurrency |
payerId | int64 | Payer UID; 0 when paid without a Gate account |
createTime | int64 | Order creation time (milliseconds) |
transactionID | string | Platform transaction ID (some legacy callbacks may use transactionId; parse compatibly) |
channelId | string | Customer name / channel identifier |
doneAmountOnChain | string | On-chain confirmed amount |
waitAmountOnChain | string | On-chain amount awaiting confirmation |
Callback Example
Fiat payment succeeded (bizStatus=PAY_SUCCESS)
Order closed (bizStatus=PAY_CLOSE)
Payment error (bizStatus=PAY_ERROR)
Body
Business type; always PAY_FIAT.
PAY_FIAT Prepaid order ID.
Fiat payment order status.
PAY_SUCCESS, PAY_ERROR, PAY_CLOSE Business data as a JSON string; parsed structure see fiatPaymentData.
Merchant client_id that created the order.
Parsed fiat payment order details from data.
Response
HTTP 200 indicates the merchant successfully received the notification.

