fix: 富友验签错误 — 签名原文必须包含空值字段(与富友文档签名实例一致)
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m9s

This commit is contained in:
2026-03-30 13:21:04 +08:00
parent a97462dd69
commit 30d6743310

View File

@@ -68,6 +68,8 @@ func NewClient(insCd, mchntCd, termId, apiURL, notifyURL, privateKeyBase64, publ
func (c *Client) Sign(data interface{}) (string, error) {
signStr := buildSignString(data)
c.logger.Debug("富友签名原文", zap.String("sign_str", signStr))
// UTF-8 → GBK
gbkBytes, err := utf8ToGBK([]byte(signStr))
if err != nil {
@@ -227,11 +229,6 @@ func structToMap(data interface{}) map[string]string {
continue
}
// 排除空值
if value == "" {
continue
}
result[tag] = value
}