This commit is contained in:
2026-01-16 16:02:18 +08:00
parent 71af961cfb
commit 33dd85fd2f
5 changed files with 45 additions and 26 deletions

View File

@@ -138,10 +138,20 @@ func newWechatPayServiceWithWxPayPubKey(c config.Config, userAuthModel model.Use
// 注册证书下载器,用于下载平台证书(回调验签需要)
// 注意:使用公钥方式时,需要手动注册证书下载器才能下载平台证书
// 由于已配置公钥文件,证书下载改为可选,不阻塞初始化
err = downloader.MgrInstance().RegisterDownloaderWithClient(context.Background(), client, mchID, mchAPIv3Key)
if err != nil {
logx.Errorf("注册证书下载器失败: %v", err)
panic(fmt.Sprintf("初始化失败,服务停止: %v", err))
// 检查是否是404错误可能是配置问题
if apiErr, ok := err.(*core.APIError); ok && apiErr.StatusCode == 404 {
logx.Infof("[警告] 注册证书下载器失败(404): 可能是商户号(%s)、证书序列号或API密钥配置错误或网络问题。错误详情: %v", mchID, err)
logx.Infof("[提示] 如果已正确配置公钥文件(%s),可以继续使用,证书下载失败不影响支付功能", mchPublicKeyPath)
} else {
logx.Infof("[警告] 注册证书下载器失败(非致命错误,将使用配置的公钥进行验签): %v", err)
}
// 不阻塞初始化,因为已经配置了公钥文件,可以直接用于验签
// 如果后续需要下载平台证书,可以在回调处理时重试
} else {
logx.Infof("证书下载器注册成功")
}
// 初始化 notify.Handler