线下缴费通知接口说明
方案目标 #01
商户通过“通用缴款支撑服务”生单完成后,可以选择线上、线下缴款,并且都会收到“通用缴款支撑服务”的后台通知。
通知流程 #02
线下缴费通知接口说明 #03
商户完成业务处理后,非税系统将缴款结果发送到我方后台,我方判断为线下缴款后,会将缴费结果推送给商户后端。
接口 #04
解析request请求,将输入流转换成StringBuffer类型的字符串,然后用私钥进行解密, 调用SDK封装的统一解密方法,转成json对象,根据接口字段来获取商户对账需要的字段,如下表:
属性 | 描述 | 类型 | 是否必填 | 补充 |
---|---|---|---|---|
merchant_no | 商户号 | String | 是 | |
amount | 收缴金额 | Integer | 是 | 单位 分 |
result | 收缴结果 | String | 是 | 200 成功,500 失败 |
result_des | 收缴结果描述 | String | 否 | 失败时填写失败原因 |
extra | 扩展参数 | String | 是 | 缴款码、缴款时间、缴款人等信息 |
extra参数:
属性 | 描述 | 类型 | 是否必填 | 补充 |
---|---|---|---|---|
pay_code | 缴款码 | String | 是 | |
confirm_date | 缴款时间 | Integer | 是 | |
payer_name | 缴款人 | String | 是 |
2、统一解密的方法
com.bosssoft.sdk.model.Message.decryptByPrivateKey(RsaStr, privateKey);
RsaStr为1中解析出加密后的字符串;
privateKey为数据传输时签名加密所需使用的商户私钥。
3、最后商户后端须给我方响应成功或失败,具体响应字段如下:
属性 | 描述 | 类型 | 是否必填 | 补充 |
---|---|---|---|---|
result | 收缴结果 | String | 是 | 200 成功,500 失败 |
result_des | 收缴结果描述 | String | 否 | 失败时填写失败原因 |
extra | 扩展参数 | String | 否 |
Demo #04
@RequestMapping(value = "/backnotice", method = RequestMethod.POST)
@ResponseBody
public String backNotice(HttpServletRequest request,
HttpServletResponse response) throws Exception {
logger.info("客户端开始接受后台回调通知...");
//从request中获取到输入流,然后解析流到StringBuffer中获取到加密后的Stringbuffer字符串
StringBuffer stringBuffer = new StringBuffer();
try {
InputStream is = request.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String s = "";
while ((s = br.readLine()) != null) {
stringBuffer.append(s);
}
} catch (IOException e) {
e.printStackTrace();
}
String str = stringBuffer.toString();
String privateKey="";//私钥赋值
String mes=Message.decryptByPrivateKey(str,privateKey);
logger.info(mes);
//给予服务端响应响应
JSONObject json=new JSONObject();
//成功
json.put("result", "200");
logger.info("客户端接受后台回调通知结束...");
return json.toString();
}
关于我们
北京博思致新互联网科技有限责任公司成立于2016年,是行业领先的收缴服务提供商。
政付通小程序
公司动态
其它信息
联系我们
联系电话:
13189095618
获取方案
留下您的联系方式,获取专业解决方案。