首页 > 编程语言 >可能是全网最完整的 C# 版微信 SDK

可能是全网最完整的 C# 版微信 SDK

时间:2024-11-27 09:29:19浏览次数:6  
标签:版微信 FlurlHttpClient 商户 C# 微信 SKIT Wechat new SDK

项目介绍

SKIT.FlurlHttpClient.Wechat可能是全网最完整的 C# 版微信 SDK,封装全部已知的微信 API,包含微信公众平台(订阅号+服务号+小程序+小游戏+小商店+视频号)、微信开放平台、微信商户平台(微信支付+微企付)、企业微信、微信广告平台、微信智能对话开放平台等模块,可跨平台。

图片

项目特性

  • 基于: Flurl.Http

  • 支持平台: .NET Framework 4.6.2+、.NET Standard 2.0+、.NET Core 2.0+、.NET 5.0+

  • 跨平台部署: 支持 Windows / Linux / macOS

  • 序列化方式: 支持 System.Text.Json(默认)和 Newtonsoft.Json

  • 特点:

    • 强类型接口模型

    • 全异步式编程

    • 提供 SourceLink 调试符号文件

功能模块

该项目目前已包含公众平台、开放平台、商户平台、企业微信、广告平台、对话开放平台等模块。

图片

微信支付 v3 版接入示例代码

NuGet 安装

> Install-Package SKIT.FlurlHttpClient.Wechat.TenpayV3

初始化

using SKIT.FlurlHttpClient.Wechat.TenpayV3;
using SKIT.FlurlHttpClient.Wechat.TenpayV3.Settings;

var manager = new InMemoryCertificateManager();
var options = new WechatTenpayClientOptions()
{
    MerchantId = "微信商户号",
    MerchantV3Secret = "微信商户 v3 API 密钥",
    MerchantCertificateSerialNumber = "微信商户证书序列号",
    MerchantCertificatePrivateKey = System.IO.File.ReadAllText("/微信商户证书私钥文件路径/apiclient_key.pem"),
    PlatformCertificateManager = manager // 平台证书管理器的具体用法请参阅下文的基础用法与加密、验签有关的章节
};
var client = WechatTenpayClientBuilder.Create(options).Build();

请求 & 响应

using SKIT.FlurlHttpClient.Wechat.TenpayV3;
using SKIT.FlurlHttpClient.Wechat.TenpayV3.Models;

/* 以 JSAPI 统一下单接口为例 */
var request = new CreatePayTransactionJsapiRequest()
{
    OutTradeNumber = "商户订单号",
    AppId = "微信 AppId",
    Description = "订单描述",
    ExpireTime = DateTimeOffset.Now.AddMinutes(15),
    NotifyUrl = "https://example.com",
    Amount = new CreatePayTransactionJsapiRequest.Types.Amount()
    {
        Total = 1
    },
    Payer = new CreatePayTransactionJsapiRequest.Types.Payer()
    {
        OpenId = "微信 OpenId"
    }
};
var response = await client.ExecuteCreatePayTransactionJsapiAsync(request);
if (response.IsSuccessful())
{
    Console.WriteLine("PrepayId:" + response.PrepayId);
}
else
{
    Console.WriteLine("错误代码:" + response.ErrorCode);
    Console.WriteLine("错误描述:" + response.ErrorMessage);
}

项目地址

https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat

标签:版微信,FlurlHttpClient,商户,C#,微信,SKIT,Wechat,new,SDK
From: https://blog.csdn.net/qq_37237487/article/details/144016436

相关文章

  • css中最常用的字体有哪些?你是怎么选择字体的?
    CSS中最常用的字体可以分为几类,选择字体时需要考虑多个因素。常用字体分类:安全字体(Web-safefonts):这些字体预装在大多数操作系统中,可以确保在不同设备和浏览器上显示一致。衬线体(Serif):TimesNewRoman,Georgia,Garamond无衬线体(Sans-serif):Arial,Helveti......
  • 如果css文件过大时,如何异步加载它?
    在前端开发中,如果CSS文件过大,异步加载它可以防止阻塞渲染,提高页面加载速度,特别是首屏渲染速度。以下几种方法可以异步加载CSS:1.使用<linkrel="preload">和JavaScript:这是推荐的方法,因为它利用了浏览器的预加载机制,并在加载完成后才应用样式,避免了页面样式闪烁。<linkr......
  • 你是怎样对css文件进行压缩合并的?
    要压缩和合并CSS文件,你需要使用专门的工具。以下是一些常用的方法和工具:1.在线工具:有很多在线工具可以压缩和合并CSS文件,你只需要复制粘贴你的CSS代码或上传文件,然后点击按钮即可完成。这些工具通常是免费的,并且易于使用,例如:CSSMinifier:这类工具有很多,搜索"CSSm......
  • 你有使用过preload、preconnect、prefetch这些属性吗?说说它们都有什么作用?
    是的,我了解preload、preconnect和prefetch这些前端性能优化相关的属性。它们各自作用如下:preload(预加载):preload是一种声明式的fetch,用于强制浏览器请求当前页面关键资源,并将其存储在缓存中,以便在需要时更快地使用。它告诉浏览器:“我确定稍后会需要这个资源,请尽快下......
  • [ZJCTF 2019]NiZhuanSiWei
    [ZJCTF2019]NiZhuanSiWei上面代码,使用get上传了三个参数,在text者用力恒等于,然后就输出,接着第二个参数中出现flag就输出notnow,接着第三个参数是反序了一下输出。?text=data://text/plain,welcometothezjctf发现有回显解码一下b64:去反序列化得到&password=O%3......
  • 【最新原创毕设】基于Java的面向中职物联网专业教师的课程资源服务平台(免费领源码)可做
    目录摘要1绪论1.1选题背景与意义1.2国内外研究现状1.3论文结构与章节安排2系统分析2.1可行性分析2.2系统流程分析2.2.1系统开发流程2.2.2用户登录流程2.2.3系统操作流程2.2.4添加信息流程2.2.5修改信息流程2.2.6删除信息流程2.3 系统......
  • 【AIGC】团队甩锅篇:话术解读与应对
    引言在职场中,与领导的沟通往往是一门需要精心研究的艺术。一句话的理解偏差可能带来意想不到的后果,而恰当的回应则能够促进良性互动,推动工作顺利开展。本文将深入探讨领导话术的解读技巧,并提供实用的应对策略,帮助职场人士提升沟通效能。本篇prompt在最下方感觉不错的话......
  • (分享源码)计算机毕业设计必看必学 上万套实战教程手把手教学JAVA、PHP,node.js,C++、pyth
    摘 要随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自己的信息更及时有效地推广出去,而其中最好的方式就是建立网络管理系统,并对其进行信息管理。由于现在网络的发达,果园信息统计管理系统的信息通过网络进行信息管理掀起了热潮,所以针对果园信......
  • (分享源码)计算机毕业设计必看必学 上万套实战教程手把手教学JAVA、PHP,node.js,C++、pyth
    摘 要科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设物......
  • 投递CDN实时日志到SLS来分析用户访问数据
    本文介绍如何使用实时日志功能对用户访问日志进行分析。概述阿里云CDN产品的实时日志功能是CDN产品与SLS产品联合推出的一项功能,是一种时效性非常高(延迟在3分钟左右)的日志数据处理服务,能够将CDN节点上采集到的用户访问日志实时推送至SLS日志服务,然后可以通过SLS来存储和分析......