费率优惠活动查询
接口描述:调用此接口可查询商户在通道配置的活动信息的具体使用情况。
接口说明
适用对象:代理商
请求URL:https://pay.yintongzaixian.com/api/rate/marketing/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 |
| actName | 活动名称 | N | String | 测试营销活动 | 活动名称 |
| 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": "CB38ACD70B232689332331A8A1AEA6FC",
"signType": "MD5",
"reqTime": "1766477199896",
"mchNo": "M1710896284",
"version": "1.0",
"actName": "测试营销活动"
}
响应结果:
| 参数名 | 中文名 | 必填 | 类型 | 示例值 | 说明 |
|---|---|---|---|---|---|
| code | 返回状态 | Y | int | 0 | 0-处理成功,其他-处理有误,详见错误码 |
| msg | 返回信息 | N | String | 签名失败 | 具体错误原因,例如:签名失败、参数格式校验错误 |
| sign | 签名信息 | N | String | AEB66E4CCE4FFA2A72D133E65C4C0CCA | 对data内数据签名,如data为空则不返回 |
| data | 返回数据 | N | String | {} | 返回json格式业务数据 |
data响应参数说明:
| 参数名 | 中文名 | 必填 | 类型 | 示例值 | 说明 |
|---|---|---|---|---|---|
| activityInfoList | 已报名的活动信息列表 | N | String | [] | jsonArray格式字符串 |
| ifCode | 支付接口 | Y | String | shengpay | 支付接口,例如:shengpay-盛付通(当前只支持盛付通渠道) |
| status | 渠道处理状态 | Y | String | SUCCESS SUCCESS-为处理成功,其他为失败 | |
| errCode | 渠道错误码 | N | String | 渠道返回错误码 | |
| errMsg | 渠道错误描述 | N | String | 渠道返回错误描述 |
activityInfoList参数说明:
| 参数名 | 类型 | 说明 |
|---|---|---|
| actName | String | 活动名称 |
| amtStat | Long | 参与营销活动的交易金额,单位为分 |
| mchActMemo | String | 备注 |
| minusFeeStat | Long | 已使用的营销手续费,单位为分 |
| monCumMktAmtLimit | Long | 月累计限额,单位为分 |
| totalCumMktAmtLimit | Long | 总累计限额,单位为分 |
| outMchActId | String | 商户活动ID(外部) |
| statCycle | String | 统计周期 |
| updateTime | String | 更新时间 |
| validFrom | String | 活动起始时间 |
| validTo | String | 活动结束时间 |
响应结果示例:
说明:示例中activityInfoList所包含的字段个数和格式是实测中渠道返回的,参数说明中的参数不是全必返
{
"code": 0,
"data": {
"activityInfoList": "[{\"actName\":\"测试营销活动\",\"amtStat\":500,\"mchActMemo\":\"\",\"minusFeeStat\":1,\"monCumMktAmtLimit\":99999900,\"outMchActId\":\"-\",\"statCycle\":\"2025-11\",\"updateTime\":\"1762395575034\",\"validFrom\":\"2025-10-23\",\"validTo\":\"2026-12-31\"}]",
"ifCode": "shengpay",
"status": "SUCCESS"
},
"msg": "SUCCESS",
"sign": "50E4F424E4516BD228C11D459B97ECF8"
}
SDK调用示例(Java):
JeepayClient jeepayClient = JeepayClient.getInstance(Jeepay.appId, Jeepay.apiKey, Jeepay.getApiBase());
RateMarketingQueryRequest request = new RateMarketingQueryRequest();
RateMarketingQueryReqModel model = new RateMarketingQueryReqModel();
model.setMchNo(Jeepay.mchNo); // 商户号
model.setAppId(jeepayClient.getAppId()); // 应用ID
request.setBizModel(model);
try {
RateMarketingQueryResponse 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());
}