首页 > 其他分享 >电商收付通,商户进件,上传身份证、营业执照自动识别相关信息

电商收付通,商户进件,上传身份证、营业执照自动识别相关信息

时间:2023-03-13 22:34:03浏览次数:36  
标签:自动识别 进件 result 身份证 put new 电商 response String

大家好,我是小悟

作为开发者,当然希望开发的系统,对使用者能够更友好,使用的越简单,越方便越好,缩短工作时间,提高效率。也可以说是一种使用体验,体验效果越好那当然说明系统越棒了。

二级商户进件的时候,需要提交的资料不少,有一个繁琐的地方就是,不管选择哪种主体类型,都需要上传身份证人像面、身份证国徽面、身份证姓名、身份证号码、身份证居住地址、身份证开始时间和身份证结束时间这些要素。

如果主体类型是企业或者个体户,还需要上传营业执照、营业执照注册号、商户名称和经营者/法定代表人姓名这几个要素。

除了照片是需要上传外,其他要素都是手动填写的,既容易出错又浪费时间。解决问题的方法就是自动识别。

电商收付通,商户进件,上传身份证、营业执照自动识别相关信息_电商收付通

为了提高进件效率,在进件提交功能上做了优化,优化内容如下。

1、在上传身份证人像面后,自动识别出身份证姓名、身份证号码和身份证居住地址并自动填充显示,无需手动填写。

2、在上传身份证国徽面后,自动识别出身份证开始时间和身份证结束时间并自动填充显示,无需手动填写。

3、在上传营业执照后,自动识别出营业执照注册号、商户名称和经营者/法定代表人姓名并自动填充显示,无需手动填写。

通过后台设置参数,随时修改,立即生效。

电商收付通,商户进件,上传身份证、营业执照自动识别相关信息_微信支付_02

/**
* 身份证正面自动识别
* @param imgFile 图片二进制数据的base64编码/图片url
*/
public static IdCardFaceResult ocrIdCardFace(String imgFile, String appCode) {
String host = "https://cardnumber.market.alicloudapi.com";
String path = "/rest/160601/ocr/ocr_idcard.json";
String method = "POST";
Map<String, String> headers = new HashMap<String, String>();
headers.put("Authorization", "APPCODE " + appCode);
//根据API的要求,定义相对应的Content-Type
headers.put("Content-Type", "application/json; charset=UTF-8");
Map<String, String> querys = new HashMap<String, String>();
// 对图像进行base64编码
String imgBase64 = img_base64(imgFile);
//configure配置
JSONObject configObj = new JSONObject();
configObj.put("side", "face");
String config_str = configObj.toString();
// 拼装请求body的json字符串
JSONObject requestObj = new JSONObject();
requestObj.put("image", imgBase64);
if(configObj.size() > 0) {
requestObj.put("configure", config_str);
}
String bodys = requestObj.toString();
try {
HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
int stat = response.getStatusLine().getStatusCode();
if(stat != 200){
System.out.println("Http code: " + stat);
System.out.println("http header error msg: "+ response.getFirstHeader("X-Ca-Error-Message"));
System.out.println("Http body error msg:" + EntityUtils.toString(response.getEntity()));
IdCardFaceResult result = new IdCardFaceResult();
result.setSuccess(false);
return result;
}
String res = EntityUtils.toString(response.getEntity());
IdCardFaceResult result = JSON.parseObject(res, IdCardFaceResult.class);
System.out.println(JSON.toJSONString(result));
return result;
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("请稍后再试");
}
}

/**
* 身份证反面自动识别
* @param imgFile 图片二进制数据的base64编码/图片url
*/
public static IdCardBackResult ocrIdCardBack(String imgFile, String appCode) {
String host = "https://cardnumber.market.alicloudapi.com";
String path = "/rest/160601/ocr/ocr_idcard.json";
String method = "POST";
Map<String, String> headers = new HashMap<String, String>();
headers.put("Authorization", "APPCODE " + appCode);
//根据API的要求,定义相对应的Content-Type
headers.put("Content-Type", "application/json; charset=UTF-8");
Map<String, String> querys = new HashMap<String, String>();
// 对图像进行base64编码
String imgBase64 = img_base64(imgFile);
//configure配置
JSONObject configObj = new JSONObject();
configObj.put("side", "back");
String config_str = configObj.toString();
// 拼装请求body的json字符串
JSONObject requestObj = new JSONObject();
requestObj.put("image", imgBase64);
if(configObj.size() > 0) {
requestObj.put("configure", config_str);
}
String bodys = requestObj.toString();
try {
HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
int stat = response.getStatusLine().getStatusCode();
if(stat != 200){
System.out.println("Http code: " + stat);
System.out.println("http header error msg: "+ response.getFirstHeader("X-Ca-Error-Message"));
System.out.println("Http body error msg:" + EntityUtils.toString(response.getEntity()));
IdCardBackResult result = new IdCardBackResult();
result.setSuccess(false);
return result;
}
String res = EntityUtils.toString(response.getEntity());
IdCardBackResult result = JSON.parseObject(res, IdCardBackResult.class);
System.out.println(JSON.toJSONString(result));
return result;
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("请稍后再试");
}
}

