TRX自动充提生成公共地址接口源码文档教程

作者 : 蚂蚁 本文共7511个字,预计阅读时间需要19分钟 发布时间: 2021-10-1 共86人阅读

获取地址

简要描述
  • 获取充币地址
请求URL
  • http://网关地址/api/address
请求方式
  • POST “Content-Type”:”application/json”
参数
参数名 必选 类型 说明
app_name string 接口应用名:test
nonce string 随机值
symbol string 请求币种:trx
sign string 签名
请求示例
  {
    "app_name": "18012003190",
    "nonce": "202010310001",
    "symbol": "trx",
    "sign": "5A5724D18462C2AF2D92F3AA9D879912"
  }
返回示例
{
    "code": 1,
    "msg": "success",
    "time": "1604105355",
    "data": {
        "symbol": "trx",
        "address": "TXgdqTjxbsAtEm9xfa6QP8vBSEThuAKNC3"
    }
}
返回参数说明
参数名 类型 说明
code int 错误代码:1成功
msg string 错误信息
time string 时间
data[‘symbol’] string 币种
data[‘address’] string 地址

 

备注
  • 更多返回错误代码请看首页的错误代码描述
  • 接口签名校验工具:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1
  • 1.对参数按照key=value的格式,并按照参数名ASCII字典序排序生成字符串:
    app_name=test&nonce=ibuaiVcKdpR2xkhJA&symbol=trx
  • 2.连接商户key:
    app_name=test&nonce=ibuaiVcKdpR2xkhJA&symbol=trx&key=test123
  • 3.生成sign并转成大写:
    sign=7CB5EFDBB81AB5865B7A79B7F77C8F9A

    PHP签名方法
    <?php
      /**
       * 生成签名
       * @param $value  参数数组
       * @param $key  密钥
       */
    function MakeSign($value,$key){
          //签名步骤一:按字典序排序参数
          ksort($value);
          $string = ToUrlParams($value);
          //签名步骤二:在string后加入KEY
          $string = $string . "&key=".$key;
          //签名步骤三:MD5加密或者HMAC-SHA256
          $string = md5($string);
          //签名步骤四:所有字符转为大写
          $result = strtoupper($string);
          return $result;
      }
      /**
       * 格式化参数格式化成url参数
       * $value   参数数组
       */
    function ToUrlParams($value){
          $buff = "";
          foreach ($value as $k => $v)
          {
              if($k != "sign" && $v != "" && !is_array($v)){
                  $buff .= $k . "=" . $v . "&";
              }
          }
          $buff = trim($buff, "&");
          return $buff;
      }

    提币接口

     

    简要描述
    • 申请提币接口
    请求URL
    • http://网关地址/api/withdraw
    请求方式
    • POST “Content-Type”:”application/json”
    参数
    参数名 必选 类型 说明
    app_name string 应用接口名
    out_serial string 订单号
    address string 提币地址
    symbol string 提币币种(举例:trx,trc20_usdt等)
    balance string 提币金额
    nonce string 随机码
    sign string 签名
    请求示例
      {
        "app_name": "test",
        "out_serial": "20565621135",
        "address": "TBav6DMH96q83mGk8BAPfZuxoz7tXscRmd",
        "symbol": "trc20_usdt",
        "balance": "20",
        "nonce": "dbuaiVcddp2AxkhHb",
        "sign": "ABE5D090C84D203D096007E5D950A32E"
      }
    
    返回示例
    {
        "code": 1,
        "msg": "success",
        "time": "1601003668",
        "data": {
            "out_serial": "20565621135",
            "in_serial": "test5f6d60943268c",
            "error": 200,
            "error_msg": "success"
        }
    }
    
    返回参数说明
    参数名 类型 说明
    out_serial string 商户提币流⽔号
    in_serial string 平台提币流⽔号
    error int 错误码
    error_msg string 错误文字说明
    备注
    • 更多返回错误代码请看首页的错误代码描述
    • 1.对参数按照key=value的格式,并按照参数名ASCII字典序排序生成字符串:
      address=TBav6DMH96q83mGk8BAPfZuxoz7tXscRmd&app_name=test&balance=20&nonce=dbuaiVcddpAxkhHb&out_serial=20565621135&symbol=trc20_usdt
    • 2.连接商户key:
      address=TBav6DMH96q83mGk8BAPfZuxoz7tXscRmd&app_name=test&balance=20&nonce=dbuaiVcddpAxkhHb&out_serial=20565621135&symbol=trc20_usdt&key=test123
    • 3.生成sign并转成大写:
      sign=ABE5D090C84D203D096007E5D950A32E
    PHP签名方法
    <?php
        /**
         * 生成签名
         * @param $value  参数数组
         * @param $key  密钥
         */
    function MakeSign($value,$key){
            //签名步骤一:按字典序排序参数
            ksort($value);
            $string = ToUrlParams($value);
            //签名步骤二:在string后加入KEY
            $string = $string . "&key=".$key;
            //签名步骤三:MD5加密或者HMAC-SHA256
            $string = md5($string);
            //签名步骤四:所有字符转为大写
            $result = strtoupper($string);
            return $result;
        }
        /**
         * 格式化参数格式化成url参数
         * $value   参数数组
         */
    function ToUrlParams($value){
            $buff = "";
            foreach ($value as $k => $v)
            {
                if($k != "sign" && $v != "" && !is_array($v)){
                    $buff .= $k . "=" . $v . "&";
                }
            }
            $buff = trim($buff, "&");
            return $buff;
        }

    TRC20充币到账回调

     

    简要描述
    • 充币到账通知
    请求URL
    • http://回调url
    请求方式
    • POST “Content-Type”:”application/json”
    通知参数说明
    参数名 类型 说明
    address string 充币地址
    app_name string 请确保与⾃⼰的app_name是否相同
    balance string 充币⾦额
    notify_type string 通知类型,1到账通知,2提现发送通知,3提现到账通知
    sign string 请务必对签名进⾏检测,避免攻击者伪造⼊账通知
    token_symbol string 代币类型
    tx_hash string 到账唯⼀标示,请确保同⼀tx_hash不会重复⼊账
    usdt_to_cny string 汇率
    通知示例
      {
        "address": "TSgWZSFkXyAetsztjzZa8hCsziv3gmFcWQ",
        "app_name": "18012003190",
        "balance": "2",
        "notify_type": "1",
        "sign": "59475100F4DEA7FCBA08EC96C0854F49",
        "token_symbol": "trc20_usdt",
        "tx_hash": "57c90a4dd958f117f973f269d0796edbcc267e1bd6c99ef74893413b8651e35f",
        "usdt_to_cny":"6.51"
      }
    
    输出参数说明
    参数名 类型 说明
    error int 0:通知处理成功; ⾮0: 通知处理失败,但不需要再次发送通知 如果回复中没有error字段,将每10分钟左右重复发送一次通知
    err_msg string 通知文字说明
    通知示例
      {
        "error": 0,
        "err_msg": "ok"
      }
    
    回调示例php
    <?php
    
    $content = file_get_contents('php://input');
    //接收json数据并保存notify.txt
    file_put_contents('./notify.txt', $content);
    //返回error
    $return = ['error'=>0,'err_msg'=>'ok'];
    echo json_encode($return,true);
    
    备注
    • 更多返回错误代码请看首页的错误代码描述

    提币通知回调

     

    简要描述
    • 提币处理通知
    请求URL
    • http://回调url
    请求方式
    • POST “Content-Type”:”application/json”
    通知参数说明
    参数名 类型 说明
    tx_hash string 到账唯⼀标示,请确保同⼀tx_hash不会重复⼊账
    balance string 提币金额
    app_name string 应用接口名
    out_serial string 商户流水号
    in_serial string 平台内部流水号
    address string 提币地址
    sign string 请务必对签名进⾏检测,避免攻击者伪造通知
    token_symbol string 提币币种,代币类型,⼩写
    notify_type int 通知类型,1到账通知,2提现发送通知,3提现到账通知
    notify_type_msg string 通知文字说明
    通知示例
      {
        "tx_hash": "0x9b9632a8509f38e080745cf7713619c62fa4df5e8f98886081bedfd90e209fb2",
        "balance": "10.000000",
        "app_name": "test",
        "out_serial": "111666222",
        "in_serial": "722d8b058bfe11e89a5d72000658e530",
        "address": "0xded99b580328671e77be756280d3b070bd371bae",
        "sign": "0D1EA3382D937DA292A1F771C0087A9F""token_symbol": "trc20_usdt""notify_type": 3"notify_type_msg": "confirm"
      }
    
    输出参数说明
    参数名 类型 说明
    error string 0:通知处理成功; ⾮0: 通知处理失败,但不需要再次发送通知 如果回复中没有error字段,将每10分钟左右重复发送一次通知
    err_msg string 通知文字说明
    通知示例
      {
        "error": 0,
        "err_msg": "ok"
      }
    
    回调示例php
    <?php
    
    $content = file_get_contents('php://input');
    //接收json数据并保存notify.txt
    file_put_contents('./notify.txt', $content);
    //返回error
    $return = ['error'=>0,'err_msg'=>'ok'];
    echo json_encode($return,true);

    订单查询

     

    简要描述
    • 订单查询接口
    请求URL
    • http://网关/api/orders
    请求方式
    • POST “Content-Type”:”application/json”
    请求参数说明
    参数名 类型 说明
    app_name string 应用名
    address string 地址
    symbol string 币种:trc20_usdt
    tx_id string 到账唯⼀标示,请确保同⼀tx_id不会重复⼊账
    sign string 验签
    sign string 请务必对签名进⾏检测,避免攻击者伪造通知
    请求示例

    {
    “app_name”:”66666_5fa94a7dc0ad2”,
    “address”:”TELADojwVQaJ4MFUYYkbGxDM7sPdHqFRL7”,
    “symbol”:”trc20_usdt”,
    “tx_id”:”970394d8398a7a7c5dad0deee04db5a4e266ee1324766347f38d8b0cf9ed108b”,
    “sign”:”72AFF368FA1768790A4F9FF8C7719C5D”,
    “nonce”:”A068BA358D4FF30F25DB1C0926B34098”
    }

    输出参数说明
    参数名 类型 说明
    tx_id string 到账唯⼀标示,请确保同⼀tx_id不会重复⼊账
    to_address string 充币地址
    balance_real string 充币金额
    create_time string 充币检测到账时间
    返回示例

    {
    “code”: 1,
    “msg”: “success”,
    “time”: “1605181460”,
    “data”: {
    “tx_id”: “970394d8398a7a7c5dad0deee04db5a4e266ee1324766347f38d8b0cf9ed108b”,
    “to_address”: “TELADojwVQaJ4MFUYYkbGxDM7sPdHqFRL7”,
    “balance_real”: “0.1”,
    “create_time”: 1604991941
    }
    }

    订单创建

     

    • 订单创建接口
    请求URL
    • http://网关/api/orders/create
    请求方式
    • POST “Content-Type”:”application/json”
    请求参数说明
    参数名 类型 说明
    app_name string 应用名
    orderno string 商户订单号
    money string 人民币金额
    return_url string 同步通知页面
    server_url string 异步通知页面
    sign string 请务必对签名进⾏检测,避免攻击者伪造通知
    nonce string 随机数参数
    请求示例

    {
    “app_name”:”66666_5fa94a7dc0ad2”,
    “orderno”:”202011130002”,
    “money”:”100”,
    “return_url”:”http://www.baidu.com“,
    “server_url”:”http://www.qq.com“,
    “sign”:”68FB8105BE72527237096796792ECDD2”,
    “nonce”:”A28BE32FDA7FB6AA30BBDFB30039EC16”
    }

    输出参数说明
    参数名 类型 说明
    orderno string 商户订单号
    pay_no string 平台订单号
    money string 充币金额:人民币
    price int 充币数量:USDT
    address int 充币地址
    usdt_to_cny int 人民币汇率
    pay_url int 支付跳转页面url
    返回示例

    {
    “code”: 1,
    “msg”: “success”,
    “time”: “1605246923”,
    “data”: {
    “orderno”: “202011130002”,
    “pay_no”: “2020111301552372102”,
    “money”: “100”,
    “price”: 15.361,
    “address”: “TZAivVgYsBzaZkq8PcP1m98DSBmcwHveYs”,
    “usdt_to_cny”: “6.51”,
    “pay_url”: “http://www.bori99.com/codepay/pay.php?orderno=2020111301552372102“
    }
    }

    支付成功同步通知GET方式
    参数名 类型 说明
    app_name string 应用名
    orderno string 商户订单号
    money string 充币金额:人民币
    price string USDT到账数量
    usdt_to_cny string 当前汇率
    pay_no string 平台订单
    address string 充币地址
    tx_hash string 链上hash值
    status int 支付状态2支付成功
    sign string 签名

    https://return_url/?app_name=66666_5fa94a7dc0ad2&orderno=202011130002&money=100.000000&price=15.361000&usdt_to_cny=&pay_no=202011130124351000000&address=TMcmprYpx32xmAPdBBsnpK11cjhDQc97HM&tx_hash=&status=2&sign=617E2193A57EC7959A5E96A528AC5BEA

    支付成功异步通知POST方式
    参数名 类型 说明
    address string 充币地址
    app_name string 应用名
    money string 充币金额:人民币
    orderno string 商户订单号
    pay_no string 平台订单
    price string USDT到账数量
    sign string 签名
    status int 支付状态2支付成功
    tx_hash string 链上hash值
    usdt_to_cny string 当前汇率

    {
    “address”:”TDwAGeH725ef1GjAXHZrhci8qf1bQRFmCh”,
    “app_name”:”test”,
    “money”:”1.50”,
    “orderno”:”20211915212210416”,
    “pay_no”:”2021010915212289153”,
    “price”:”0.234”,
    “sign”:”056B1FCE808C173660D231277C8AACF6”,
    “status”:2,
    “tx_hash”:”1b4c15457d5022b5a2cdb1995b6e396080d3c0732467f0bc12768ebb7aa08a00”,
    “usdt_to_cny”:”6.420”
    }

开源分享源码投稿资源网,免费给莘莘学子提供各种建站资源,学无止境,谦虚上行
开源分享源码集市-程序员投稿平台 » TRX自动充提生成公共地址接口源码文档教程