费率优惠活动交易查询
接口描述:调用此接口可查询参与活动的商户在交易中手续费的补贴情况。
接口说明
适用对象:代理商
请求URL:https://pay.yintongzaixian.com/api/rate/marketing/order/query
请求方式:POST
请求类型:application/json 或 application/x-www-form-urlencoded
“必填”字段取值“Y“:必填;“N”:非必填;“C”代表条件必填;
请求参数
| 参数名 | 中文名 | 必填 | 类型 | 示例值 | 说明 |
|---|---|---|---|---|---|
| ifCode | 支付接口 | Y | String | shengpay | 支付接口,例如:shengpay-盛付通(当前只支持盛付通渠道) |
| agentNo | 代理商号 | C | String | A3929388111 | 代理商号,代理商发起时必填 |
| mchNo | 商户号 | Y | String | M3929388111 | 商户号 |
| appId | 应用APPID | Y | String | 686b6f5b46c83837aebd1db2 | 应用ID |
| payOrderId | 支付订单号 | C | String | P20160427210604000490 | 支付中心生成的订单号,与trxId二者传一即可 |
| trxId | 渠道交易订单号 | C | String | M202511051192884220453811111 | 渠道生成的交易订单号,与payOrderId二者传一即可 |
| reqTime | 请求时间 | Y | String | 1622016572190 | 请求接口时间,13位时间戳 |
| version | 接口版本 | Y | String | 1.0 | 接口版本号,固定:1.0 |
| sign | 签名 | Y | String | C380BEC2BFD727A4B6845133519F3AD6 | 签名值,详见签名算法 |
| signType | 签名类型 | Y | String | MD5 | 签名类型,目前只支持MD5或RSA2方式 |
请求示例:
{
"ifCode": "shengpay",
"appId": "694374ca19419475741a1ed6",
"sign": "116C447B619DA540183DC42ED6EDD4CD",
"signType": "MD5",
"reqTime": "1766546268021",
"mchNo": "M1710896284",
"trxId": "M202511051192884220453811111",
"version": "1.0"
}
响应结果:
| 参数名 | 中文名 | 必填 | 类型 | 示例值 | 说明 |
|---|---|---|---|---|---|
| code | 返回状态 | Y | int | 0 | 0-处理成功,其他-处理有误,详见错误码 |
| msg | 返回信息 | N | String | 签名失败 | 具体错误原因,例如:签名失败、参数格式校验错误 |
| sign | 签名信息 | N | String | AEB66E4CCE4FFA2A72D133E65C4C0CCA | 对data内数据签名,如data为空则不返回 |
| data | 返回数据 | N | String | {} | 返回json格式业务数据 |
data响应参数说明:
| 参数名 | 中文名 | 必填 | 类型 | 示例值 | 说明 |
|---|---|---|---|---|---|
| orderInfoList | 订单信息列表 | N | String | [] | jsonArray格式字符串 |
| ifCode | 支付接口 | Y | String | shengpay | 支付接口,例如:shengpay-盛付通(当前只支持盛付通渠道) |
| status | 渠道处理状态 | Y | String | SUCCESS | SUCCESS-为处理成功,其他为失败 |
| errCode | 渠道错误码 | N | String | 渠道返回错误码 | |
| errMsg | 渠道错误描述 | N | String | 渠道返回错误描述 |
orderInfoList参数说明:
| 表头 | 表头 | 表头 |
|---|---|---|
| 参数名 | 类型 | 说明 |
| trxId | String | 渠道交易订单号 |
| requestNo | String | 交易请求号 |
| trxType | String | 交易类型 PAYMENT:支付; REVERSE:撤销 |
| amt | Integer | 交易金额,单位为分 |
| fee | Integer | 交易手续费,单位为分 |
| minusFee | Integer | 补贴手续费,单位为分 |
响应结果示例:
{
"code": 0,
"data": {
"ifCode": "shengpay",
"orderInfoList": "[{\"amt\":500,\"fee\":1,\"minusFee\":1,\"requestNo\":\"MP202511051192884220453822222\",\"trxId\":\"M202511051192884220453811111\",\"trxType\":\"PAYMENT\"}]",
"status": "SUCCESS"
},
"msg": "SUCCESS",
"sign": "9446EF7F17B5593211159DB8E6D0C6E5"
}
SDK调用示例(Java):
JeepayClient jeepayClient = JeepayClient.getInstance(Jeepay.appId, Jeepay.apiKey, Jeepay.getApiBase());
RateMarketingOrderQueryRequest request = new RateMarketingOrderQueryRequest();
RateMarketingOrderQueryReqModel model = new RateMarketingOrderQueryReqModel();
model.setMchNo(Jeepay.mchNo); // 商户号
model.setAppId(jeepayClient.getAppId()); // 应用ID
request.setBizModel(model);
try {
RateMarketingOrderQueryResponse response = jeepayClient.execute(request);
_log.info("验签结果:{}", response.checkSign(Jeepay.apiKey));
if (response.isSuccess(Jeepay.apiKey)) {
_log.info("data:{}", response.getData());
} else {
_log.info("请求失败:mchNo={}, msg={}", Jeepay.mchNo, response.getMsg());
}
} catch (JeepayException e) {
_log.error(e.getMessage());
}