跨越支付 开发文档

提交充值订单

充值API文档

统一路径前缀:/api/orders


1. 创建监听订单

接口地址: POST /api/orders/monitor

用于监听一个非系统地址是否收到指定金额的充值,成功后自动发起回调。场景:你不想用系统生成的地址,也想节约点下发U产生的费用,也能注意资金安全,你可以使用一个外部U地址(自己钱包地址),通过该功能,进行监听。收到钱后自定回调。

请求参数

参数类型是否必填说明
apikeystring商户的身份密钥
order_idstring商户自定义的订单号
addressstring要监听的地址(TRON)
amountfloat64要监听的充值金额
callbackstring到账成功后的回调地址
start_timestring监听起始时间(格式:YYYY-MM-DD HH:mm:ss)
end_timestring监听结束时间(格式:YYYY-MM-DD HH:mm:ss)

只有在该时间区间内链上充值到账的订单才视为有效。 若在 end_time 前未收到充值,将自动标记为失败。


响应示例

{  "message": "监听订单创建成功"}

2. 创建系统充值订单

接口地址: POST /api/orders/deposit

提示:用于生成一个系统地址充值订单,商户向指定地址充值后,系统检测到账后将回调通知并归集。

请求参数

参数类型是否必填说明
apikeystring商户身份密钥
order_idstring商户订单号
amountfloat64充值金额
addressstring商户自己的系统钱包地址
callbackstring回调地址

系统充值订单有效期为 30 分钟,超时未到账将自动标记为失败。


响应示例

{  "message": "充值订单生成成功",  "address": "TXXXXXYYZZ",  "amount": 100.29,"Ordersn":"xxxxxxxxx"}

返回的 address 是商户传入的系统钱包地址。


回调通知格式

无论是哪种类型的订单,当成功到账后,系统将向 callback 地址发送如下 POST 请求:

请求内容(JSON)

{  "address": "Txxx",  "amount": "100.29",  "txid": "txid哈希",  "timestamp": "Unix时间戳",  "sign": "签名字符串"}

签名为 MD5(address=value&amount=value&txid=value&timestamp=value + APIKEY)

加密算法请查看,点击前往

PHP签名示例
<?php
/**
 * 生成签名
 *
 * @param array  $notification 包含 address, amount, txid, timestamp
 * @param string $apikey       加在字符串末尾的密钥
 * @return string              小写 32 位 MD5 签名
 */
function generateSign(array $notification, string $apikey): string
{
    // 1. 构造待签名参数数组,注意 amount 保留 6 位小数
    $params = [
        'address'   => $notification['address'],
        'amount'    => number_format($notification['amount'], 6, '.', ''),
        'txid'      => $notification['txid'],
        'timestamp' => $notification['timestamp'],
    ];

    // 2. 按键名升序排序
    ksort($params);

    // 3. 拼接成 "key=value&key=value...",末尾直接加密钥
    $buf = '';
    foreach ($params as $key => $value) {
        if ($buf !== '') {
            $buf .= '&';
        }
        $buf .= $key . '=' . $value;
    }
    $buf .= $apikey;

    // 4. 计算 MD5 并返回小写十六进制字符串
    return md5($buf);
}

// ------- 使用示例 -------
$notification = [
    'address'   => 'TXYZ1234567890ABCDEFG',
    'amount'    => 12.3456,
    'txid'      => 'abcdef1234567890',
    'timestamp' => '2025-05-03T14:30:00+08:00',
];
$apikey = 'yourapikeyKey123';

$sign = generateSign($notification, $apikey);
echo "签名结果:{$sign}\n";




GO开发示例:
func GenerateSign(notification models.DepositNotification, apikey string) string {
    // 构造待签名的参数集合,将各字段转换为字符串
    params := map[string]string{
       "address":   notification.Address,
       "amount":    fmt.Sprintf("%.6f", notification.Amount),
       "txid":      notification.TxHash,
       "timestamp": notification.Timestamp,
    }
    // 取出所有 key 并排序
    keys := make([]string, 0, len(params))
    for key := range params {
       keys = append(keys, key)
    }
    sort.Strings(keys)

    // 拼接为 "key=value&key=value" 格式的字符串
    var buf bytes.Buffer
    for i, key := range keys {
       if i > 0 {
          buf.WriteString("&")
       }
       buf.WriteString(key + "=" + params[key])
    }
    // 在末尾加上密钥
    buf.WriteString(apikey)
    // 计算 MD5 摘要并返回16进制字符串
    hash := md5.Sum(buf.Bytes())
    return hex.EncodeToString(hash[:])
}


回调响应要求

  • 若 HTTP 状态码为 200,则视为成功

  • 其余状态视为失败,记录日志并尝试重发(由后台触发)


如需查询订单、查看回调日志,请使用管理后台页面进行操作。