1.机构id
“机构id”是由银联为每个用户单独分配的代码,机构发起请求时,必须填写银联分配的“机构id”(除获取token接口外),否则应答报文将返回9913的报错。
2.计算签名信息
计算签名信息时,先将“签名密钥+请求报文+时间戳”拼接得到字符串,再对该字符串进行SHA256加密得到签名信息(英文字母小写)。注意,请求报文中尽量不要包含空格、换行符等字符。
例如,若签名密钥(signature)为aaaabbbbccccdddd,请求报文(body)为{"id":"0001000001","data":{"certId":"391EE5771E5F5D153E2594CBC760DB5CCF99940FE66B2AF9050B387BA217B50A","queryHash":"1","queryTp":"01","queryFraudApply":"1","queryEconomicCrime":"1","queryLoseTrust":"1"}},时间戳为1595419093337,则计算得到签名信息fcfec49bc95a401aefede6a348c656fb038a637178f282751196756764eee197。
3.请求URL地址
若是互联网接入,各接口互联网接入的URL可参见“报文举例”栏。例如,个人风险标签A-身份证号接口的URL为https://openapi.unionpay.com/upapi/ARESVerificationService/PerRiskEval_getCertifIdFraudRiskEval;
若是专线接入,将互联网URL的前半部分https://openapi.unionpay.com/替换为http://9.234.52.230:10785/或者http://9.234.152.230:10785/即可。例如个人风险标签A-身份证号接口的URL为http://9.234.52.230:10785/upapi/ARESVerificationService/PerRiskEval_getCertifIdFraudRiskEval或者http://9.234.152.230:10785/upapi/ARESVerificationService/PerRiskEval_getCertifIdFraudRiskEval。
4.敏感信息SM3加密
为保护数据传输安全,用户必须先对身份证号/银行卡号/手机号进行SM3加密(银行卡号先加长度位再进行SM3),然后再查询水晶球,注意加密后的值应使用大写英文字母。SM3算法是国密哈希算法,密级与SHA256一致,如用户有相关需求,可咨询业务联系人获取SM3算法的代码。
例如,若某手机号为13500001111,则SM3加密后得到62166D8D29A0A576D5E0017AAF77EF8FB50F908526B579404625C99CDF91B78A;
例如,若某银行卡号为6200001111222233,则加长度位得到166200001111222233,然后进行SM3加密得到C23F34ABB6CA3E425358CCE284D4E1889152E40F3760A56DFD2BBF7CECAB61A5。