public class AcpService extends Object
| 构造器和说明 |
|---|
AcpService() |
| 限定符和类型 | 方法和说明 |
|---|---|
static String |
base64Decode(String base64Str,
String encoding)
对base64的字符串解base64
|
static String |
base64Encode(String rawStr,
String encoding)
对字符串做base64
|
static String |
createAutoFormHtml(String reqUrl,
Map<String,String> hiddens,
String encoding)
功能:前台交易构造HTTP POST自动提交表单
|
static String |
deCodeFileContent(Map<String,String> resData,
String fileDirectory,
String encoding)
功能:解析交易返回的fileContent字符串并落地 ( 解base64,解DEFLATE压缩并落地)
适用到的交易:对账文件下载,批量交易状态查询 |
static String |
decryptData(String base64EncryptedInfo,
String encoding)
敏感信息解密,使用配置文件acp_sdk.properties解密
|
static String |
decryptData(String base64EncryptedInfo,
String certPath,
String certPwd,
String encoding)
敏感信息解密,通过传入的私钥解密
|
static String |
enCodeFileContent(String filePath,
String encoding)
功能:将批量文件内容使用DEFLATE压缩算法压缩,Base64编码生成字符串并返回
适用到的交易:批量代付,批量代收,批量退货 |
static String |
encryptData(String data,
String encoding)
敏感信息加密并做base64(卡号,手机号,cvn2,有效期)
|
static String |
encryptPin(String accNo,
String pin,
String encoding)
密码加密并做base64
|
static String |
encryptTrack(String trackData,
String encoding)
已过时。
|
static int |
genLuhn(String number)
获取
|
static String |
getCardTransData(Map<String,String> cardTransDataMap,
Map<String,String> requestData,
String encoding)
有卡交易信息域(cardTransData)构造
所有子域需用“{}”包含,子域间以“&”符号链接。 |
static String |
getCustomerInfo(Map<String,String> customerInfoMap,
String accNo,
String encoding)
功能:持卡人信息域customerInfo构造
说明:不勾选对敏感信息加密权限使用旧的构造customerInfo域方式,不对敏感信息进行加密(对 phoneNo,cvn2, expired不加密),但如果送pin的话则加密 |
static String |
getCustomerInfoWithEncrypt(Map<String,String> customerInfoMap,
String accNo,
String encoding)
功能:持卡人信息域customerInfo构造,勾选对敏感信息加密权限 适用新加密规范,对pin和phoneNo,cvn2,expired加密
适用到的交易: |
static String |
getEncryptCertId()
获取敏感信息加密证书的物理序列号
|
static String |
getFileContent(String fileContent,
String encoding)
功能:将结果文件内容 转换成明文字符串:解base64,解压缩
适用到的交易:批量交易状态查询 |
static Map<String,String> |
parseCustomerInfo(String customerInfo,
String encoding)
解析返回报文(后台通知)中的customerInfo域:
解base64,如果带敏感信息加密 encryptedInfo 则将其解密并将 encryptedInfo中的域放到customerInfoMap返回 |
static Map<String,String> |
parseCustomerInfo(String customerInfo,
String certPath,
String certPwd,
String encoding)
解析返回报文(后台通知)中的customerInfo域:
解base64,如果带敏感信息加密 encryptedInfo 则将其解密并将 encryptedInfo中的域放到customerInfoMap返回 |
static Map<String,String> |
sign(Map<String,String> reqData,
String encoding)
请求报文签名(使用配置文件中配置的私钥证书或者对称密钥签名)
功能:对请求报文进行签名,并计算赋值certid,signature字段并返回 |
static Map<String,String> |
signByCertInfo(Map<String,String> reqData,
String certPath,
String certPwd,
String encoding)
多证书签名(通过传入私钥证书路径和密码签名)
功能:如果有多个商户号接入银联,每个商户号对应不同的证书可以使用此方法:传入私钥证书和密码(并且在acp_sdk.properties中 配置 acpsdk.singleMode=false) |
static Map<String,String> |
signBySecureKey(Map<String,String> reqData,
String secureKey,
String encoding)
多密钥签名(通过传入密钥签名)
功能:如果有多个商户号接入银联,每个商户号对应不同的证书可以使用此方法:传入私钥证书和密码(并且在acp_sdk.properties中 配置 acpsdk.singleMode=false) |
static int |
updateEncryptCert(Map<String,String> resData,
String encoding)
获取应答报文中的加密公钥证书,并存储到本地,备份原始证书,并自动替换证书
更新成功则返回1,无更新返回0,失败异常返回-1 |
static boolean |
validate(Map<String,String> rspData,
String encoding)
验证签名(SHA-1摘要算法)
|
static boolean |
validateBySecureKey(Map<String,String> rspData,
String secureKey,
String encoding)
多密钥验签(通过传入密钥签名)
|
public static Map<String,String> sign(Map<String,String> reqData, String encoding)
reqData - 请求报文mapencoding - 上送请求报文域encoding字段的值public static Map<String,String> signByCertInfo(Map<String,String> reqData, String certPath, String certPwd, String encoding)
reqData - 请求报文mapcertPath - 签名私钥文件(带路径)certPwd - 签名私钥密码encoding - 上送请求报文域encoding字段的值public static Map<String,String> signBySecureKey(Map<String,String> reqData, String secureKey, String encoding)
reqData - 请求报文mapsecureKey - 签名对称密钥encoding - 上送请求报文域encoding字段的值public static boolean validate(Map<String,String> rspData, String encoding)
resData - 返回报文数据encoding - 上送请求报文域encoding字段的值public static boolean validateBySecureKey(Map<String,String> rspData, String secureKey, String encoding)
resData - 返回报文数据encoding - 上送请求报文域encoding字段的值public static String createAutoFormHtml(String reqUrl, Map<String,String> hiddens, String encoding)
action - 表单提交地址hiddens - 以MAP形式存储的表单键值encoding - 上送请求报文域encoding字段的值public static String enCodeFileContent(String filePath, String encoding)
filePath - 批量文件-全路径文件名public static String deCodeFileContent(Map<String,String> resData, String fileDirectory, String encoding)
resData - 返回报文mapfileDirectory - 落地的文件目录(绝对路径)encoding - 上送请求报文域encoding字段的值public static String getFileContent(String fileContent, String encoding)
fileContent - 批量交易状态查询返回的文件内容public static String getCustomerInfo(Map<String,String> customerInfoMap, String accNo, String encoding)
customerInfoMap - 信息域请求参数 key送域名value送值,必送accNo - customerInfoMap送了密码那么卡号必送,如果customerInfoMap未送密码pin,此字段可以不送encoding - 上送请求报文域encoding字段的值public static String getCustomerInfoWithEncrypt(Map<String,String> customerInfoMap, String accNo, String encoding)
customerInfoMap - 信息域请求参数 key送域名value送值,必送 accNo - customerInfoMap送了密码那么卡号必送,如果customerInfoMap未送密码PIN,此字段可以不送encoding - 上送请求报文域encoding字段的值public static Map<String,String> parseCustomerInfo(String customerInfo, String encoding)
customerInfo
- encoding
- public static Map<String,String> parseCustomerInfo(String customerInfo, String certPath, String certPwd, String encoding)
customerInfo
- encoding
- public static String encryptPin(String accNo, String pin, String encoding)
accNo - 卡号pwd - 密码encoding
- public static String encryptData(String data, String encoding)
data - 送 phoneNo,cvn2,有效期encoding
- public static String decryptData(String base64EncryptedInfo, String encoding)
base64EncryptedInfo - 加密信息encoding
- public static String decryptData(String base64EncryptedInfo, String certPath, String certPwd, String encoding)
base64EncryptedInfo - 加密信息certPath - 私钥文件(带全路径)certPwd - 私钥密码encoding
- public static String encryptTrack(String trackData, String encoding)
trackData - 待加密磁道数据encoding - 编码格式public static String getEncryptCertId()
public static String base64Encode(String rawStr, String encoding) throws IOException
rawStr
- encoding
- IOExceptionpublic static String base64Decode(String base64Str, String encoding) throws IOException
base64Str
- encoding
- IOExceptionpublic static String getCardTransData(Map<String,String> cardTransDataMap, Map<String,String> requestData, String encoding)
cardTransDataMap - cardTransData的数据requestData - 必须包含merId、orderId、txnTime、txnAmt,磁道加密时需要使用encoding - 编码public static int updateEncryptCert(Map<String,String> resData, String encoding)
resData - 返回报文encoding - public static int genLuhn(String number)
number - Copyright © 2019. All rights reserved.