-f
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user