这是传进来的参数
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去请求芝麻信用.然后实名认证