Address Payment Status Notification
In address payment scenarios, GatePay delivers PAY_ADDRESS (order status change), TRANSFER_ADDRESS (order fund transfer), and CHAIN_ADDRESS (on-chain transaction and verification status) notifications to the merchant callback URL.
Verify the signature and return {"returnCode":"SUCCESS","returnMessage":""} after successful processing. On delivery failure, GatePay retries at the intervals documented in Notifications Overview.
Overview
This page documentswebhook addressPaymentWebhook. 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 address payment order status or fund transfer status changes (bizType is PAY_ADDRESS, TRANSFER_ADDRESS, or CHAIN_ADDRESS).
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
- Order status changes from created to payment completed
- Order status changes from created to expired
- User pays a sufficient amount within the validity period, but on-chain confirmation is incomplete at expiration, so the order enters
PROCESS - Before an order finishes (expired or completed), each successful payment credits the merchant balance account; when cumulative payments reach the order amount within the validity period, the order is marked completed
- After order completion, new payments to the order address are confirmed and credited to the merchant balance account
- After order completion, new payments to a convert payment order address are detected
- In dynamic address payment scenarios, on-chain deposit lifecycle events such as transaction sync, compliance verification, and confirmation (
CHAIN_ADDRESS)
Message Structure
bizType Enumeration
bizStatus Values (bizType=PAY_ADDRESS)
PAY_EXPIRED_IN_EXCHANGE_FLUCTUATION (as returned in the callback).
bizStatus Values (bizType=TRANSFER_ADDRESS)
bizStatus Values (bizType=CHAIN_ADDRESS)
These statuses only record the on-chain transaction and verification process and cannot be treated as order terminal states.
data Fields (bizType=PAY_ADDRESS, non-convert)
data Fields (bizType=PAY_ADDRESS, convert)
In addition to fields above, convert orders may include:
data Fields (bizType=TRANSFER_ADDRESS)
data Fields (bizType=CHAIN_ADDRESS)
Callback Examples
Order status change (bizType=PAY_ADDRESS, payment success)
Order status change (bizType=PAY_ADDRESS, convert)
Fund transfer (bizType=TRANSFER_ADDRESS)
On-chain transaction and verification status (bizType=CHAIN_ADDRESS)
Body
Notification category: PAY_ADDRESS for order status change; TRANSFER_ADDRESS for fund transfer; CHAIN_ADDRESS for on-chain transaction and verification status.
PAY_ADDRESS, TRANSFER_ADDRESS, CHAIN_ADDRESS Order ID.
Business status; varies by bizType. For PAY_ADDRESS: PAY_SUCCESS, PAY_ERROR, PAY_CLOSE, PAY_EXPIRED_IN_PROCESS, and similar. For TRANSFER_ADDRESS: TRANSFERRED_ADDRESS_IN_TERM, TRANSFERRED_ADDRESS_DELAY, CONVERT_ADDRESS_PAY_DELAY. For CHAIN_ADDRESS: PAY_PASSED (on-chain transaction compliance verification passed), PAY_CONFIRMING (on-chain transaction sync started), PAY_DONE (on-chain transaction confirmed).
Business data as a JSON string; parsed structure see addressPaymentData.
Merchant client_id that created the order.
Parsed data object. Fields differ for non-convert vs convert orders and for PAY_ADDRESS vs TRANSFER_ADDRESS vs CHAIN_ADDRESS.
Response
HTTP 200 indicates the merchant successfully received the notification.

