到底哪里有问题,请回答!!!
sign, err := generateWxAppPaySign(
"wxcdb70914872f1d06",
prepayId,
nonceStr,
timestamp,
utils.MchPrivateKey,
)
if err != nil {
log.Println("签名生成失败: %v", err.Error())
}
func generateWxAppPaySign(appid, prepayId, nonceStr, timestamp string, privateKey *rsa.PrivateKey) (string, error) {
if privateKey == nil {
return "", fmt.Errorf("private key is nil")
}
if appid == "" || prepayId == "" || nonceStr == "" || timestamp == "" {
return "", fmt.Errorf("invalid parameters")
}
message := fmt.Sprintf("%s\n%s\n%s\n%s\n", appid, timestamp, nonceStr, prepayId)
h := sha256.New()
h.Write([]byte(message))
digest := h.Sum(nil)
signature, err := rsa.SignPKCS1v15(rand.Reader, privateKey, crypto.SHA256, digest)
if err != nil {
return "", err
}
return base64.StdEncoding.EncodeToString(signature), nil
}

https://developers.weixin.qq.com/community/develop/article/doc/000e20672e49080e1c3cdf5e751013