单位交易授权接口
方案目标 #01
商户平台在处理个人交易业务时,如发起方位渠道商户,需向单位请求获取交易授权,生成预下单信息。 渠道商户根据授权完成预下单交易。
运行流程 #02
                                
                            
接口调用说明 #03
我方后端通过调用单位端接口,按照接口文档规定的参数进行组织报文, 通后端对参数进行加密请求到单位后端,单位将预下单信息加密后,返回给我方。
接口参数 #04
1、解析request请求,将输入流转换成StringBuffer类型的字符串, 然后用私钥进行解密,调用SDK封装的统一解密方法,转成json对象,根据接口字段来获取商户需要的字段,如下表:
| 属性 | 描述 | 类型 | 是否必填 | 补充 | 
|---|---|---|---|---|
| merchant_no | 商户号 | String | 是 | |
| business_no | 业务单号 | String | 是 | |
| extra | 扩展参数 | String | 否 | 
2、统一解密的方法
                            com.bosssoft.sdk.model.Message.decryptByPrivateKey(RsaStr, privateKey);
                            RsaStr为1中解析出加密后的字符串;
                            privateKey为数据传输时签名加密所需使用的商户私钥。
                            
                        接口返回 #05
| 属性 | 描述 | 类型 | 是否必填 | 补充 | 
|---|---|---|---|---|
| merchant_no | 商户号 | String | 是 | |
| widget_content | 订单内容 | String | 是 | 转出时需使用私钥签名 | 
| back_url | 后端通知地址 | String | 是 | |
| extra | 扩展参数 | String | 否 | 
widget_content参数内容(JSON):
| 属性 | 描述 | 类型 | 是否必填 | 补充 | 
|---|---|---|---|---|
| merchant_no | 商户号 | String | 是 | |
| merchant_order_no | 商户订单号 | String | 是 | |
| amount | 订单金额 | Integer | 是 | 单位 分 | 
| widget_param | 控件参数 | String | 否 | |
| subject | 商品标题 | String | 否 | |
| device_type | 设备类型 | String | 是 | pc、phone | 
| effective_time | 有效时间 | String | 否 | 1m~15d,m-分钟,h-小时,d-天 默认当天1c,24点失效 | 
| version_no | 版本编码 | String | 是 | 1.0旧接口,1.1新接口 | 
widget_content参数内容(JSON):
| 属性 | 描述 | 类型 | 是否必填 | 补充 | 
|---|---|---|---|---|
| nontax_amt | 非税金额合计 | Integer | 否 | 单位 分 | 
| other_amt | 其他金额合计 | Integer | 否 | 单位 分 | 
Demo #06
                             
@RequestMapping(value = "/auth", method = RequestMethod.POST)
@ResponseBody
public String auth (HttpServletRequest request,
                   HttpServletResponse response) throws Exception {
//从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);
        }
String privateKey="";//私钥赋值
String mes=Message.decryptByPrivateKey(str,privateKey);
    logger.info(mes);
//组装查询返回值
    String auth ="";
RSAMethod rsaMethod=new RSAMethod();
    Base64Utils bs = new Base64Utils();
      //私钥将对象加密
    byte[] chargeOBJ=null;
    String chargeSTR=null;
    try {
chargeOBJ = rsaMethod.encryptByPrivateKey(auth.getBytes(), ThirdPay.privateKey);
      chargeSTR= bs.encode(chargeOBJ);
    } catch (Exception e1) {
      e1.printStackTrace();
    }
    return chargeSTR;
}
                             
                         
                        关于我们
北京博思致新互联网科技有限责任公司成立于2016年,是行业领先的收缴服务提供商。
                        政付通小程序
                    公司动态
其它信息
联系我们
售前电话:
                    
                        010-8301-0914
                    
                
                售后电话:
                    
                        010-8301-0995
                    
                
            获取方案
留下您的联系方式,获取专业解决方案。