系统用户需要绑卡时,为了确定该卡为用户本人持有,需要对用户绑定的银行卡进去实名制认证。为实现要求阿里云市场提供该项服务,认证组合形式:【银行卡号、姓名、身份证号码、手机号】、【银行卡号、姓名、身份证号码】、【银行卡号、姓名】;根据您的业务需求随意组合验证参数。
首先获取本接口的试用套餐包:https://market.aliyun.com/detail/cmapi00060474
注意本服务只面向企业用户,获取试用套餐的阿里云账户需完成企业实名制认证
之后在到控制台获取您的密钥appcode:https://marketnext.console.aliyun.com/bizlist
发送数据示例:
// 传输方式为post
String name = "张三"; // 必填
String cardNo = "6225756663322156"; // 必填
String idNo = "34042158962596321"; // 选填(不填为空即不验证此项)
String phoneNo = "13699995555"; // 选填(不填为空即不验证此项)
返回结果示例:
// 格式为json
{"name": "张三","cardNo": "6225756663322156","idNo": "34042158962596321","phoneNo": "13699995555","respMessage": "结果匹配","respCode": "0000","bankName": "招商银行","bankKind": "招商银行信用卡","bankType": "信用卡","bankCode": "CMB"}
接口代码
具体实现类(其他语言版本在产品页面有详细介绍):
import java.io.IOException;
import okhttp3.Call;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class bankAuthDemo {
public static void main(String[] args) throws IOException {
String url = "http://yunyibank.market.alicloudapi.com/bankAuth";
// 获取appCode链接:https://market.aliyun.com/detail/cmapi00060474 下入试用包后在控制台查看
String appCode = "e1ff3ceac04944t7b97ff33fc60d7130";
String name = "张三"; // 必填
String cardNo = "6225756663322156"; // 必填
String idNo = "34042158962596321"; // 选填(不填为空即不验证此项)
String phoneNo = "13699995555"; // 选填(不填为空即不验证此项)
System.out.println(postData(appCode, url, name, idNo, phoneNo, cardNo));
/** 错误码respCode信息:
* "0000": "结果匹配",
* "0001": "姓名不能为空",
* "0002": "银行卡号格式错误,请检查后重新输入",
* "0003": "身份证号格式错误,请检查后重新输入",
* "0004": "姓名不能包含特殊字符或数字",
* "0006": "银行卡号不能为空",
* "0008": "信息不匹配",
* "0012": "无效卡号或卡状态异常,请换卡重试或联系发卡行",
* "0013": "受限制的卡,请换卡重试或联系发卡行",
* "0014": "卡状态异常,请换卡重试或联系发卡行"
*/
}
/**依赖的工具包有:okhttp-3.2.0.jar, okio-1.14.0.jar
* 工具包下载链接:https://download.csdn.net/download/ruidongjun007/88360015
* <dependency>
* <groupId>com.squareup.okhttp3</groupId>
* <artifactId>okhttp</artifactId>
* <version>3.2.0</version>
* </dependency>
*
* <dependency>
* <groupId>com.squareup.okio</groupId>
* <artifactId>okio</artifactId>
* <version>1.14.0</version>
* </dependency>
*/
public static String postData(String appCode, String url, String name, String idNo, String phoneNo, String cardNo) throws IOException {
String result = "";
RequestBody formBody = new FormBody.Builder().
add("name", name).add("idNo", idNo).add("phoneNo", phoneNo).add("cardNo", cardNo).build();
Request request = new Request.Builder().url(url).
addHeader("Authorization", "APPCODE " + appCode).post(formBody).build();
Call call = new OkHttpClient().newCall(request);
Response response = null;
try {
response = call.execute();
} catch (IOException e) {
System.out.println("execute failed, message:" + e.getMessage());
}
assert response != null;
if (!response.isSuccessful()) {
// 状态码response.code()为403时一般是套餐包用尽,需续购;
// 注意:续购不会改变秘钥(appCode),仅增加次数
// 续购链接:https://marketnext.console.aliyun.com/bizlist
// 也可以加V【13451635131】咨询,共同进步!
System.out.println("request failed----" + "返回状态码" + response.code() +
",message:" + response.message());
}
result = response.body().string();
// 返回结果示例:{"name": "张三","cardNo": "6225756663322156","idNo": "34042158962596321","phoneNo": "13699995555","respMessage": "结果匹配","respCode": "0000","bankName": "招商银行","bankKind": "招商银行信用卡","bankType": "信用卡","bankCode": "CMB"}
return result;
}
}