1.导入芝麻信用API:zmxy-sdk-java-20180824112425.jarfastjson-1.2.48.jar
2.代码如下:

package com.zhima;import java.net.URLDecoder;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.antgroup.zmxy.openplatform.api.DefaultZhimaClient;
import com.antgroup.zmxy.openplatform.api.ZhimaApiException;
import com.antgroup.zmxy.openplatform.api.internal.util.RSACoderUtil;
import com.antgroup.zmxy.openplatform.api.request.ZhimaAuthInfoAuthorizeRequest;
import com.antgroup.zmxy.openplatform.api.request.ZhimaAuthInfoAuthqueryRequest;
import com.antgroup.zmxy.openplatform.api.request.ZhimaCreditScoreGetRequest;
import com.antgroup.zmxy.openplatform.api.response.ZhimaAuthInfoAuthqueryResponse;
import com.antgroup.zmxy.openplatform.api.response.ZhimaCreditScoreGetResponse;public class Demo {//芝麻开放平台地址private static final String URL     = "https://zmopenapi.zmxy.com.cn/openapi.do";//商户应用 Idprivate static final String APPID   = "";//商户 RSA 私钥private static final String PRIKEY  = "";//芝麻 RSA 公钥private static final String PUBKEY  = "";//统一字符集private static final String CHARSET = "UTF-8";/*** 查询授权信息*/public void testZhimaAuthInfoAuthorize() {ZhimaAuthInfoAuthorizeRequest req = new ZhimaAuthInfoAuthorizeRequest();req.setIdentityType("2");// 身份标识req.setChannel("apppc"); // PC端// 必要参数 state: 用于给商户提供透传的参数,芝麻会将此参数透传给商户req.setBizParams("{\"auth_code\":\"M_APPPC_CERT\",\"state\":\"100111211\"}");req.setIdentityParam("{\"certNo\":\"330621198710114617\",\"certType\":\"IDENTITY_CARD\",\"name\":\"陈金赛\"}");// 必要参数        DefaultZhimaClient client = new DefaultZhimaClient(URL, APPID, CHARSET, PRIKEY, PUBKEY);try {String url = client.generatePageRedirectInvokeUrl(req);System.out.println(url);} catch (ZhimaApiException e) {e.printStackTrace();}}/*** 获取目标用户的open_id,没有openid,走授权*/public void testZhimaAuthInfoReq() {ZhimaAuthInfoAuthqueryRequest req = new ZhimaAuthInfoAuthqueryRequest();// 0:芝麻信用开放账号ID 1:按照手机号进行授权 2:按照身份证+姓名进行授权 3通过公安网验证进行授权 4.通过人脸验证进行授权req.setIdentityType("2");req.setIdentityParam("{\"certNo\":\"522121198710114617\",\"certType\":\"IDENTITY_CARD\",\"name\":\"但镜宇\"}");// 必要参数        DefaultZhimaClient client = new DefaultZhimaClient(URL, APPID, CHARSET, PRIKEY, PUBKEY);try {// 如果正常返回,直接在对象里面获取结果值ZhimaAuthInfoAuthqueryResponse response = client.execute(req);System.out.println(JSON.toJSON(response));/* 成功响应报文{"authorized": true,"body": "{\"success\":true,\"authorized\":true,\"open_id\":\"268816231939676969685782895\"}","openId": "268816231939676969685782895","params": {"params": "faeSa69w3kOL+ZRAuHykvufu6ogiqxA48l5hzPutKItPy/2HKtdznbzvLhutsY6KTqLgwS/Af1GN1Y7MLh+XDFtjVUf5kF/npUspRkyFUCPpASJAMxeK56vaELnZ4yCVFjVseOBYlCn4YOCZWmBpu02l7IctE6ZP3r1o4HUR+sMQYlYu2xFHfXiqX2g0vdQn81pJ/fcQ4OuBzq1d3c+qniBXf3iESni1m21nMjxeUclzCdZwXWCI1aIYQnDFgVo/58kJ9CTw/6FrffUcP+c6zvzdM8RNCefiGGuF5Vef+C6tck1kBaYoYT6BS5u4ahYteoiG+XJgzLKF+BqAplhq/A=="},"success": true}// 失败响应报文{"authorized": false,"body": "{\"success\":true,\"authorized\":false}","params": {"params": "lGYId9CaU8McGDd8U0ZMM8Pky1/ulOE44LkgGcrWrdzmEtU1JBT5M+Jjd5e27bz45d/CNEqbwmwtg3VsozZTol42YKNi+MYzvvyZEOsUT9F68qiIPxxlOv3vGJsUpB+LJMOI8ZU7eXtHoCnbarQSOvtSylilp6dpIbAIYxbPPvSkj+7f1TiSne/7Re/XZ1qVVM18yTJyleCr+WlOe7o59lZAoiZ5bDoP2ta8MIjwlxz4/1d+IYe0f2BoZQa/9oDqJZ0MNQ0iPCbhqBKRuShPCQe8afEyOTTI0p+cROjwWTz0dwP7QXnkWBvzX3hrWXImdk7JszOVoSxAAAfwcVXNxw=="},"success": true} */} catch (ZhimaApiException e) {e.printStackTrace();}}/*** 测试查询芝麻分* @throws ZhimaApiException */public static void testQueryScore() throws ZhimaApiException {ZhimaCreditScoreGetRequest creditScoreGetRequest = new ZhimaCreditScoreGetRequest();creditScoreGetRequest.setPlatform("zmop"); // 开放平台,zmop代表芝麻开放平台creditScoreGetRequest.setChannel("apppc"); // pc端//transactionId,该标记是商户每次请求的唯一标识。建议使用uuid进行传递,creditScoreGetRequest.setTransactionId(UUID.randomUUID().toString());creditScoreGetRequest.setProductCode("w1010100100000000001"); // 商户配置那块儿的产品CodecreditScoreGetRequest.setOpenId("268816113399909561399995894"); // appid,每个人的标识DefaultZhimaClient client = new DefaultZhimaClient(URL, APPID, CHARSET, PRIKEY, PUBKEY);// 如果正常返回,直接在对象里面获取结果值ZhimaCreditScoreGetResponse creditScoreGetResponse = client.execute(creditScoreGetRequest);System.out.println(JSON.toJSON(creditScoreGetResponse));/* 成功查询响应报文{"bizNo": "ZM20160120014501763890a37b16614532255017521309","body": "{\"success\":true,\"biz_no\":\"ZM20160120014501763890a37b16614532255017521309\",\"zm_score\":751}","params": {"params": "aqiMCUg1VbZRqflPyVyLKgxShcvc3WoWLTFewqA9PvQjp6yuC99lYlGdr/Bf2FevQ2zemdPTixqQWnO7qdz0pT2x4VFWVJdldPgLVsRr37qWDcO5NjvNZzOuEYozzGSnzwhTyelqglAdzOOepM0ows+7sNVJriABtRdt1HH8gqc="},"success": true,"zmScore": "751"}// 失败查询响应报文{"body": "{\"success\":false,\"error_code\":\"ZMCREDIT.api_product_not_match\",\"error_message\":\"输入的产品码不正确\"}","errorCode": "ZMCREDIT.api_product_not_match","errorMessage": "输入的产品码不正确","params": {"params": "vJTcbtVvo0/WEG01Flve0//EbE70clk7v84B7MVJZH59/HefdyAZ1JG4opTna5ANWvY8UArsGlVIAQ+9K0169ARyJ2yoGs+0Z/fHmrXmWNNqOpcuV56A1xX6E+VOpUth8Z8RqPFKnEq4/rFJRKPA9Uhue2KM9yj6hsAbF0ZXU74="},"success": false} */}/*** 自动生成页面授权的url* @throws Exception*/public static void testPageAuth() throws Exception {ZhimaAuthInfoAuthorizeRequest authInfoAuthorizeRequest = new ZhimaAuthInfoAuthorizeRequest();authInfoAuthorizeRequest.setChannel("apppc"); // PC端authInfoAuthorizeRequest.setPlatform("zmop"); // 开放平台// 0:芝麻信用开放账号ID 1:按照手机号进行授权 2:按照身份证+姓名进行授权 3通过公安网验证进行授权 4.通过人脸验证进行授权authInfoAuthorizeRequest.setIdentityType("2");Map<String, String> identityParams = new HashMap<String, String>();identityParams.put("certNo", "61042619850403354X"); // 证件号码identityParams.put("name", "张三"); // 姓名identityParams.put("certType", "IDENTITY_CARD"); // 证件类型authInfoAuthorizeRequest.setIdentityParam(JSONObject.toJSONString(identityParams));DefaultZhimaClient client = new DefaultZhimaClient(URL, APPID, CHARSET, PRIKEY, PUBKEY);String pageAuthUrl = client.generatePageRedirectInvokeUrl(authInfoAuthorizeRequest);System.out.println(pageAuthUrl);}/*** 获取芝麻分(GET方式)*/public void testZhimaCreditWatchlistGet() {ZhimaCreditScoreGetRequest req = new ZhimaCreditScoreGetRequest();req.setProductCode("w1010100100000000001");// 必要参数        req.setOpenId("268816231939676969685782895");// 必要参数        DefaultZhimaClient client = new DefaultZhimaClient(URL, APPID, CHARSET, PRIKEY, PUBKEY);try {// 如果正常返回,直接在对象里面获取结果值ZhimaCreditScoreGetResponse response = client.execute(req);System.out.println(JSON.toJSON(response));} catch (ZhimaApiException e) {e.printStackTrace();}}/*** 处理回调后的参数,然后解密params* @param url 例如:http://xxxx.comparams%3Dxxxxx% ... xxxxx* @throws Exception*/public static void parseFromReturnUrl(String url) throws Exception {int index = url.indexOf("");String urlParamString = url.substring(index + 1);String[] paraPairs = urlParamString.split("&");String encryptedParam = "";for (String paramPair : paraPairs) {String[] splits = paramPair.split("=");if ("params".equals(splits[0])) {encryptedParam = splits[1];}}String decryptedParam = RSACoderUtil.decrypt(URLDecoder.decode(encryptedParam, CHARSET),PRIKEY, CHARSET);//通过浏览器返回时,不需要decodeSystem.out.println(URLDecoder.decode(decryptedParam, CHARSET));/* params主要JSON参数如下:名称                                          类型                  示例值                        备注success             String    success       请求成功还是失败的标识error_code          String    000001        失败时的错误码error_message       String    缺少appId      失败时的错误信息open_id             String    26881...      芝麻业务idstate               String    239...        商户透传的值,芝麻不做解析*/}}

Java调用用户芝麻信用分相关推荐

  1. 【学习笔记】互联网金融:芝麻信用分的建模过程

    学习资料: 数据分析学习随记 | 互联网金融行业2C授信模型(芝麻信用) 1. 背景 互联网金融的本质是风控. 1.1 数据分析师的角色 数据分析师在金融行业基本上有两种角色: 1.1.1 数据建模师 ...

  2. 为什么你的支付宝芝麻信用分就是不涨?

    支付宝芝麻信用分越来越重要,应用场景越来越多,免押租物.信用购.办理证件手续.信用金融等. 芝麻信用分的高低,有时能直接影响你能否享受某些特权,还是比较重要的. 有的同学比较疑惑,为什么一直在守约,但 ...

  3. 大家的芝麻信用分都是多少?

    支付宝的芝麻信用分对于用户来说可以说是非常重要的一个用户信用衡量标准的,而且支付宝芝麻信用分的衡量条件也是各不相同的,那么下面和大家一起来说一说支付宝芝麻信用分的作用的功能以及其评估的方式. 目前支付 ...

  4. 微信支付分开通了!对飙芝麻信用分!开通与查看攻略!

    微信支付分是微信体系下对个人的消费.守约等行为的综合计算分值,为用户提供更便捷的生活方式!其实就是微信的芝麻信用分~ 如何开通?目前可以接入微信支付分的商户所提供的指定服务中,申请开通微信支付分.比如 ...

  5. 如何快速把芝麻信用分提高到750以上?

    支付宝圈子要求芝麻信用分在750以上,那么最快提分的方式是什么.那么使用诸如像电兔贷款这样的网贷平台借款,能否快速提升积分呢? 首先我们来看看芝麻信用分是什么? 芝麻信用评分,是在用户授权的情况下,依 ...

  6. 淘宝芝麻信用分提升方法技巧

    最近小编为大家介绍了一些关于芝麻信用分相关内容教程,不知道大家有没有看呢?今天还是有关芝麻信用分的内容,如何快速提升我们的信用分数?这也是有技巧的哦,一起来看看吧! 支付宝的芝麻信用分影响到蚂蚁花呗和 ...

  7. 支付宝 芝麻信用分过600,你不知道的八个特权

    晒芝麻信用分已经是一个潮流了,但是很多人并不知道自己高高的芝麻信用分有何用武之地,为大家总结了一下芝麻分超过600可以获得的特权. 1.芝麻分在750分以上的用户,可通过阿里旅行办理卢森堡的" ...

  8. php 芝麻信用api接口,PHP 蚂蚁芝麻信用分接口

    PHP 蚂蚁芝麻信用分接口 发布时间:2020-05-25 08:06:07 来源:51CTO 阅读:136895 作者:pansw113 //私钥和公钥在芝麻信用后台设置,官网有详细说明 class ...

  9. 芝麻信用分750以上有什么特殊作用?

    芝麻是蚂蚁金服旗下的一个信用体系,它的信息采集来源包括阿里巴巴体系里的一些平台,比如淘宝,天猫,借呗,花呗,支付宝,余额宝以及其他授权芝麻信用获取信息的平台. 而芝麻信用分的高低代表的是一个人综合的信 ...

  10. 微信上线支付分对标芝麻信用分,教你如何开通!

    支付宝很早以前就推出了芝麻信用分,相信大家应该都开通并正在使用,它的高低在一定程度上可以反映一个人的信用状况,可以用来做某些租赁服务的免押金门槛,甚至可以作为申请加拿大签证的重要资料,非常实用.类似的 ...

最新文章

  1. wireshark tcp data中文_TCP的可靠传输
  2. php下字符与二进制互转函数,PHP 字符串与二进制互转
  3. 06-广度优先搜索:图、队列
  4. 使用Selenium进行Spring Boot集成测试
  5. Python 进阶 之 enumerate()函数
  6. fzyzojP1635 -- 平均值
  7. span width无效
  8. 和opengl的关系_从零开始的图形学学习(零):一切的开始 —— 自建OpenGL开发框架...
  9. Simulink代码生成应用教程
  10. Novel 网络小说点评
  11. 命令提示符cmd查询IP地址时显示的各个值分别表示什么?
  12. 基于RT-Thread的环境监测装置(含IO口模拟8080时序驱动TFT屏幕)
  13. 打印程序在计算机上的应用程序,什么是“后台打印程序子系统应用程序”(spoolsv.exe),以及为什么它在我的电脑上运行?...
  14. HarmonyOS APP开发入门3——组件(二 Text组件)
  15. Flash鼠绘入门第四课:绘制漂亮的梅花-梅花Flash鼠绘方法一
  16. linux下ad键盘驱动,led、键盘、ADC驱动程序
  17. Qt Quick编程——QML的核心部分ECMAScript
  18. 4.8 Best-First Search最佳优先搜索
  19. Mac Excel 自网站(导入网页数据)
  20. 猎豹移动2016研发工程师笔试题

热门文章

  1. 华为畅享z和荣耀x10哪个好?
  2. 关于二分查找那些事儿~~~~看完至少节省你两个半月的时间!!!!!
  3. 无需更改注册表 实现CHM文件从共享文件中直接打开
  4. 大数据与云计算学习:Python网络数据采集
  5. ROS解决'[rosrun] Couldn't find executable named ...'
  6. 域名的分类:com,cn,net的区别
  7. 【某deed网测题】D - Yakiniku
  8. Windows系统下运行hadoop、HBase程序出错Could not locate executablenull\bin\winutils.exe in the Hadoop binaries
  9. Educational Codeforces Round 61 (Rated for Div. 2) D. Stressful Training 详解
  10. HTML中基于表单的文件上传(post,get)