商户变更图片上传

1、修订记录

修订记录 日期 说明 作者
1.0 2021.11.10 初稿 朱龙玲

2、业务说明

(1)接口说明

服务商修改已成功进件的商户信息后,需要调用此接口上传对应的图片信息以及”商户变更申请表“。如:调用"商户信息变更接口"变更了营业执照相关信息,需要再调用这个接口上传新的营业执照。

注:此接口只支持变更以下图片类型
A001 营业执照,A002 法人身份证正面,A003 法人身份证反面A009 手持身份证合影照片,A004结算账户正面,A005 结算账户反面,B008 商户信息变更申请表图片

3、请求地址

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

4、请求参数说明

4.1、公共请求参数

参数 类型(长度) 必填 参数说明
picFile File Y 图片
图片大小:不超过 1M
图片类型:jpg、jpeg、png、bmp、gif
picType String(2) Y 图片类型,只允许变更以下类型
类型编码:A001 营业执照,A002 法人身份证正面,A003 法人身份证反面,A004 结算账户正面,A005 结算账户反面,A009 手持身份证合影照片,A011开户许可证,A013非法人身份证头像面,A014非法人身份证国徽面, B005法人/非法人结算授权书,B008 商户信息变更申请表.示例:A002
reqFlowId String(20) Y 请求流水号,示例值:202110011944011101
注意:该字段不参与签名
signValue String Y 签名串,请参考”签名样例以及demo下载“。
changeFlowId String(50) Y 合作方系统变更流水,信息变更接口返回

5.响应参数说明

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

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

5.1、公共响应参数

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

5.2、业务响应参数

data(JSON数据)

参数 类型(字节长度) 必填 参数说明
code String(2) Y 返回码(00-成功;50-超时;99-失败)
note String(100) Y 返回码说明,返回信息描述

6.示例

```java public static String changeMerPic() throws Exception { /* 1、请求参数赋值 / Map params = new HashMap(); params.put("picType","A007");//图片类型 类型编码请参考文档、根据注册的商户模式不同,上传的图片不同 params.put("changeFlowId","20211108101628342234765762102");//合作方系统变更流水,商户基本信息变更/商户结算信息变更接口成功后返回

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

    /** 2、根据请求参数生成签名 */
    //客户端私钥证书路径: 证书在入网流程中自己申请的
    String privateKeyFilePath = "D:/data/yulong_666.pfx";
    //客户端私钥密钥: 私钥密钥在入网流程中自己申请私钥证书时填写的
    String privateKeyPassword = "123456";
    String sign = YsfSignUtil.sign(params, privateKeyFilePath, privateKeyPassword);
    params.put("signValue", sign);
    //因为请求流水号(reqFlowId)不参与签名,在签名之后补充reqFlowId,请自己生成有意义的请求流水号
    params.put("reqFlowId", String.valueOf(System.currentTimeMillis()));

    /** 3、发送请求*/
    //扫码服务商“商户变更图片上传”修改地址,具体以文档为准
    String reqUrl = "https://appdev.ysepay.com/saas/org/changeMerPic";
    String result = HttpClientUtil.sendPostJson(reqUrl,JSONObject.toJSONString(params));

    /** 4、结果验签 */
    JSONObject jsonObject = JSONObject.parseObject(result);
    // 获取签名串
    String sinaValue = jsonObject.getString("signValue");
    // 获取返回的业务参数(json数据)
    String respData = jsonObject.getString("data");
    Map<String, String> dataMap = null;
    if(!StringUtil.isEmpty(respData)){
        dataMap = JSONObject.parseObject(respData,Map.class);
    }
    //银盛公钥证书路径: 证书入网申请后发放
    String ysPublicKeyFilePath = "D:/data/businessgate.cer";
    //校验返回的业务参数是否与签名串匹配
    boolean flag = YsfSignUtil.rsaCheckContent(dataMap,sinaValue,ysPublicKeyFilePath);
    if(!flag){
        throw new Exception("check sign error");
    }
    return result;
}

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

results matching ""

    No results matching ""