Appearance
转账订单查询接口 ¶
提示
用于发起转账后,可以通过该接口主动查询转账订单的状态和信息,完成下一步的业务逻辑。
接口说明 ¶
参数 | 说明 |
---|---|
请求URL | /unipay/query/transferOrder |
请求方式 | POST |
请求类型 | application/json |
请求参数 ¶
字段名 | 变量名 | 必填 | 类型 | 长度 | 示例值 | 描述 |
---|---|---|---|---|---|---|
转账号 | transferNo | 否 | String | 32 | R00123 | 转账号和商户转账号不能同时为空,同时传输时以转账号为准 |
商户转账号 | bizTransferNo | 否 | String | 100 | DEVR24051019590563000001 | 转账号和商户转账号不能同时为空,同时传输时以转账号为准 |
用户IP | clientIp | 否 | String | 64 | 127.0.0.1 | 支持V4和V6 |
随机数值 | nonceStr | 否 | String | 32 | d112892e382a7093 | |
签名值 | sign | 否 | String | 64 | 072695d112892e382a7093b81e6a52af | |
请求时间 | reqTime | 是 | Long | 123123121 | 使用时间戳(秒级) |
响应结果 ¶
提示
业务数据包裹在公共响应参数
中的data
字段,在code
为0
时才会有返回数据。
字段名 | 变量名 | 必传 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
转账号 | transferNo | 是 | String | DEVP1753370980523384832 | |
商户转账号 | bizTransferNo | 是 | String | ||
通道转账号 | outTransferNo | 是 | String | ||
转账通道 | channel | 是 | String | ali_pay | |
转账金额 | amount | 是 | Integer | 10 | |
转账标题 | title | 是 | String | ||
转账原因 | reason | 否 | String | 测试转账 | |
转账类型 | transferType | 否 | String | 转账类型, 微信使用,见TransferTypeEnum | |
收款人类型 | payeeType | 是 | String | 见TransferPayeeTypeEnum | |
收款人账号 | payeeAccount | 是 | String | ||
收款人姓名 | payeeName | 是 | String | ||
转账状态 | status | 是 | String | success | 见TransferStatusEnum |
订单金额 | orderAmount | 是 | Integer | 100 | |
成功时间 | successTime | 否 | Long | 1707317960 | 转账完成的时间(秒级时间戳) |
错误码(订单) | errorCode | 否 | Integer | 0 | 与状态码(公共)不同,这里返回的是支付订单的错误状态 |
错误信息(订单) | errorCode | 否 | String | 余额不足 | 与错误信息(公共),这里返回的是支付订单的错误信息提示 |
签名 | sign | 是 | String | 072695d112892e382a7093b81e6a52af | |
状态码(公共) | code | 否 | Integer | 0 | 为0表示成功,非0表示失败 |
错误信息(公共) | msg | 否 | String | 关闭失败 | 状态非0时会有返回值 |
响应时间(公共) | resTime | 是 | Long | 123123121 | 服务返回请求的时间,时间戳(秒级) |
HTTP请求示例 ¶
请求参数 ¶
json
{
"bizTransferNo": "DEVT24062415292763000003",
"clientIp": "127.0.0.1",
"sign": "472230db18acf221cdcdff2833271eb71cf59fa437eba54c21b3416eb6415fba",
"reqTime": 1719757250
}
响应参数(成功) ¶
json
{
"msg": "success",
"code": 0,
"data": {
"code": 0,
"msg": null,
"resTime": 1719757369,
"sign": "3b9de9f3e3edae23989eabe975c380ba5c59d5e80bcd3bb346325938d7291333",
"bizTransferNo": "T1719214156174",
"transferNo": "DEVT24062415292763000003",
"outTransferNo": "20240624110070000002640001508388",
"channel": "ali_pay",
"amount": 1,
"title": "外部交易明细",
"reason": "策应",
"transferType": null,
"payeeType": "ali_open_id",
"payeeAccount": "065a9aEjER9Fa__hxYyvgYDlkhUiw_6RINhYHB2oegpWAo5",
"payeeName": "",
"status": "success",
"successTime": "2024-06-24 15:29:24",
"errorCode": null,
"errorMsg": null
},
"traceId": "GSlpsb7IamDe"
}
响应参数(失败) ¶
json
{
"msg": "success",
"code": 0,
"data": {
"code": 1,
"msg": "转账订单不存在",
"resTime": 1719757251,
"sign": "eedceb31bdb88d4c4946e60cfdc0f3d80ce5b9ee7e24cc3b948808622ee01dff"
},
"traceId": "gWZJQv9hexTe"
}
SDK请求示例 ¶
提示
使用SDK可以简化接入支付的速度
java
package cn.daxpay.single.sdk.query;
import cn.daxpay.single.sdk.code.SignTypeEnum;
import cn.daxpay.single.sdk.model.transfer.TransferOrderModel;
import cn.daxpay.single.sdk.net.DaxPayConfig;
import cn.daxpay.single.sdk.net.DaxPayKit;
import cn.daxpay.single.sdk.param.transfer.QueryTransferParam;
import cn.daxpay.single.sdk.response.DaxPayResult;
import cn.hutool.json.JSONUtil;
import org.junit.Before;
import org.junit.Test;
/**
* 分账查询
* @author xxm
* @since 2024/6/30
*/
public class QueryTransferOrderTest {
@Before
public void init() {
// 初始化支付配置
DaxPayConfig config = DaxPayConfig.builder()
.serviceUrl("http://127.0.0.1:9000")
.signSecret("123456")
.signType(SignTypeEnum.HMAC_SHA256)
.build();
DaxPayKit.initConfig(config);
}
@Test
public void testTransfer() {
QueryTransferParam param = new QueryTransferParam();
param.setBizTransferNo("DEVT24062415292763000003");
param.setClientIp("127.0.0.1");
DaxPayResult<TransferOrderModel> execute = DaxPayKit.execute(param);
System.out.println(JSONUtil.toJsonStr(execute));
}
}