利用芝麻信用的来人脸识别-实名认证

 这是传进来的参数

​
public class ZmUser {
    private String userName;
    private String identityCard;
    private String returnUrl;  //这个是回调的地址,由前端给的

​

初始化

   @Override
    public ZhimaCustomerCertificationInitializeResponse get(ZmUser zmUser) throws AlipayApiException {


        String transactionId = Randoms.getTransactionId(); //这里是一串随机数
        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",
                "appid", //这里可以使用沙箱环境
                "私钥", //这里可以使用沙箱环境
                "json",
                "UTF-8",
                "公钥", //这里可以使用沙箱环境
                "RSA2");
        ZhimaCustomerCertificationInitializeRequest request = new ZhimaCustomerCertificationInitializeRequest();
        ZhimaCustomerCertificationInitializeModel model = new ZhimaCustomerCertificationInitializeModel();
        model.setTransactionId(transactionId); //要求每一次请求都不一样
        System.out.println(transactionId + "==============");
        model.setProductCode("w1010100000000002978");
        model.setBizCode("FACE");
        model.setIdentityParam("{\"identity_type\":\"CERT_INFO\",\"cert_type\":\"IDENTITY_CARD\",\"cert_name\":\""+zmUser.getUserName()+"\",\"cert_no\":\""+zmUser.getIdentityCard()+"\"}");
//这里是用户名                            //用户的身份证
        request.setBizModel(model);

        ZhimaCustomerCertificationInitializeResponse response = alipayClient.execute(request);
        System.out.println(response.getBizNo());
        if (response.isSuccess()) {
            System.out.println("调用成功");
        } else {
            System.out.println("调用失败");
        }
        return response;
    }
}

然后是 

@Service
public class ZmServiceImpl implements ZmService {

    @Autowired
    private ZmCreateService zmCreate;



    @Override
    public String init(ZmUser zmUser) throws AlipayApiException {

        ZhimaCustomerCertificationInitializeResponse res=  zmCreate.get(zmUser);
       // ZhimaCustomerCertificationInitializeResponse res = ZmCredit.getResponse(zmUser);
        // 获取alipay client
        AlipayClient alipayClient = new DefaultAlipayClient(
                "https://openapi.alipay.com/gateway.do", //网关
                "appid",
                "私钥",
                "json",
                "UTF-8",
                "公钥",
                "RSA2");
        ZhimaCustomerCertificationCertifyRequest request = new ZhimaCustomerCertificationCertifyRequest();
        ZhimaCustomerCertificationCertifyModel model=new ZhimaCustomerCertificationCertifyModel();
        model.setBizNo(res.getBizNo());
// 设置业务参数,必须要biz_no
        // request.setBizContent("{\"biz_no\":\"ZM201611103000000888800000733621\"}");
        request.setBizModel(model);
// 设置回调地址,必填. 如果需要直接在支付宝APP里面打开回调地址使用alipay协议
// alipay://www.taobao.com 或者 alipays://www.taobao.com,分别对应http和https请求
        request.setReturnUrl(zmUser.getReturnUrl());

        // 这里一定要使用GET模式
        ZhimaCustomerCertificationCertifyResponse response = alipayClient.pageExecute(request, "GET");
        // 从body中获取URL
        String url = response.getBody();
        System.out.println("===================================================");
        System.out.println("generateCertifyUrl url:" + url);
        return  url;  

    }
}

这个是拿到url返回给前端,然后前端那拿到这个url去请求芝麻信用.然后实名认证

猜你喜欢

转载自blog.csdn.net/weixin_42047790/article/details/81748459