申请单状态通知
文档描述:代理商/商户可通过订阅的通知地址得到进件状态变更时的信息
接口说明
适用对象:代理商 特约商户
请求方式:POST
请求URL:该链接为平台代配置的固定订阅通知地址
请求类型:application/json 或 application/x-www-form-urlencoded
“必填”字段取值“Y“:必填;“N”:非必填;“C”代表条件必填;
通知参数
| 参数名 | 中文名 | 必填 | 类型 | 示例值 | 说明 |
|---|---|---|---|---|---|
| applyId | 申请单ID | Y | String | A195044022006604595 | 申请单ID |
| ifCode | 进件渠道代码 | Y | String | shengpay | 发起进件的渠道代码 |
| state | 进件状态 | Y | String | 2 | 1-审核中 2-进件成功 3-驳回待修改 4-待验证 5-待签约 6-签约完成 7-等待系统预审核 8-预审核拒绝 |
| agentNo | 代理商号 | C | String | A3929388111 | 代理商号 |
| mchNo | 商户号 | Y | String | M3929388111 | 商户号 |
| appId | 应用APPID | Y | String | 686b6f5b46c83837aebd1db2 | 商户应用ID |
| msgBizType | 消息类型 | Y | String | ST_APPLYMENT | ST_APPLYMENT-进件类型通知 |
| errorMsg | 错误描述信息 | C | String | 进件失败返回的错误描述 | |
| reqTime | 请求时间 | Y | String | 1622016572190 | 请求接口时间,13位时间戳 |
| sign | 签名 | Y | String | C380BEC2BFD727A4B6845133519F3AD6 | 签名值,详见签名算法 |
通知示例:
{
"ifCode": "shengpay",
"applyId": "A1954821251015557122",
"agentNo": "A1682391658",
"appId": "6883345446c81f673bc26a25",
"sign": "2F2357B3AB355CF036FBE282F962DEE7",
"state": "2",
"reqTime": "1755074999961",
"mchNo": "M1753429075",
"errorMsg": "",
"msgBizType": "ST_APPLYMENT"
}
响应示例:(undefined)
SUCCESS
SDK验签代码示例
@RequestMapping("/mchJeepayApplymentNotify")
public void mchJeepayApplymentNotify(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 获取到请求参数
MchApplymentNotifyResModel mchApplymentNotifyResModel = JeepayNotifyKit.convertMchApplymentNotifyResModel(request);
// 获取到jeepay回调参数中的: mchNo 和 appId
String mchNo = mchApplymentNotifyResModel.getMchNo();
String agentNo = mchApplymentNotifyResModel.getAgentNo();
String appId = mchApplymentNotifyResModel.getAppId();
String applyId = mchApplymentNotifyResModel.getApplyId(); // 申请单号
String mchAppSecret = ""; // TODO 根据[mchNo,appId]自行查询配置的秘钥
// 验签失败
if(!mchApplymentNotifyResModel.checkSign(mchAppSecret)){
response.getWriter().print("sign fail");
return;
}
// 以下为验签成功
// TODO 商户业务逻辑处理。。。。。。。。。。。
// 响应jeepay SUCCESS字样
response.getWriter().print("SUCCESS");
}