一、什么是银行卡三要素?
输入银行卡卡号、姓名、身份证号码,验证此三要素是否一致。支持所有带银联标识的银行卡。
二、银行卡三要素使用哪些场景?
例如:电商领域
(1)购物平台支付环节在电商平台购物结算选择银行卡支付时,验证银行卡三要素可以保障用户支付的安全和顺利进行。例如,用户在某电商平台购买商品选择银行卡付款,平台会通过银行卡三要素接口验证用户的银行卡信息,防止用户因输入错误信息导致支付失败或出现资金安全问题。如果信息不一致,平台会提示用户重新核对信息,保障交易的准确性和安全性。对于一些分期付款或信用消费业务,银行卡三要素验证更是必不可少。它可以确保用户的银行卡信息准确,以便顺利完成分期扣款等后续操作,同时也保障了商家和金融机构的权益。
(2)商家结算与退款对于电商平台上的商家,在进行资金结算时,平台通过验证银行卡三要素,确保商家提供的收款银行卡信息正确,以便将销售所得准确无误地结算到商家账户。例如,每月电商平台会根据商家的销售业绩进行结算,通过银行卡三要素接口验证商家银行卡信息后,将款项按时打入商家指定银行卡。当用户发生退货退款时,电商平台需要验证用户的银行卡三要素,以确保退款能够准确返还到用户支付时使用的银行卡,保障用户的资金权益。
三、如何用Java实现调用接口?
该接口支持4种语言,包括Java、C#、physon、PHP,我们今天要展示Java的示例代码,如下:
public static void main(String[] args) {
String host = "https://kzbank3v1.market.alicloudapi.com";
String path = "/api-mall/api/bankcard3/check";
String method = "POST";
String appcode = "你自己的AppCode";
Map<String, String> headers = new HashMap<String, String>();
//最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
headers.put("Authorization", "APPCODE " + appcode);
//根据API的要求,定义相对应的Content-Type
headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
Map<String, String> querys = new HashMap<String, String>();
Map<String, String> bodys = new HashMap<String, String>();
bodys.put("bankcard", "银行卡号");
bodys.put("idcard", "身份证号码");
bodys.put("name", "姓名");
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();
}
}
正确返回示例如下:
{
"msg": "成功",
"success": true,
"code": 200,
"data": {
"msg": "一致",
"result": 0, // 0一致,1不一致,2查无
"orderNo": "202406282009008501069",
"desc": "认证信息匹配"
}
}