TRX自动充提生成公共地址接口源码文档教程
获取地址
简要描述
- 获取充币地址
请求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=7CB5EFDBB81AB5865B7A79B7F77C8F9APHP签名方法
<?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://btzy.cc/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”
}