fudiwei / DotNetCore.SKIT.FlurlHttpClient.Wechat

可能是全网最完整的 C# 版微信 SDK,封装全部已知的微信 OpenAPI,包含微信公众平台(订阅号+服务号+小程序+小游戏+小商店+视频号)、微信开放平台、微信商户平台(微信支付+微企付)、企业微信、微信广告平台、微信智能对话开放平台等模块,可跨平台。持续随官方更新,欢迎 Star/Fork/PR。QQ 交流群 875580418【满】、930461548【满】、611974621。
https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient
MIT License
1.47k stars 285 forks source link

JSAPI 接口请求失败 提示 Private key format is not supported. #123

Closed taoranxy closed 6 months ago

taoranxy commented 6 months ago

请简要描述你所遇到的问题。 SKIT.FlurlHttpClient.Wechat.Api 升级到 3.0.0 , SKIT.FlurlHttpClient.Wechat.TenpayV3 升级到3.0.1 之后使用 WechatTenpayClientBuilder 创建client image 在异步调用 [POST] /pay/transactions/native 接口(ExecuteCreatePayTransactionNativeAsync) image 返回异常 提示 Private key format is not supported. 将 SKIT.FlurlHttpClient.Wechat.Api 及 SKIT.FlurlHttpClient.Wechat.TenpayV3 降回 2.37.0 及 2.21.0后 可正常调用

fudiwei commented 6 months ago

请检查构造客户端时传入的 MerchantCertificatePrivateKey 参数,必须是形如:

-----BEGIN PRIVATE KEY-----密钥-----END PRIVATE KEY-----

使用微信证书工具生成出来的 pem 文件内容是啥就传啥,不要手动删除开头的 -----BEGIN PRIVATE KEY----- 和结尾的 -----END PRIVATE KEY-----

ihuadz commented 6 months ago

昨天也遇到了,之前的版本需要手动将-----BEGIN PRIVATE KEY-----密钥-----END PRIVATE KEY-----删了,现在不用了

fudiwei commented 6 months ago

@ihuadz: 昨天也遇到了,之前的版本需要手动将-----BEGIN PRIVATE KEY-----密钥-----END PRIVATE KEY-----删了,现在不用了

之前的版本其实也不需要删 😂 只是 v2.x 没验证入参而已,所以即便删了也不会抛出异常。

P.S. 已将此问题加入迁移指南中,感谢反馈。

ihuadz commented 6 months ago

@ihuadz: 昨天也遇到了,之前的版本需要手动将-----BEGIN PRIVATE KEY-----密钥-----END PRIVATE KEY-----删了,现在不用了

之前的版本其实也不需要删 😂 只是 v2.x 没验证入参而已,所以即便删了也不会抛出异常。

P.S. 已将此问题加入迁移指南中,感谢反馈。

明白了明白了 :smile: