银行卡四要素(标准版)
支持通过姓名、身份证号、银行卡号、手机号码等信息查询信息是否匹配。另外还支持卡类别、所属银行等信息查询
套餐
新用户赠送套餐
¥0.00/5次
新用户特惠套餐
¥22.00/100次
标准套餐
¥250.00/1000次
进阶套餐
¥2400.00/10000次
特价套餐
¥23000.00/100000次
https://api.slsj.com/api/bank-card/four-elements/query
{
"code": 0,
"msg": "操作成功",
"result": {
"bankName": "中国工商银行",
"cardCategory": "借记卡",
"cardType": "牡丹卡普卡",
"createTime": "2025-04-27 14:19:47",
"innerresult": "0101",
"orderId": "2025424000000001029",
"orderNumber": "512025042700000000693076",
"remark": "认证一致",
"result": "01"
}
}
{
"code": 400,
"msg": "业务处理失败,请稍侯重试",
"result": null
}
package com.example.api.V105;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import static org.junit.jupiter.api.Assertions.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.util.*;
import java.util.stream.Collectors;
import java.util.Base64;
public class ApiTest1029 {
// 签名相关的常量
private static final String SIGN_KEY = "XXXXXX"; // 替换为实际的签名密钥
private static final String USER_ID = "XXXXXXX"; // 替换为实际的用户编号
public static void main(String[] args) throws Exception {
String apiUrl = "https://api.slsj.com/api/bank-card/four-elements/query";
String orderId = "1029001";
String name = "张三";
String idCard = "440805199111061742";
String cardNo = "6213372113000761234";
String mobile = "13380621234";
// 准备请求参数
Map<String, Object> params = new HashMap<>();
params.put("orderId", orderId);
params.put("name", name);
params.put("idCard", idCard);
params.put("cardNo", cardNo);
params.put("mobile", mobile);
testVerification(apiUrl, params);
}
// 获取Auth_Token的方法
private static String getAuthToken() throws Exception {
// 获取当前时间戳
long timestamp = System.currentTimeMillis();
// 按照文档拼接待加密字符串
String toEncrypt = "memberId=" + USER_ID + "dateTime=" + timestamp + "version=v1" + "key=" + SIGN_KEY;
// MD5加密
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] digest = md.digest(toEncrypt.getBytes(StandardCharsets.UTF_8));
String md5Result = bytesToHex(digest).toLowerCase();
// 创建鉴权Token的JSON对象
JSONObject authTokenObj = new JSONObject();
authTokenObj.set("memberId", USER_ID);
authTokenObj.set("dateTime", timestamp);
authTokenObj.set("version", "v1");
authTokenObj.set("signMd5", md5Result);
String authToken = authTokenObj.toString();
return authToken;
}
// 辅助方法:将字节数组转换为十六进制字符串
private static String bytesToHex(byte[] bytes) {
StringBuilder result = new StringBuilder();
for (byte b : bytes) {
result.append(String.format("%02x", b));
}
return result.toString();
}
public static void testVerification(String apiUrl,Map<String, Object> params) throws Exception {
// 获取鉴权Token
String authToken = getAuthToken();
// 发送请求
HttpResponse response = HttpRequest.post(apiUrl)
.header("Content-Type", "application/x-www-form-urlencoded")
.header("Auth_Token", authToken)
.header("Sign_Type", "md5")
.form(params)
.execute();
// 输出响应结果
int status = response.getStatus();
String responseBody = response.body();
System.out.println("响应状态码: " + status);
System.out.println("响应内容: " + responseBody);
// 验证响应码
assertEquals(HttpURLConnection.HTTP_OK, status, "Response code should be 200");
// 解析响应内容(假设响应是JSON格式)
// JSONObject responseJson = JSONUtil.parseObj(responseBody);
}
}
import hashlib
import json
import time
import requests
# 用户ID和密钥
user_id = "xxxxxx" # 替换为实际的用户编号
signature_key = "xxxxxxxxxxxxxxx" # 替换为实际的签名密钥
# 版本号
version = "v1"
# 生成加密签名
def generate_auth_token():
query_time = int(time.time() * 1000)
original_string = f'memberId={user_id}dateTime={query_time}version={version}key={signature_key}'
md5_result = hashlib.md5(original_string.encode('utf-8')).hexdigest()
auth_token = {
"memberId": user_id,
"dateTime": query_time,
"version": version,
"signMd5": md5_result
}
return auth_token
# 请求接口并打印响应结果
request_url = 'https://api.slsj.com/api/bank-card/four-elements/query'
params = {
"orderId": "20250416094659001",
"cardNo": "xxxxxxxxxxxxxxxxxxx",
"name": "xxx",
"idCard": "xxxxxxxxxxxxxxxxxx",
"mobile": "xxxxxxxxxxx"
}
headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Auth_Token': json.dumps(generate_auth_token()),
'Sign_Type': 'md5'}
response = requests.post(headers=headers, url=request_url, data=params)
if response.status_code == 200:
print(response.json())
else:
print(response.text)
银行卡四要素(标准版)
ID:624
申请次数
17
收藏次数
24
认证要求
场景审核
联系电话:
400-000-6665
联系邮箱:
suilian@suiliantech.com
在线客服: