微信支付刚出来的时候,和公众号的绑定关系很深(甚至旧版本使用的就是公众号的appId),随着微信生态的逐步丰富,微信支付越来越成为一个独立的平台,同时服务于公众号、小程序、开放平台、企业号/企业微信等诸多平台,甚至微信支付本身也有了一些独立的功能。

  早期,顺应微信支付的设计,我们在 Senparc.Weixin.MP(公众号模块)中嵌入了微信支付功能,经过连续 6 年的迭代升级,微信支付已经扩展到QY(企业号)、Work(企业微信)、Open(开放平台)、WxOpen(小程序)等模块,其中出现了诸多重复的逻辑代码和过程,为了让 Senparc.Weixin SDK 的结构更加符合实际场景,并且精简各个模块主体功能,同时也为了将微信支付更加集中地进行管理和深度优化,我们决定将微信支付从各个模块中分离出来,首先分离的是公众号,随后所有模块都将和微信支付分离。

  微信支付的独立模块名称叫:Senparc.Weixin.TenPay。

  Senparc.Weixin.TenPay 中包含了 V2 和 V3 两个支付版本的功能,可以通过 Senparc.Weixin.TenPay.V2 或 Senparc.Weixin.TenPay.V3 命名空间进行区分。Senparc.Weixin.TenPay 命名空间下为公共的方法。所有的方法保持了原有的结构,因此可以非常方便地进行升级。

  如果您在系统中已经使用了 Senparc.Weixin.MP 等模块中使用到了公众号,可以根据以下的步骤进行升级:

  1. 安装 Senparc.Weixin.TenPay:https://www.nuget.org/packages/Senparc.Weixin.TenPay
  2. 命名空间引用:
    1)using Senparc.Weixin.MP.TenPayLibV3 改为 using Senparc.Weixin.TenPay.V3

  3. 2)using Senparc.Weixin.MP.TenPayLib 改为 using Senparc.Weixin.TenPay.V2

  4. 枚举的命名空间变化:如Senparc.Weixin.MP.TenPayLibV3.TenPayV3Type.JSAPI,改为:Senparc.Weixin.TenPay.JSAPI
  5. 其他如有编译不通过的,可以直接根据提示引用命名空间
  6. 完成。

  总之:只需要修改命名空间,逻辑代码不需要做任何修改。

  Senparc.Weixin.TenPay 的源代码在 https://github.com/JeffreySu/WeiXinMPSDK 中和 MP 的同级目录下:https://github.com/JeffreySu/WeiXinMPSDK/tree/master/src/Senparc.Weixin.TenPay。

  

Senparc.Weixin.TenPay 正式发布的更多相关文章

  1. 微信支付 V3 开发教程(一):初识 Senparc.Weixin.TenPayV3

    前言 我在 9 年前发布了 Senparc.Weixin SDK 第一个开源版本,一直维护至今,如今 Stras 已经破 7K,这一路上得到了 .NET 社区的积极响应和支持,也受到了非常多的宝贵建议 ...

  2. Senparc.Weixin.MP SDK 微信公众平台开发教程(十五):消息加密

    前不久,微信的企业号使用了强制的消息加密方式,随后公众号也加入了可选的消息加密选项.目前企业号和公众号的加密方式是一致的(格式会有少许差别). 加密设置 进入公众号后台的“开发者中心”,我们可以看到U ...

  3. 【重要更新】Senparc.Weixin SDK v4.3.3升级说明

    为了更好地适应微信越来越快的API更新速度和越来越多的API数量,本次Senparc.Weixin.dll v4.3.3对一些通用功能进行了深度的重构. 本次更新同时影响以下所有Senparc.Wei ...

  4. 【重要更新】Senparc.Weixin SDK v4.4 升级说明

    本次更新同时影响以下所有Senparc.Weixin相关版本的dll: Senparc.Weixin.dll 升级到 v4.4.2(重要) Senparc.Weixin.MP.dll 升级到 v13. ...

  5. [原创][下载]Senparc.Weixin.MP-微信公众平台SDK(C#) - 已支持微信6.x API

    因为正在计划做一个微信机器人,需要用ASP.NET,找了一下只有PHP的SDK,没有C#的,于是动手写了一个,已经全面支持微信6.x所有接口,包括多客服.卡券.微信支付等. 微信公众平台地址:http ...

  6. Senparc.Weixin SDK v5.0 升级公告

    经过五年半的持续维护,Senparc.Weixin SDK 逐步丰满和完善,在升级的过程中,我们为基础库(Senparc.Weixin.dll)加入了许多通用的功能,例如加密/解密算法.通用缓存方法等 ...

  7. [公告]Senparc.Weixin v4.7.0 升级说明(2016-08-08)

    本次升级包含了除QY以外所有的类库,升级内容包括: 1.重构Conatainer结构,删除 ItemCollection 属性,直接使用ContainerBag加入到缓存: 2.重构IContaine ...

  8. [公告]Senparc.Weixin.MP v14.2.1 升级说明

    在Senparc.Weixin.MP v14.2.1中,所有Senparc.Weixin.MP下的Container,命名空间已经从 Senparc.Weixin.MP.CommonAPIs 改为了  ...

  9. Senparc.Weixin.MP SDK 微信公众平台开发教程(十八):Web代理功能

    在Senparc.Weixin.dll v4.5.7版本开始,我们提供了Web代理功能,以方便在受限制的局域网内的应用可以顺利调用接口. 有关的修改都在Senparc.Weixin/Utilities ...

随机推荐

  1. CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-3禁止交换和禁用大页面

    1.禁止交换(每台机器都要做): 执行命令:vim /etc/sysctl.conf 增加一行:vm.swappiness=0 执行命令:sudo sysctl vm.swappiness=0 2.禁 ...

  2. python 基础 ----- 变量

    ------  python注释 注释的作用:代码提示,运行时忽略不必要的代码 注释的三种方式: 1.“#” 单行注释 2.多行注释   三个单引号  和三个双引号都可以 注释的快捷键 Ctrl + ...

  3. VBA 生成XML(转)

    需要引用连个库,Microsoft ADO Ext. 6.0 for DDL and Security, Miscrosoft  ActiveX Data Objects 2.7 Library . ...

  4. nginx学习笔记(一)

    agentzh 的 Nginx 教程 学习笔记 nginx的变量 Nginx 变量一旦创建,其变量名的可见范围就是整个 Nginx 配置,甚至可以跨越不同虚拟主机的 server 配置块, 例子如下 ...

  5. mysql执行计划id为空—UNION关键字

    简介 UNION 操作符用于合并两个或多个 SELECT 语句的结果集.例如,我有两个表,表1记录的是公司男员工的数据,包括年龄.姓名.职位.表2记录的是公司女员工的数据,包括姓名.家庭住址.手机号等 ...

  6. boost多线程入门介绍

    :first-child { margin-top: 0px; } .markdown-preview:not([data-use-github-style]) h1, .markdown-previ ...

  7. Spring Boot 异常处理

    Spring Boot 异常处理 本节介绍一下 Spring Boot 启动时是如何处理异常的?核心类是 SpringBootExceptionReporter 和 SpringBootExcepti ...

  8. Sum of Subsequence Widths LT891

    Given an array of integers A, consider all non-empty subsequences of A. For any sequence S, let the  ...

  9. OO第9-11作业总结

    一. 规格化设计   规格化抽象,即将执行的细节抽象为用户所需求的行为(模块做什么). 主要作用在于提高工程设计中的可维护性,可读性,明确功能,使整个编程任务变得清晰有序以减少程序BUG. 说其发展历 ...

  10. JavaWeb(一)-Servlet知识

    一.Servlet简介 Servlet是sun公司提供一门用于开发动态web资源的技术. sun公司在其API中提供了一个servlet接口,用户若想开发一个动态web资源(即开发一个java程序向浏 ...