/**
* 营业执照自动识别 图片二进制数据的base64编码/图片url
* @param imgFile
*/
public static BusinessLicenseResult ocrBusinessLicense(String imgFile, String appCode) {
String host = "https://bizlicense.market.alicloudapi.com";
String path = "/rest/160601/ocr/ocr_business_license.json";
String method = "POST";
Map<String, String> headers = new HashMap<String, String>();
headers.put("Authorization", "APPCODE " + appCode);
//根据API的要求,定义相对应的Content-Type
headers.put("Content-Type", "application/json; charset=UTF-8");
Map<String, String> querys = new HashMap<String, String>();
// 对图像进行base64编码
String imgBase64 = img_base64(imgFile);
// 拼装请求body的json字符串
JSONObject requestObj = new JSONObject();
requestObj.put("image", imgBase64);
String bodys = requestObj.toString();
try {
HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
int stat = response.getStatusLine().getStatusCode();
if(stat != 200){
System.out.println("Http code: " + stat);
System.out.println("http header error msg: "+ response.getFirstHeader("X-Ca-Error-Message"));
System.out.println("Http body error msg:" + EntityUtils.toString(response.getEntity()));
BusinessLicenseResult result = new BusinessLicenseResult();
result.setSuccess(false);
return result;
}
String res = EntityUtils.toString(response.getEntity());
BusinessLicenseResult result = JSON.parseObject(res, BusinessLicenseResult.class);
System.out.println(JSON.toJSONString(result));
return result;
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("请稍后再试");
}
}

上传身份证、营业执照自动识别相关信息功能已实现,节省时间,减少手动填写可能出现的错误,整体增强系统使用体验和提高系统进件效率。

收付通在手,生意你有。

公众号【悟空码字】后台回复【收付通升级】获取账号密码。


您的一键三连,是我更新的最大动力,谢谢

山水有相逢,来日皆可期,谢谢阅读,我们再会

我手中的金箍棒,上能通天,下能探海

标签:自动识别,进件,result,身份证,put,new,电商,response,String
From: https://blog.51cto.com/wukongmazi/6116902

相关文章

  • 大型电商网站系统架构分层设计
    DevOps人员需要了解公司的网站架构设计,如果牵涉了具体的高流量高并发的场景,那么,此时也需要提供实际的解决方案,所以了解网站的分层系统架构设计是非常有必要的。网站架构一般......
  • 重读vue电商网站49之第三方库使用CDN
    通过externals加载外部CDN资源默认情况下,通过import语法导入的第三方依赖包,最终会被打包合并到同一个文件中,从而导致打包成功后,单文件体积过大的问题。 例如上述chu......
  • 齐鲁云采入驻流程-电商入驻流程
    商城系统对接入驻,后期帮您把商品上传到商城上,让产品上架成功。我们的系统操作简单便捷,如果后期有任何关于政采网的问题我们会第一时间帮您处理系统会定期进行更新帮您升级......
  • 跨境电商可能会有一场“世纪联姻”
    小结:1、独立站的运营难点,不仅包括没有天然的流量,也包括用户规模不够大、商品评论少,不能给予消费者足够的购买信心,从而导致转化率低的问题。商家把亚马逊的商品评价同步到......
  • 直播电商平台开发,uni-app 实现搜索关键词高亮效果
    直播电商平台开发,uni-app实现搜索关键词高亮效果1.实现逻辑使用腾讯地图sdk关键词输入提示,过滤出符合条件的值过滤出来的值要添加样式,达到想要的高亮效果。 需要正......
  • 直播电商名词解释
    GMV(GrossMerchandiseVolume)别名:商品交易总额、电商结算成交总额通常指一定时间段内成交总额。常用于电商平台对交易规模的衡量,需要留意的是,各平台的具体口径不尽......
  • 电商API分享 全网最全电商API 备用
    item_get获得淘宝商品详情item_get_pro获得淘宝商品详情高级版item_review获得淘宝商品评论item_fee获得淘宝商品快递费用item_password获得淘口令真实urlitem_list_up......
  • 跨境电商独立站到底有什么优缺点?
    无论你在哪个行业,都有优点和缺点,正如人们常说的,人无完人。那么我们就来谈谈最近比较多人关注的跨境电商独立网站的缺点:1.这个过程很麻烦。跨境电商独立站的有效周期需要比......
  • 电商代购系统;海外代购系统
    什么是代购系统?代购业务近年兴起的一种购物模式,是帮国外客户购买中国商品。主要通过外贸代购模式,把淘宝、​​天猫​​等电商平台的全站商品通过API接入到你的网站上,瞬间就......
  • 电商收付通系列⑦,合单下单之小程序支付
    大家好,我是小悟1、介绍使用合单支付接口,用户只输入一次密码,即可完成多个订单的支付。目前最少一次可支持2笔,最多一次10笔订单进行合单支付。在我接这个接口的时候,官方并没有......