查询订单状态
1. 接口调用:
https://{host}/api/v2/queryOrderState
2. 请求参数实例
参数 | 是否必须 | 说明 |
---|---|---|
equipmentNo | 是 | 设备唯一编号 |
sourceType | 是 | ANDROID,IOS,H5 |
orderId | 是 | eg:1fc8499f-dd6d-4ff3-8b7f-7a0d74c59adc |
3.请求参数示例
{
"equipmentNo":"SFjeigreEIFegjieFei",
"sourceType":"H5",
"orderId":"9d4a577d-fdb1-466c-8da2-a5ad3553260b"
}
4.返回结果示例
{
"data": {
"chainFee": "0.001",//兑换完成后发币旷工费
"changeType": "advanced",//去中心化兑换
"choiseFeeType": "3", // 手续费类型
"completeTime": null,
"createTime": "2022-03-10 18:44:21",
"dealFinishTime": null,
"dealReceiveCoinAmt": "",
"depositCoinAmt": "2",
"depositCoinCode": "ETH",
"depositCoinFeeAmt": "0.004",//兑换手续费
"depositCoinFeeRate": "0.002",//兑换手续费率
"depositCoinState": "wait_send",
"depositHashExplore": "https://etherscan.io/tx/null", //存币hash
"depositTxid": "",
"destinationAddr": "0xAE93FA34f728855cE663cf9FcF8e32148F079071",//用户接收币种地址
"detailState": "wait_deposit_send",//订单状态(详见查询订单状态接口)
"instantRate": "6.874588522739",//汇率
"isDiscount": "N",
"isNft": "",
"kycUrl": "",//超过当日限额的kyc路径(详见查询订单状态接口)
"nftUrl": "",
"orderId": "f94e631b-d99b-4dd5-98f7-09bf99d16d94",//订单号
"payTokenUrl": "",
"platformAddr": "0x3181af4f7cc7251a6a4eda75526c8abe10106db8",//存币地址(用户创建订单后需向此地址转币,转币 币种depositCoinCode,转币数量depositCoinAmt)
"receiveCoinAmt": "13.713109",
"receiveCoinCode": "BNB(BSC)",
"receiveHashExplore": "https://bscscan.com/tx/",
"receiveSwftAmt": "2416.89",
"refundAddr": "0xAE93FA34f728855cE663cf9FcF8e32148F079071",//退币地址(兑换失败退回存币币种到此地址)
"refundCoinAmt": "",//兑换失败时的退币数量
"refundCoinMinerFee": "",
"refundDepositTxid": "",//兑换失败时的退币哈希
"refundHashExplore": "https://etherscan.io/tx/",
"refundSwftAmt": "",
"router": {},
"swftCoinFeeRate": "0.001",
"swftCoinState": "",
"swftReceiveAddr": "",
"swftRefundAddr": "",
"timeoutShowPlatformAddr": "N", // 是否展示复用地址
"tradeState": "",
"transactionId": "",//兑换完成的发币哈希
"burnRate": "0",//燃烧率
"refundReason": "" // 退币原因
},
"resCode": "800",
"resMsg": "成功",
"resMsgEn": ""
}
5.返回参数说明
字段名称 | 字段 | 数据类型 | 备注 |
---|---|---|---|
订单号 | orderId | String | eg:d47e8b9b-c17f-432b-9285-a46c0a3ceb9a |
存币币种 | depositCoinCode | String | eg:ETH |
接收币币种 | receiveCoinCode | String | eg:BTC |
存币数量 | depositCoinAmt | String | eg:1 |
接收币数量 | receiveCoinAmt | String | eg:0.1 |
存币地址 | platformAddr | String | eg:123123123-232-1231232 |
目标币接收地址 | destinationAddr | String | "eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY, 如有memo,请讲memo放到地址后,用#分隔,例如:18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY#1927632" |
退原币的地址 | refundAddr | String | "eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY 如有memo,请讲memo放到地址后,用#分隔,例如:18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY#1927632" |
存币的手续费率 | depositCoinFeeRate | String | eg:手续费率 |
存币的手续费金额 | depositCoinFeeAmt | String | eg:手续费收取的原币的数量 |
退币金额 | refundCoinAmt | String | eg: 0.98 |
兑换成功交易id | transactionId | String | 链上交易id,在兑换完成并已发币之后,该字段才会有值 |
兑换失败交易id | refundDepositTxid | String | 链上交易id,在兑换失败退币情况下,已退币之后,该字段才会有值 |
订单状态 | detailState | String | "(1)wait_deposit_send:等待存币发送 (2)timeout:超时; (3)wait_exchange_push:等待交换信息推送; (4)wait_exchange_return:等待交换信息返回; (5.1)wait_receive_send:等待接收币种发送, wait_receive_confirm:等待接收币种确认, receive_complete:接收币种确认完成. (5.2)wait_refund_send:等待退原币币种发送, wait_refund_confirm:等待退原币币种确认, refund_complete:退原币币种确认完成; (6)ERROR/error:正在处理的订单 (7)WAIT_KYC: 等待进行KYC或联系客服提供链接" |
实际兑换得到的币的数量 | dealReceiveCoinAmt | String | 实际兑换得到的数量,在兑换未完成时,该值为空字符串 |
订单完成时间 | completeTime | String | 订单发币或退币完成时的时间(UTC+8) |
燃烧率 | burnRate | String | 燃烧率 默认为0 |
订单创建时间 | createTime | String | 订单创建时间 |
订单完成的时间 | dealFinishTime | String | 订单完成的时间 |
存币的存放状态 | depositCoinState | String | wait_send:待发送、wait_confirm:待确认、already_confirm:已确认 |
退手续费交易id | depositTxid | String | 退手续费交易id |
速币数量 | receiveSwftAmt | String | 速币数量 |
速币的手续费率 | swftCoinFeeRate | String | 速币的手续费率 |
兑换成功发币矿工费 | chainFee | String | 兑换成功发币矿工费 |
兑换类型 | changeType | String | 兑换类型 |
超过当日限额kyc路径 | kycUrl | String | 超过当日限额kyc路径 |
退币原因 | refundReason | String | 返回数字 对应下方信息
1 流动性不足(默认)
2 误差超过阈值
3 kyc超额
4 地址黑名单
5 目标币维护 6 兑换数量不在范围内 |
入参字段 | 说明 |
equipmentNo | 环境编号,这个可用于查询属于该编号的所有订单信息,请勿泄露,详细查询订单相关信息可以参见 queryAllTrade 和 queryOrderState 接口 |
java代码示例
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"equipmentNo\": \"Zasdf352943090468518\",\n \n \"sourceType\": \"ANDROID\",\n\n \"orderId\": \"de752da3-0ff7-4682-8038-d8e1f20cad95\"\n}");
Request request = new Request.Builder()
.url("https://{host}/api/v2/queryOrderState")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
C# 代码示例
var client = new RestClient("https://{host}/api/v2/queryOrderState");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("undefined", "{\n \"equipmentNo\": \"Zasdf352943090468518\",\n \n \"sourceType\": \"ANDROID\",\n\n \"orderId\": \"de752da3-0ff7-4682-8038-d8e1f20cad95\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Objective-C 代码示例
#import <Foundation/Foundation.h>
NSDictionary *headers = @{ @"Content-Type": @"application/json",
@"cache-control": @"no-cache" };
NSDictionary *parameters = @{ @"equipmentNo": @"Zasdf352943090468518",
@"sourceType": @"ANDROID",
@"orderId": @"de752da3-0ff7-4682-8038-d8e1f20cad95" };
NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{host}/api/v2/queryOrderState"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
Nodejs代码示例
//getToken example
import axios from 'axios'
const params = {
equipmentNo:"zfgryh918f93a19fdg6918a68cf5",
sourceType:"H5",
userNo:"",
sessionUuid:"",
orderId:"9d4a577d-fdb1-466c-8da2-a5ad3553260b",
sourceFlag:"widget"
}
const res = await axios.post('https://{host}/api/v2/queryOrderState', params )
console.log(res)
.png?alt=media&token=75698110-9743-421c-98b8-7920f98471a5)
返回结果示例
{
"data": {
"chainFee": "0.001",//兑换完成后发币旷工费
"changeType": "advanced",//去中心化兑换
"choiseFeeType": "3",
"completeTime": null,
"createTime": "2022-03-10 18:44:21",
"dealFinishTime": null,
"dealReceiveCoinAmt": "",
"depositCoinAmt": "2",
"depositCoinCode": "ETH",
"depositCoinFeeAmt": "0.004",//兑换手续费
"depositCoinFeeRate": "0.002",//兑换手续费率
"depositCoinState": "wait_send",
"depositHashExplore": "https://etherscan.io/tx/null",
"depositTxid": "",
"destinationAddr": "0xAE93FA34f728855cE663cf9FcF8e32148F079071",//用户接收币种地址
"detailState": "wait_deposit_send",//订单状态(详见查询订单状态接口)
"instantRate": "6.874588522739",//汇率
"isDiscount": "N",
"isNft": "",
"kycUrl": "",//超过当日限额的kyc路径(详见查询订单状态接口)
"nftUrl": "",
"orderId": "f94e631b-d99b-4dd5-98f7-09bf99d16d94",//订单号
"payTokenUrl": "",
"platformAddr": "0x3181af4f7cc7251a6a4eda75526c8abe10106db8",//存币地址(用户创建订单后需向此地址转币,转币币种depositCoinCode,转币数量depositCoinAmt)
"receiveCoinAmt": "13.713109",
"receiveCoinCode": "BNB(BSC)",
"receiveHashExplore": "https://bscscan.com/tx/",
"receiveSwftAmt": "2416.89",
"refundAddr": "0xAE93FA34f728855cE663cf9FcF8e32148F079071",//退币地址(兑换失败退回存币币种到此地址)
"refundCoinAmt": "",//兑换失败时的退币数量
"refundCoinMinerFee": "",
"refundDepositTxid": "",//兑换失败时的退币哈希
"refundHashExplore": "https://etherscan.io/tx/",
"refundSwftAmt": "",
"router": {},
"swftCoinFeeRate": "0.001",
"swftCoinState": "",
"swftReceiveAddr": "",
"swftRefundAddr": "",
"timeoutShowPlatformAddr": "N",
"tradeState": "",
"transactionId": "",//兑换完成的发币哈希
"burnRate": "0",//燃烧率
"refundReason": "" // 退币原因
},
"resCode": "800",
"resMsg": "成功",
"resMsgEn": ""
}

Last modified 11d ago