加签是开放平台和商户对于交互消息完整性的校验。加签行为主要发生两个部分:
request.body 进行签名(SHA256WithRSA 计算原始数据的SHA-256哈希值。 使用私钥对哈希值进行签名,即使用私钥对哈希值进行RSA加密。此时得到的加密结果就是数字签名。);Signature signature = Signature.getInstance("SHA256withRSA");
signature.initSign(privateKey);
// 计算 SHA256withRSA 签名时,需要以 utf-8 的编码转换 byte 流,否则可能导致含中文参数的签名计算不正确
signature.update(request.body);
byte[] signedHash = signature.sign();String signature = Base64.getEncoder().encodeToString(signedHash);交互数据的编码【utf-8】
"UTF-8"
接口版本,当前版本为【2.0.0】,目前只能传2.0.0,不能不传
8"2.0.0"
交易类型
- 支付类交易使用 PAY
- VCC 卡交易使用 VCC
PAY, CREDIT_CARD, 3D_PREAUTH_VOIDS, 3D_PREAUTH_COMPLETION, REFUND, VOIDS, QUERY, TRANSFER, DOWNLOAD, REGISTRATION, FILEUPLOAD, INQUIRYREGISTRATIONSTATUS, AUTHORIZE, VCC 接口访问类型
"s2s"
报文签名类型
"RSA"
机构号
"2023010558663764"
商户号
32"2023010558663764"
请求时间,符合rfc3339规范,格式:yyyy-MM-dd'T'HH:mm:ss.SSSXXX 时间需要在当前时间两分钟内
32"2024-05-24T14:29:32.682+08:00"
密钥版本 当前值为:1
8卡组织
VISA, MASTERCARD 与此卡关联的持卡人的 ID。
"1655210317502593"
卡介质
PHYSICAL, VIRTUAL "PHYSICAL"
卡片的昵称
"测试卡"
BUSINESS_EXPENSES, CLIENT_EXPENSES, MARKETING_EXPENSES, OFFICE_SUPPLIES, ONLINE_PURCHASING, OTHER, SUBSCRIPTIONS, TEAM_EXPENSES, TRAVEL_EXPENSES "BUSINESS_EXPENSES"
商户请求流水号
"2025061203333"
卡bin信息
"5223444"
SINGLE, SHARE 金额 请按照4217币种的最小单位传递 eg.(CNY) 110.86 (JPY) 1110
100.01
收件人 ID,实体卡必填
32"622666661111111111"