# 合并订单交易查询

最新更新时间:2023.06.13

合并订单交易查询

# 接口说明

请求URL: https://{domain}/os-base/query/merge/trade/v1/open

请求方式: POST

公共请求参数

参数名 必填 类型 说明
access_id 是 string 开发者唯一标识
sign_type 是 string 固定传RSA2
time_stamp 是 long 请求时间,Linux时间戳,单位毫秒
sign 是 string 签名结果
data 是 string 将业务参数转为JSON字符串,然后使用BASE64编码的数据

详细签名方法请阅读接口加密方案


业务请求参数

名称 必填 类型 说明
ownerMergeNo 条件必填 string 商户传给开放平台的合并交易订单号, 和osMergeNo不能同时为空
osMergeNo 条件必填 string 开放平台为商户生成的合并交易订单号, 和ownerMergeNo不能同时为空

公共响应参数

名称 必传 类型 说明
code 是 int 请求结果code,详细请参考错误码说明)
msg 是 string 请求结果描述,失败时会返回错误原因
data 否 object 请求结果返回的业务响应参数,若无业务参数则返回空

业务响应参数

名称 必传 类型 说明
ownerMergeNo 是 string 商户自传的合并交易订单号
osMergeNo 是 string 开放平台的合并交易订单号(开放平台内唯一)
ownerAppBuyerId 否 string 子商户应用对应用户ID,openId
buyerLoginId 否 string 买家在支付机构的登录账号
subOrders 是 List 子单交易结果
↪ ownerTradeNo 是 string 第三方商户创建的唯一订单号
↪ osTradeNo 是 string 开放平台交易记录唯一订单号(开放平台内唯一)
↪ tpTradeNo 是 string 该笔交易记录在支付机构(支付宝/微信)的订单号
↪ tradeStatus 是 string 交易状态 WAIT:交易创建,等待买家付款;SUCCESS: 支付成功;SUCCESS_PART_REFUND: 支付成功有部分退款;SUCCESS_FULL_REFUND: 支付成功全额退款;FAILURE:支付失败(包含用户取消支付、超时关闭);CLOSE:已关闭,订单超过操作时限
↪ orderFee 是 int 该笔订单的资金总金额 单位为分
↪ paymentFee 是 int 交易的用户实付金额 单位为分
↪ remark 是 string 商户给开放平台的的附加数据,支付平台原封不动返回
↪ osPartnerId 是 long 开放平台分配给商户的服务商ID
↪ osMerchantCode 是 string 开放平台分配给商户的商户编号
↪ osStoreCode 是 string 开放平台商户门店编号
↪ createdTime 是 long 交易下单时间,时间戳,标准北京时间
↪ payTime 是 long 用户完成支付的时间,时间戳,标准北京时间
↪ payChannel 是 string 支付渠道 ALI_PAY:支付宝,WX_PAY:微信
↪ payProduct 是 string 支付产品类型 APP:手机App客户端,MINI_APP:小程序,M_WEB:手机网页支付,PC_WEB:电脑网页支付,USER_QR:用户扫描商家二维码支付,MCH_QR:商家扫描用户付款码支付,FACE:刷脸付
↪ title 是 string 支付标题
↪ callbackUrl 否 string 回调地址,请求交易下单传参则有值
↪ refundFee 是 int 退款金额,单位为分
↪ payBusiness 否 string 业务类型,请求交易下单传参则有值

SDK方法

// 创建上传数据client
TyhPaymentClient client = TyhPaymentClient.create(TyhOptions.builder()
                .accessId(ACCESS_ID)
                .secretKey(SECRET_KEY)
                .allowUpload(Boolean.TRUE)
                .build());

// 构建查询合并交易订单的请求参数
TradeMergeQuery query = TradeMergeQuery.builder()
                .ownerMergeNo("owner_merge_20211126")
                .osMergeNo("os_merge_20211126") //两个参数至少传一个即可,不可同时为空
                .build();

// 开始请求查询合并订单交易结果
try {
    Results<TradeMergeQueryResultDto> results = client.tradeMergeQuery(query);
    // 获取合并支付查询结果
    TradeMergeQueryResultDto dto = results != null && results.ifSuccess() ? results.getData() : null;
} catch (Exception e) {
    e.printStackTrace();
}
     

入参格式

{
  "ownerMergeNo" : "owner_merge_20211126",
  "osMergeNo" : "os_merge_20211126"
}

出参格式:

{
  "code": 8888,
  "msg": "处理成功",
  "data": {
    "ownerMergeNo": null,
    "osMergeNo": "os_merge_20211126",
    "subOrders": [
      {
        "ownerTradeNo": "owner_merge_17830263201019",
        "tpTradeNo": "tp_merge_25775531258369",
        "osTradeNo": "os_merge_25775531250618",
        "tradeStatus": "WAIT",
        "orderFee": 1,
        "paymentFee": 2,
        "remark": null,
        "osMerchantCode": "2163737276721967",
        "osStoreCode": "111",
        "createdTime": 1637998177598,
        "payTime": 1637998191002,
        "payChannel": "WX_PAY",
        "payProduct": "USER_QR",
        "title": "iPhone13 Pro Max",
        "callbackUrl": null,
        "refundFee": 0,
        "payBusiness": null
      },
      {
        "ownerTradeNo": "owner_merge_19831263201019",
        "tpTradeNo": "os_merge_25531263201019",
        "osTradeNo": "os_merge_25531263201281",
        "tradeStatus": "WAIT",
        "orderFee": 2,
        "paymentFee": 2,
        "remark": null,
        "osMerchantCode": "2163737276721967",
        "osStoreCode": "111",
        "createdTime": 1637998177598,
        "payTime": 1637998191002,
        "payChannel": "WX_PAY",
        "payProduct": "USER_QR",
        "title": "iPhone12 Pro Max",
        "callbackUrl": null,
        "refundFee": 0,
        "payBusiness": null
      }
    ]
  },
  "error": null
}

code 为 8888 表示操作成功,其它值则为失败,具体内容参见错误码说明)。