Skip to content

转账订单查询接口

提示

用于发起转账后,可以通过该接口主动查询转账订单的状态和信息,完成下一步的业务逻辑。

接口说明

参数说明
请求URL/unipay/query/transferOrder
请求方式POST
请求类型application/json

请求参数

字段名变量名必填类型长度示例值描述
转账号transferNoString32R00123转账号和商户转账号不能同时为空,同时传输时以转账号为准
商户转账号bizTransferNoString100DEVR24051019590563000001转账号和商户转账号不能同时为空,同时传输时以转账号为准
用户IPclientIpString64127.0.0.1支持V4和V6
随机数值nonceStrString32d112892e382a7093
签名值signString64072695d112892e382a7093b81e6a52af
请求时间reqTimeLong123123121使用时间戳(秒级)

响应结果

提示

业务数据包裹在公共响应参数中的data字段,在code0时才会有返回数据。

字段名变量名必传类型示例值描述
转账号transferNoStringDEVP1753370980523384832
商户转账号bizTransferNoString
通道转账号outTransferNoString
转账通道channelStringali_pay
转账金额amountInteger10
转账标题titleString
转账原因reasonString测试转账
转账类型transferTypeString转账类型, 微信使用,见TransferTypeEnum
收款人类型payeeTypeString见TransferPayeeTypeEnum
收款人账号payeeAccountString
收款人姓名payeeNameString
转账状态statusStringsuccess见TransferStatusEnum
订单金额orderAmountInteger100
成功时间successTimeLong1707317960转账完成的时间(秒级时间戳)
错误码(订单)errorCodeInteger0与状态码(公共)不同,这里返回的是支付订单的错误状态
错误信息(订单)errorCodeString余额不足与错误信息(公共),这里返回的是支付订单的错误信息提示
签名signString072695d112892e382a7093b81e6a52af
状态码(公共)codeInteger0为0表示成功,非0表示失败
错误信息(公共)msgString关闭失败状态非0时会有返回值
响应时间(公共)resTimeLong123123121服务返回请求的时间,时间戳(秒级)

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));
    }
}
本文档内容版权属于济南易杯光年软件技术有限公司