支持语言:
接口地址:https://xbk.market.alicloudapi.com/data/verify/bankcard4
请求方式:POST
返回类型:JSON
获取APPcode
请求参数:
cardNumber STRING 必选 银行卡号
idNumber STRING 必选 身份证号
name STRING 必选 姓名
phoneNumber STRING 必选 手机号
requestId STRING 必选 请求唯一流水号,用于定位问题
代码:
public static void main(String[] args) {
String host = "https://xbk.market.alicloudapi.com";
String path = "/data/verify/bankcard4";
String method = "POST";
String appcode = "你自己的AppCode";
Map<String, String> headers = new HashMap<String, String>();
//最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
headers.put("Authorization", "APPCODE " + appcode);
Map<String, String> querys = new HashMap<String, String>();
querys.put("cardNumber", "cardNumber");
querys.put("idNumber", "idNumber");
querys.put("name", "name");
querys.put("phoneNumber", "phoneNumber");
querys.put("requestId", "requestId");
Map<String, String> bodys = new HashMap<String, String>();
try {
/**
* 重要提示如下:
* HttpUtils请从
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
* 下载
*
* 相应的依赖请参照
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
*/
HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
System.out.println(response.toString());
//获取response的body
//System.out.println(EntityUtils.toString(response.getEntity()));
} catch (Exception e) {
e.printStackTrace();
}
}
获取response的参数判断code
HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
String hStr= EntityUtils.toString(response.getEntity());//在同一个httpclient中只能有一个获取entity的方法
if(null!=hStr&&hStr!=""&&!hStr.isEmpty()){
httpMap = JSON.parseObject(hStr, new TypeReference<Map>(){});
//{"code":"0000","msg":"调用成功","charge":1,"data":{"checkresult":1},"trace_id":"RID3772dda685ba4354974f4920a5dd9045"}
String code=httpMap.get("code").toString();
}
正常返回示例:
{
"trace_id": "RID2af751b4bff24be781d60af10bf84101", // 唯一定位字符
"code": "0000", //指返回结果码,并非http状态码
"msg": "调用成功",
"data": {
"checkresult":1 //验证的结果,具体如下
}
"charge": 1 // 是否收费
}
// checkresut含义
1认证通过,一致;
2认证未通过,请稍后尝试;
3认证不一致,姓名校验不通过;
4认证不一致,持卡人信息有误或卡状态异常;
5发卡行不支持此笔交易
6此卡已过期
7未开通无卡支付
8认证受限
9认证不一致,证件号码与银行预留信息不一致
10认证不一致,银行卡号码有误
11认证不一致,姓名与银行预留信息不一致
12认证不一致,手机号与银行预留信息不一致
13认证不一致,银行卡暂不支持手机号验证
14认证不一致,银行卡未预留手机号
失败返回示例:
{
"trace_id": "RID2af751b4bff24be781d60af10bf84101",
"code": "1000",
"msg": "签名错误", //指返回结果码,并非http状态码
"charge": 2
}
错误码:
错误码 错误信息
code-0000 调用成功,具体结果见checkresult
code-1001 参数非UTF-8编码
code-1002 请求参数错误 或 银行卡号错误 或 手机号错误 或 身份证号错误 或 姓名错误
code-other 其它错误,具体见msg