交易查询
支付
交易查询
POST
交易查询
授权
加签(Signature)
加签是 PayLoco 开放平台与商户之间用于保障报文完整性和防篡改的安全机制。
适用场景
- 商户请求 PayLoco:商户使用自身私钥对请求报文进行加签。
- PayLoco 返回响应:商户使用 PayLoco 公钥 对响应报文进行验签。
加签规则(商户请求端)
商户需对 HTTP 请求的 Body 进行签名,具体步骤如下:
1. 计算签名(SHA256withRSA)
Signature signature = Signature.getInstance("SHA256withRSA");
signature.initSign(merchantPrivateKey);
// 必须使用 UTF-8 编码
byte[] bodyBytes = requestBody.getBytes(StandardCharsets.UTF_8);
signature.update(bodyBytes);
byte[] signedBytes = signature.sign();2. 将加签内容进行 Base64 编码;
String signature = Base64.getEncoder().encodeToString(signedHash);3. 将编码后的内容放在请求头部 signature 参数中。
POST /v2/payments/open/api/pay HTTP/1.1
Content-Type: application/json
signature: MIIC8jCCAdqgAwIBAgI...请求体
application/json
请求数据体
交互数据的编码【utf-8】
示例:
"UTF-8"
接口版本,当前版本为【2.0.0】,目前只能传2.0.0,不能不传
Maximum string length:
8示例:
"2.0.0"
报文签名类型
示例:
"RSA"
机构号
示例:
"2023010558663764"
商户号
Maximum string length:
32示例:
"2023010558663764"
请求时间,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ssSSS+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2026-05-20T13:29:35.262+08:00表示,北京时间2026年5月20日13点29分35秒。
Maximum string length:
32示例:
"2026-05-24T14:29:32.682+08:00"
密钥版本 当前值为:1
Maximum string length:
8示例:
"1"
请求数据体