退款
Authorizations
Example: MIIEpQIBAAKCAQEA...(Base64编码的签名字符串)
加签
加签是开放平台和商户对于交互消息完整性的校验。加签行为主要发生两个部分:
- 商户服务器端针对向PayAllGlobal开放平台发送的请求报文进行加签;
- PayAllGlobal开放平台针对通知商户的异步消息进行加签。 PayAllGlobal平台要求使用 RSA 私钥进行加签, 使用 RSA 公钥进行验签。 因此,在以上两部分描述的交互中, 存在商户公私钥、PayAllGlobal 公私钥,开发者需要使用商户私钥,对第一部分报文进行加签,使用 PayAllGlobal 公钥对第二部分消息进行验签。
加签规则如下:
使用商户私钥对请求体进行 SHA256withRSA 签名后,再进行 Base64 编码的结果。
- 使用 商户私钥对待
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();- 将加签内容进行 Base64 编码;
String signature = Base64.getEncoder().encodeToString(signedHash);- 将编码后的内容放在请求头部 signature 参数中。 注意,加签是对 request.body 进行签名,当查询等 request.body 为空时,则无需加签。
Body
交互数据的编码【utf-8】
"UTF-8"
接口版本,当前版本为【2.0.0】,目前只能传2.0.0,不能不传
"2.0.0"
交易类型
PAY: 消费支付, CREDIT_CARD: 信用卡支付, 3D_PREAUTH_VOIDS: 3D 预授权撤销, 3D_PREAUTH_COMPLETION: 3D 预授权完成, REFUND: 退款, VOIDS: 撤销, QUERY: 查询, TRANSFER: 转账, DOWNLOAD: 文件下载, REGISTRATION: 商户注册, FILEUPLOAD: 文件上传, INQUIRYREGISTRATIONSTATUS: 查询注册状态, AUTHORIZE: 授权, CASHIER_PAY: 收银台支付 接口接入类型,固定为服务端到服务端(s2s)模式
"s2s"
报文签名类型,当前支持RSA。
"RSA"
机构号,商户侧唯一标识
"2023010558663764"
商户号,商户唯一标识
"2023010558663764"
商户订单号
"20230105586637641001"
商户订单时间
交易金额
"100.01"
异步通知地址
原商户订单号
"20230105586637641002"
原订单号
"TR1654008732742455296"
撤销原因
"退货"
Response
OK
是否成功,true表示成功,false表示失败
true
响应状态码,errCode为00000000表示响应成功,其他状态码表示响应失败。具体系统错误码可以参考系统错误码。
"00000003"
错误消息
"处理中"
订单状态(见补充说明)
"PENDING:处理中"
"SUCCESS:成功"
"FAIL:失败"
请求消息唯一标识。traceId为本次调用产生的流水号,接口调用异常,可以提供此流水号用于排查问题。
"33fae7b7aed1233f"