使用C#版第三方微信SDK集成微信支付
Words: 1845Read Time: 5 minLast edited: 2026-6-3
概述
最近在工作中要开发一个微信支付的功能,项目比较急,第一反应就是去官方文档找SDK,发现官方只提供了JAVA、PHP、Go的SDK。(对C#玩家真不友好!=_=!)。好在微信支付的开发者社区有位大哥fudiwei (RHQYZ) (github.com)提供了C#版的SDK,项目地址:DotNetCore.SKIT.FlurlHttpClient.Wechat,果断Install一下。
SDK简介
SKIT.FlurlHttpClient.Wechat是基于
Flurl.Http 的微信 HTTP API SDK,目前已包含公众平台、开放平台、商户平台、企业微信、广告平台、对话开放平台等模块。看了一下文档,已经把微信已知的API都封装了,而且更新的还比较快,github上作者Issues回复也很快,还是比较稳定,完全够用啦。
接入使用
我这里只用到了JSAPI支付,其他的需求可查看项目文档,都有详细介绍。
准备工作
- 申请商户号
- 开启V3 api权限
- 下载密钥和序列号
配置文件
我是新建了一个叫tenpay_setting.json的配置文件,也可以直接加到appsetting.json
请求客户端创建
项目文档上是在多租户的情况下使用factory创建,我这里没有分租户。
读取私钥内容
注意,新版本中不需要处理-----BEGIN PRIVATE KEY-----和-----END PRIVATE KEY-----,否则会出现Private key format is not supported.
自动刷新证书
项目simple中是使用内存管理证书,我这项目需要其他微服务使用,就用redis缓存管理
Worker干的事,为了以后可能出现多商户,也搞了循环商户数组
创建订单
生成客户端参数
拿着下单后的PrepayId就可以去获取客户端所需参数了
回调方法
至此就ok啦,业务处理的代码就不放了,根据自己的情况编写。
其他
前端
本地测试时,支付用的时wx官方提供的小程序示例,其中有个模块叫接口能力——发起支付,改改提交方法即可
回调测试
如果没有测试服务器,像我一样,可以使用natapp内网穿透,如果在公司测试的话开个内网穿透就ok了
如果有其他啥好方法也可以分享一下!
Loading...