|
@@ -1280,7 +1280,9 @@ class SignatureGenerator
|
|
|
$collect = [];
|
|
$collect = [];
|
|
|
foreach ($filteredData as $key => $value) {
|
|
foreach ($filteredData as $key => $value) {
|
|
|
if (is_array($value)) {
|
|
if (is_array($value)) {
|
|
|
- $value = json_encode($value, JSON_UNESCAPED_SLASHES);
|
|
|
|
|
|
|
+ // 注意: 必须加 JSON_UNESCAPED_UNICODE, 否则中文会被转义为 \uXXXX,
|
|
|
|
|
+ // 与文档示例及后端验签的 UTF-8 原始编码不一致, 导致签名验证失败
|
|
|
|
|
+ $value = json_encode($value, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
|
|
|
}
|
|
}
|
|
|
$encodedValue = rawurlencode((string)$value);
|
|
$encodedValue = rawurlencode((string)$value);
|
|
|
$collect[] = "{$key}={$encodedValue}";
|
|
$collect[] = "{$key}={$encodedValue}";
|