Skip to main content
WEBHOOK

Overview

This page documents webhook 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

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)

Convert address payment orders may also use statuses such as 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

application/json
bizType
enum<string>
required

Notification category: PAY_ADDRESS for order status change; TRANSFER_ADDRESS for fund transfer; CHAIN_ADDRESS for on-chain transaction and verification status.

Available options:
PAY_ADDRESS,
TRANSFER_ADDRESS,
CHAIN_ADDRESS
bizId
string
required

Order ID.

bizStatus
string
required

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).

data
string
required

Business data as a JSON string; parsed structure see addressPaymentData.

client_id
string

Merchant client_id that created the order.

addressPaymentData
object

Parsed data object. Fields differ for non-convert vs convert orders and for PAY_ADDRESS vs TRANSFER_ADDRESS vs CHAIN_ADDRESS.

description
any

Response

200 - application/json

HTTP 200 indicates the merchant successfully received the notification.

Response body returned by the merchant after receiving the notification.

returnCode
string
required

Return status code; SUCCESS indicates success.

returnMessage
string | null

Return message; may be empty on success.