收缴宝条码收缴接口说明
方案目标 #01
方案为商户使用的用户提供“通用缴款支撑服务”,提供收缴宝条码收缴缴款方式,为缴款人提供更丰富、更灵活的缴款选择,让缴款更方便。
缴款流程 #02
调用条码收缴说明
使用扫描枪扫码后,自动生成订单,商户后端需要拼装charge对象,调用“通用缴款支撑服务”接口缴款。
调用条码收缴接口
统一接口为
com.bosssoft.sdk.model.Charge.create(chargeMap,serviceUrl,privateKey);
其中chargeMap为接口参数,见下方接口参数章节。
serviceUrl为我方提供的接口地址:
测试环境为:
http://debug.epayservice.cn/thirdpay/authpay/pay.do
正式环境为:
http://api.epayservice.cn/thirdpay/authpay/pay.do
privateKey为数据传输时签名加密所需使用的商户私钥。
调用条码收缴接口参数 #02.1
chargeMap参数内容:
属性 | 描述 | 类型 | 是否必填 | 补充 |
---|---|---|---|---|
merchant_no | 商户号 | String | 是 | |
widget_content | 订单内容 | String | 是 | |
front_url | 前端通知地址 | String | 是 | 条码付不需要 |
back_url | 后端通知地址 | String | 是 |
widget_content参数内容:
属性 | 描述 | 类型 | 是否必填 | 补充 |
---|---|---|---|---|
merchant_no | 商户号 | String | 是 | |
merchant_order_no | 商户订单号 | String | 是 | |
amount | 订单金额 | Integer | 是 | 单位 分 |
widget_param | 订单参数 | String | 是 | Json串含payCode 、authCode |
调用条码收缴接口返回 #02.2
接口返回值统一使用String类型接收,再转为相应的值集类型进行后续处理。
数据类型JSONArray:
属性 | 描述 | 类型 | 是否必填 | 补充 |
---|---|---|---|---|
merchant_order_no | 商户订单号 | String | 是 | |
amount | 收缴金额 | Integer | 是 | 单位 分 |
result | 收缴结果 | String | 是 | 200 成功,500 失败 |
result_des | 收缴结果描述 | String | 否 | 失败时填写失败原因 |
extra | 扩展参数 | String | 是 |
Demo
@RequestMapping(value = "/createCharge", method = RequestMethod.POST,
produces={"text/html;charset=UTF-8;","application/json;"})
@ResponseBody
public String createCharge(
@RequestParam(value = "merchant_no", required = true) String merchant_no,
@RequestParam(value="merchant_order_no",required =true) String merchant_order_no,
@RequestParam(value = "amount", required = true) Integer amount,
@RequestParam(value = "channel", required = true) String channel,
@RequestParam(value = "charge_param") String charge_param,
@RequestParam(value = "widget_content", required = true) String widget_content,
@RequestParam(value = "service_url", required = true) String service_url,
HttpServletRequest request, HttpServletResponse response) {
// merchant_no,channel,merchant_order_no,amount用于验证订单一致性和获取信息。
logger.info(merchant_no);
logger.info(merchant_order_no);
logger.info(amount);
// 收缴渠道取值,用户选择收缴方式点提交后,会将channel传进来
logger.info(channel);
// charge_param用于信息透传,如果想看参数是否传入请参照例子自行解析输出。
JSONObject charge_param_obj = (JSONObject) JSONObject.parse(charge_param);
logger.info(charge_param_obj.get("a"));
//重要:构造chargeMap
Map chargeMap = new HashMap();
chargeMap.put("merchant_no", merchant_no);
// 商户号,应与js中传入的一致,接到的merchant_no参数
chargeMap.put("subject", ParamConstant.SUBJECT);
// 商品标题,该参数最长为 32 个 Unicode 字符(商户根据自己的需求可选择传或不传)
chargeMap.put("body", ParamConstant.BODY);
// 商品描述信息,该参数最长为 100 个 Unicode 字符(商户根据自己的需求可选择传或不传)
chargeMap.put("widget_content", widget_content);
// 接到的widdget_content参数(调用js接口时传进来参数)
chargeMap.put("front_url", ParamConstant.FRONT_URL);// 前端通知地址
chargeMap.put("back_url",ParamConstant.BACK_URL);// 后端通知地址
Map extra = new HashMap();
chargeMap.put("extra", extra);
// 扩展参数,如果有需要的话构造一个map然后将map转换成json串传入
String chargeString = "";
String privateKey = "";//私钥赋值
try{
// 发起 create创建charge请求(参数为构造的的chargeMap,传入的controller的service_url)
chargeString = Charge.create(chargeMap, service_url ,privateKey);
logger.info(chargeString);
} catch (Exception e) {
e.printStackTrace();
}
return chargeString;
}
跳转收缴说明 #05
缴款服务后端返回跳转收缴所需的订单信息到商户后端,商户后端将信息返回到js接口,js接口自动进行跳转收缴。
关于我们
北京博思致新互联网科技有限责任公司成立于2016年,是行业领先的收缴服务提供商。
政付通小程序