P2P大额收款账户查询
# 请求地址
- POST https://test2-openapi.91fafafa.com/api/payment/india/largeAmountPaymentBankCard/query
# 请求参数
参数 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
appId | string | Y | 商户appId | B2iwKFIM4tvo |
merchantId | string | Y | 商户id | CH10001165 |
accountNumber | string | N | 银行卡号 | 931028317361 |
status | int | N | 银行卡状态 0-在线 1-下线 | 0 |
pageIndex | int | N | 页码,默认查询第一页 | 1 |
timestamp | long | Y | 时间戳(毫秒) | 1710385869989 |
sign | string | Y | 签名 | KDvgD7z+ER5uNnR/IiiShowSaGXkYxaBXxRtg+25Q1at UUcu/zikMfSDUJxBXIdNo9Bdk7QbjWFjHe/l4j6mR3wY Jit0NRmeql7VW1VB4GUEpRE/zijX2JLhag0bvhBYZr3V rlGvIlJUA+Dms0PmliUJBrAFqGtR/SOYM6wSRaNgtg9z NPZKuSf4PT1qxWh7Bd5Kxs06crExm4Iw/+2aJiGwprdU vo8veJkHlnoMeG7KWila8J/Fjot+TSN+37VXwfUYzC4s Nysm4SLoXLnQsqF7GBNAXImkokeRfPcFCCxVDlPbizMZ t35mVBh7u5bAoY4cZYZV5eMPw8ocyiEMZw== |
# 请求报文示例
{
"merchantId": "CH10001164",
"appId": "e6ijr5bTdaRq",
"accountNumber": "931028317361",
"status": 0,
"timestamp": 1711347168131,
"pageIndex": 1,
"sign": "D//YCR7m8CrfsQegzljikb/D2qg8qyf5nOwm/Mo14v8qxeb7yA6imuBOh98Q3wlwT5tp55d3HD6+llOT8cPD4eopVQJLlyHWo2gkHbgnQTW1jxvqe+Cw333YDmVGbd8gXq+u3uQBKnNs355P0R4Mh3Ph74AagmZbDskC8ZceDJixXU+LAxfKLFE7CUXKfefcJbP4M+AvwUtGgsI9QLHa0P+Zxp6fr3TgMp4yTIxPE9g2V1XshdM1MfF9l6BMbW1mp6NBDZpkjC8d3t2HXU92k+x0HkeYIiMv11+/WvetgsCMZunLnphwgBCyq6gRgfyTCh+cm3plpvr/bQhWDuVo3A=="
}
# 响应参数
参数 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
code | String | Y | 响应码 000000为成功,其余为失败 | 000000 |
msg | String | Y | 响应描述 success:成功 | success |
data | list | Y | 返回数据 | |
sign | String | Y | 签名 | hqvrXjE6ntfZ2Xp7VDG/aZ fJ4QRjSN6mCmETd+fvn7uE yLfp9qCPhWFnmXAiC2EdmN UXluEXBcRel2k9yGk552nY 00fSjueNzMPo6rBxwIfVf5 Pcsnqjkg4p3dFluKWevc5u rayuhwdJ2CBw/UiupdGhuA NGvTep2aeHRM0KvfwIf823 wVba9u05zjU1zknlfEXShN egLzU7Wm3JXb0ETNUAj8Tb /Bdnds9+u1eUZQoPojqfxP cZf0oieKxIRM/ID9bS3tF1 EeWeLP5rs/zp3dtKBZAvrk yGjIzH83Optw1uzdoyhHC0 CMeo+2J1BWo4KtV06Vbj7z pXd5h19nlleg== |
# 查询数据对象(data数据)
参数 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
records | List<record> | Y | 银行卡账户信息 | |
totalPages | int | Y | 总页数 | 2 |
totalCount | int | Y | 总条数 | 16 |
pageSize | int | Y | 每页数量 | 2 |
pageIndex | int | Y | 页码 | 1 |
# 银行卡账户信息(record数据)
参数 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
id | String | Y | 银行卡唯一ID | 10 |
name | String | Y | 收款人姓名 | mikeloe |
accountNumber | String | Y | 银行卡号 | 43086525073 |
ifscCode | String | Y | IFSC | HDFC0091373 |
bankName | String | Y | 银行名称 | Canara Bank |
branchName | String | Y | 支行名称 | sagar Bank |
status | int | Y | 银行卡状态 0-在线 1-下线 | 0 |
# 成功响应报文示例
- 成功响应报文示例
{
"msg": "success",
"code": "000000",
"data": {
"records": [
{
"id": "1",
"name": "mikeloe",
"accountNumber": "43086525073",
"ifscCode": "HDFC0091373",
"bankName": "Canara Bank",
"branchName": "sagar Bank",
"status": 0
},
{
"id": "2",
"name": "Abhishek",
"accountNumber": "43086545071",
"ifscCode": "HDFC0091483",
"bankName": "State Bank of India",
"branchName": "sagae Bank",
"status": 1
}
],
"totalPages": 2,
"totalCount": 16,
"pageSize": 2,
"pageIndex": 1
},
"sign": "gNfMg0EUqXTzMjYUSUXRDl8LncccM3+boW5wGq0m6docog8UdrCIERF0UFWwGzjGq45MI6ghcunymg43WbxZOtmBBX++LSsd611wu0PCloBwoppbGwcyzWpT8+EY5yMgdh6gJ/kQMyEhChlJJbu6cT2uxDVld9JCEJv6ypSAMRwKL0PRYXr95nrOxt7niE1hRqAJy2+U/oAbpbjOLaK9hyr/eWbluyZvnYsZswY0vjf81JIdk1F+t1s3eS8ktCaD8kdfUbuqE1YnR7DNh/Uq4BR3wERgHCiCIFT6A4r7WoMQJizYxXp8HV0h/X6VHFAPfZfzEsFmJQyxwxiF0Y0ejw=="
}
- 失败响应报文示例
{
"success": false,
"code": "A0340",
"msg": "sign error! (A0340)",
"data": null
}
# 代码实现Demo
- 代码示例仅供参考,具体参数说明请参考请求参数说明
import com.google.gson.Gson;
import okhttp3.*;
import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.Map;
public class LargeCollectionAccountQueryDemo {
/**
* 平台公钥
*/
private static final String PLAT_PUBLIC_KEY ="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1dad35S74jfLPbHJh8P0jDHiTvkxwrtITK97ovVu19B24UdiHyHoEZgtNlS6alFQj1ULQ71d6EPh2rWCNkS2b5HGQXwDYBtwvesVQ8h4Sf3eVPTTLGw3BS7Os4vtDEN6BezMdv3sUG2N5i6JF+5H4CQTq3MD2Cx6u/Cv7oFOdFqeDT0AH+TR7uyZxn69OtkJaHHr834EUcdShJKKMQtbC11WCcut7ilDUgdvZnThiVTq7cfl8mcC9FDKcQ9bMWamScWIB5cJQdUW23Kr0c1NvZlpgPS8U5VODM4Uc4muHJPD2cJmquuJ+4AGP36rEk27lUB3h7B6JI1QGiuh1yyPDwIDAQAB";
/**
* 商户私钥
*/
private static final String MCH_PRIVATE_KEY ="MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC/wgJqa2WHUTrJwdrtOig8lwuKPaL462/1rF45p+xi25uoGUEyiOtB0OC6HLePUfkGYzPULPH/O0yF5GmWkhSuz3lKK/XtXSeRdQIwAQ7lYlhfdJjTLVC7mwkDRZeFePwbnAX5pC0h6Yxf0ibjAglkW2d45AscouZt91xIxgf0VLNZ9dHe8R7j8hPKOGpNi+709ThmRZQVHQLN+6w+mrID7JyWBSbbf2bVWc7UBlHCkudwjEiW/r96CefTukb0SigaS0XpqWEKYHeNWS0DP/a5OUDzXMi6fqHEzMPa6uNYbLpOW1rxMhMhU97W8pLYBba0T9BI7F/xusozxVDVeQbDAgMBAAECggEAdZ4EaU3yemuCiZoUNIoFgBSNiX+A5PlUNPZC3U54mbJl6VeEPADre/Uowj82//uhqR9T/QKMdKbkqwONGEQF16t+k9YfBDatPHTuoI8lmeEWn4Ye7vjOmiPgBVe8NqwcxrqOl67x1+kupt955qerJxlBgE8v2aK5gB3HRwPggSYZgSZJ3X2zQMJ+XN4qe49Un+utqFuGtVRwPQvs/Kazp5GL7WlR0OnpQ2KZ+ur9T58VfTKmIeqBckey7nIrb/fdodJ7IqcykWjSLmy8p84W78iiRDfPn81Ujb231EWW+AbuV399aXBZ4oaR4q8wwkhe9xHUADWLvcfCnMrB40LkEQKBgQD2TEeBEB5Gwj/zpriq23xKJyzfo0hOxzGY/Ol2EykGeEYhny/YiTlMYtOMy37RiGKr4lN7G/pKl2fI5kRjgQM1QXgx6dxd11D0rORXj+SAy6+zAq3NVY4c3zDKmrQQ8x3f2QFffo+TmLtw/BH0Frp+a2lzKzIcXtZ4/akJdVIihwKBgQDHT7xvOaNyAPnnYwpROMI9eUVgFc9pMRAmQ18at8ggZ8M+Ww1nhr00loufzkovCb9MvGR4HSedWHfgmtDu1hUFtl7PItNItsB347yWPxR/lVLs44NVXt7jkFisoBoEBXaNVVt6uOSvBiqINmX3gm4FoisI2SRZsH7nMr07OXO85QKBgCkXdN6Nh9+aTP0jla+7yrK8cnolTc0G4rl5iKHQdInFyz2Ux3DDBDJAUrcsxE3FCWFP80mY01tag1A7SrGnNpfOAnWhZMirQbBwn/AT67WpRfkBu2mEmp8qhYNn6B7j0Nol5FrATMf9NViWVZB5skehOAik7klZcULiXy9ayYdFAoGAA+0bLim5gYZpZdh6nIz8ro9UAYeMdWsFAWv0VKdoJtNEclcC1ZY+5elNSNGcfn63qQBRDlisrhnPCrqiAQJwmZM1HOl3tgf7lKEE1wTZF4ZOguIcdTMQOvVd+dCRkqC07CXRToKT5qq9bb98lLqaBjxikqMMZ0PlzBIgzijckc0CgYAH16CziStEZVvKbiR8b0ftF9mf6V8I0KHianMgV8X6Y51aE0Ig1eQhIvqSjqtBac7gEppiu3OQVrp39uLdgyvDSVta1Hq9QYYTDNt8crt69aD/Th1h5esYvApYyZIhHbFDR5meE4Y3nHpfY7J8zhmfyaVW/6cuwPaToTtrEjQmWQ==";
/**
* apiUrl
*/
private static final String API_URL = "https://test2-openapi.91fafafa.com/api/payment/india/largeAmountPaymentBankCard/query";
public static void main(String[] args) throws Exception {
largeCollectionAccount();
}
private static void largeCollectionAccount() throws Exception {
Map<String, Object> requestParams = new HashMap<>();
requestParams.put("appId", "B2iwKFIM4tvo");
requestParams.put("merchantId", "CH10001165");
requestParams.put("accountNumber", "931028317361");
requestParams.put("status", 0);
requestParams.put("pageIndex", 1);
Long timestamp = System.currentTimeMillis();
requestParams.put("timestamp", timestamp);
// 私钥加密
String sign = CheeseTradeRSAUtil.getSign(requestParams, MCH_PRIVATE_KEY);
requestParams.put("sign", sign);
// 接口请求
Gson gson = new Gson();
String requestBody = gson.toJson(requestParams);
System.out.println("Post Json Params:" + requestBody);
// 发送请求并获取响应
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json; charset=utf-8");
RequestBody body = RequestBody.create(mediaType, requestBody);
Request request = new Request.Builder()
.url(API_URL)
.post(body)
.addHeader("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36")
.build();
Response response = client.newCall(request).execute();
if (!response.isSuccessful()) {
// 失败处理...
System.out.println("Request failed: " + response.code() + " - " + response.message());
}
// 验签处理
String responseBody = response.body().string();
System.out.println("Response: " + responseBody);
Type type = new com.google.gson.reflect.TypeToken<Map<String, Object>>() {}.getType();
Map<String, Object> map = gson.fromJson(responseBody, type);
boolean verifyResult = CheeseTradeRSAUtil.verifySign(map, PLAT_PUBLIC_KEY);
if (verifyResult) {
// ... 签名验证通过,处理正常的业务逻辑
System.out.println("签名验证成功");
} else {
// ... 签名验证错误
System.out.println("签名验证失败");
}
response.close();
}
}