图片上传

1、修订记录

修订记录 日期 说明 作者
1.0 2021.11.10 初稿 薛晨

2、业务说明

(1)接口说明

图片上传是将商户相关图片传输给银盛,此接口同类型的图片只能传一次,建议图片串行上传(一张一张的上传),避免被限流,不支持修改

3、请求地址

环境 HTTPS请求地址
测试环境 https://appdev.ysepay.com/saas/org/uploadPic
正式环境 https://ouser.ysepay.com:6443/saas/org/uploadPic

4、请求参数说明

4.1、公共请求参数

参数 类型(长度) 必填 参数说明
reqFlowId String(20) Y 请求流水号 示例值:202110011944011101,注:该字段不参与签名
file File Y 图片
图片大小:不超过1M
图片类型:jpg、jpeg、png、 bmp、gif
picType String(2) Y 图片类型 类型编码请参考附录8,根据注册的商户模式不同,上传的图片不同
营业证明文件的可选范围:
个体户:营业执照;
企业:营业执照;
事业单位:事业单位法人证书;
政府机关:事业单位法人证书 或 其他证明文件;
社会组织:民办非企业单位登记证书 或 基金会法人登记证书 或 其他证明文件。
sysFlowId String(50) Y 合作方系统流水(商户进件接口返回) 示例:12202110111409447515387
signValue String Y 签名串,请参考"签名样例以及demo下载"

5、响应参数说明

银盛支付对商户的请求数据处理完成后,会将处理的结果数据同步回执给商户。

请注意:银盛后期会对返回参数保留扩展的权力,扩展方式为新增参数但不会删除参数,请商户在解析银盛返回参数时要支持银盛可能扩展参数这种情况。

5.1、公共响应参数

参数 类型(字节长度) 必填 参数说明
reqFlowId String(20) Y 请求流水号 示例值:202110011944011101,注:该字段不参与签名
signValue String(128) Y 签名串,请参考"签名样例以及demo下载"
data String Y 业务参数(JSON数据)

5.2、业务响应参数

data(JSON数据)

参数 类型(字节长度) 必填 参数说明
code String(2) Y 返回码 00-成功; 50-超时; 99-失败
note String(100) Y 返回码说明
sysFlowId String(50) Y 合作方系统流水 示例:12202110111409447515387

6、样例

``` public String uploadPic() throws Exception { /* 1、组装请求参数/ //业务参数: 业务参数说明详细见接口文档 HashMap param = new HashMap(); //图片类型, 类型编码请参考文档、根据注册的商户模式不同,上传的图片不同 param.put("picType","A001"); //合作方系统流水,调用商户进件接口成功后会返回 param.put("sysFlowId","12202110111409447515387");

    //图片文件转换为byte数组,用于上传
    File file = new File("D:/data/test.jpg");
    byte[] bytesArray = new byte[(int) file.length()];
    FileInputStream fis = new FileInputStream(file);
    fis.read(bytesArray);
    fis.close();

    /*2、对数据进行加签,并存入请求数据*/
    //客户端私钥证书路径: 证书在入网流程中自己申请的
    String privateKeyFilePath = "D:/datas/yulong_666.pfx";
    //客户端私钥密钥: 私钥密钥在入网流程中自己申请私钥证书时填写的
    String privateKeyPassword = "123456";
    //请求流水号: 根据自己要求生成,生成有意义的请求流水号
    String reqFlowId = String.valueOf(System.currentTimeMillis());
    String sign = YsfSignUtil.sign(param, privateKeyFilePath, privateKeyPassword);
    param.put("signValue", sign);
    param.put("reqFlowId", reqFlowId);

    /*3、发送请求*/
    //扫码服务商“商户资料变更”修改地址,具体以文档为准
    String reqUrl = "http://orgmerc.ysepay.com:8880/saas/org/uploadPic";
    String result = HttpClientUtil.sendPostFile(reqUrl,param,bytesArray,file.getName(),"file");

    /*4、结果验签*/
    //银盛公钥证书路径: 证书入网申请后发放
    String ysPublicKeyFilePath = "D:/datas/businessgate.cer";
    JSONObject jsonObject = JSONObject.parseObject(result);
    // 加签值
    String sinaValue = jsonObject.getString("signValue");
    // 加签内容
    String respData = jsonObject.getString("data");
    Map<String, String> dataMap = null;
    if(!StringUtil.isEmpty(respData)){
        dataMap = JSONObject.parseObject(respData,Map.class);
    }
    boolean flag = YsfSignUtil.rsaCheckContent(dataMap,sinaValue,ysPublicKeyFilePath);
    if(!flag){
        throw new Exception("check sign error");
    }
    return result;
}

```{"code":200,"message":"成功","data":null,"list":null}{"code":200,"message":"成功","data":null,"list":null}

results matching ""

    No results matching ""