Skip to main content

Create Deposit (TRC20)

Create USDT-TRC20 deposit order interface.

Request Information

  • Request URL: /gateway/api/v1/tron/payment-txns
  • Request Method: POST
  • Content-Type: application/json;charset=utf-8

Request Parameters

ParameterRequiredTypeDescription
platform_idYesString(7)Merchant ID
txn_cl_idYesString(32)Merchant order number (length 1~32)
user_idNoString(32)Sender platform ID
creator_addressConditionalString(34)Sender TRC20 wallet address (starts with T, 34-character Base58 format). Required in address matching mode; optional in amount fluctuating mode
amountYesInteger(10)Order amount (unit: 0.01 USDT)
Example: 50000 represents 500 USDT
notify_urlYesString(256)Transaction result notification URL
request_timeYesInteger(10)Request time (seconds)
sign_typeNoString(16)Signature type, fixed value HMAC-SHA256
signYesString(32|64)Order Signature

Request Example

{
"platform_id": "PF0001",
"user_id": "b929c18b83bf47809e1595ff6b28916a",
"txn_cl_id": "test_payment_txn_1755705625",
"creator_address": "TAkr13ZMWyPSpo7jvQ4ajgmm8X9EG4dEZK",
"amount": 12345,
"notify_url": "https://notify.com/payments",
"request_time": 1755705625,
"sign": "660b1bb75801bedd796d7b33ae089ef5"
}

Response Example

Success Response

{
"error_code": "0000",
"data": {
"txn_id": "CTX00000123",
"txn_cl_id": "test_payment_txn_1755705625",
"type": 0,
"network": "TRC-20",
"target_address": "TAkr13ZMWyPSpo7jvQ4ajgmm8X9EG4dEZK",
"amount": 12345,
"display_amount": 12345,
"pay_link": "http://localhost:8889/payment/index.html?token=eyJhbG"
}
}

Error Response Example

{
"error_code": "0004",
"error_msg": "Signature verification failed!"
}

Response Parameters

ParameterTypeDescription
error_codeStringError code, see Global Error Codes
error_msgStringError message (returned when error_code is not "0000")
pay_linkStringOrder cashier URL
amountIntOrder amount
txn_idStringPlatform order number
txn_cl_idStringMerchant order number
target_addressStringReceiving address
user_idStringSender platform username (ID)
display_amountNumberDisplay payment amount (returned in amount fluctuating mode, the adjusted amount the user should pay)

Matching Modes

This API supports two matching modes, determined by platform configuration:

Modecreator_addressMatching MethodUse Case
Address Matching (default)RequiredSender address + amountUser pays from personal wallet
Amount FluctuatingOmitFluctuated display amountUser pays from exchange (hot wallet address unpredictable)

In amount fluctuating mode, the system applies a micro-adjustment (±0.0001~0.9999 USDT) to ensure each order amount is unique within the matching window. The returned display_amount is the exact amount the user should pay.

caution

Amount fluctuating mode requires platform activation. Without activation, creator_address remains a required field.

Notes

  • Amount unit is 0.01 USDT, for example, 500 USDT should be passed as 50000