Skip to main content

JSON Payload Explanation

The HTTP POST callback’s JSON body contains the transaction details. Callbacks are sent for completed payments only, so there is no status field — receiving the callback means the funds have been delivered to your wallet.

FieldTypeDescription
accountEDTOstringThe iPay Account ID of the wallet that received the funds (e.g., GqEPbMBb55CH8x12b5le).
blockchainTxIdstringBlockchain transaction hash of the transfer to your wallet (e.g., 0x73c2...e566f).
chainstringBlockchain network. Currently always MATIC (Polygon).
currencystringCryptocurrency delivered. Currently always USDT.
customerIDstringYour customId from the payment URL, returned as a string (e.g., "7228468").
timestampobjectPayment completion time as { "seconds": <unix seconds>, "nanoseconds": <ns> }.
transactionFeenumberFee deducted, in currency (e.g., 0.615).
transactionFeePrecentnumberFee rate applied, as a decimal fraction (e.g., 0.0123). Note the spelling — sent exactly as shown.
transferedAmountnumberNet amount delivered to your wallet, in currency (e.g., 49.385). Note the single r.
value_in_usdnumberNet amount in USD. May be omitted; do not rely on it for crediting.
note

Field names are sent literally as listed — including transferedAmount and transactionFeePrecent. Use these exact keys when parsing.

Crediting the customer: use transferedAmount (the net amount that reached your wallet), matched to your order via customerID.

info

If a secret token is configured for your API key, it is sent in the authorization HTTP header of the callback request, not in the JSON body. Verify this header before processing the body. See Security Token.