1. github 下载,4.1版本,运行, install时,会让你新增后台账户密码,sql服务器

2. 在Configuration 新增Language

3. 上传中文语言包 , 你也可以先导出语言包,再编辑,不过导出xml的压缩过,你要格式化一下(http://web.chacuo.net/formatxml)

自带的英文语言包在这个路径(\Presentation\Nop.Web\App_Data\Localization\defaultResources.nopres.xml)

4. Configuration->plugin  访问这个页面要翻墙, 不然会request timeout

安装alipay 插件.其他原有的插件要重新卸载安装一次,不然 _localizationService.AddOrUpdatePluginLocaleResource 只有默认的英文.

或者自己在[dbo].[LocaleStringResource] 这里自行修改.

5. 支付宝插件安装之后,付款时有2个问题:

  1. . 主货币不是人民币时,比如是欧元, 15.9欧的价格,支付时是显示15.9元人民币; 另一张订单118人民币的价格,转到支付宝里也变成15.9元;
  2.  
  3. 解决方案:网站标价为欧元,用欧元和人民币支付. 正确设置方法应该是:后台货币管理里把USD作为 primary exchange rate currency, 把欧元作为 Mark as primary store currency,同时把RMB的状态改为Publish
  4. . NOP支付宝插件的MD5值是大写,但支付宝接口要求的md5值是小写的.另外测试时发现有时签名错误,有时签名又是正确的. mygod, 错误时生成的md5不是32位. 是少了1位.这个要改一下代码
  1. internal string GetMD5(string input)
  2. {
  3. var md5 = new MD5CryptoServiceProvider();
  4. var t = md5.ComputeHash(Encoding.GetEncoding(InputCharset).GetBytes(input));
  5. var sb = new StringBuilder();
  6.  
  7. foreach (var b in t)
  8. {
  9. sb.AppendFormat("{0:x2}", b);
  10. }
  11.  
  12. return sb.ToString();
  13. }

6. 微信支付, github只找到3.7版本的.没有4.10版本的.  需要改的地方蛮多的. 比如这个 WeChatPayPaymentProcessor 要增加这个方法

  1. public override string GetConfigurationPageUrl()
  2. {
  3. return $"{_webHelper.GetStoreLocation()}Admin/PaymentWeChatPay/Configure";
  4. }

7. 微信支付在公众号后台需要配置,如果你商城是用二级域名, 网页授权域名就不能配一级域名

  1. 网页授权域名
  2. shop.xxx.com

微信支付商户后台需要配置

  1. 公众号支付: 支付授权目录:
  2.  
  3. http://shop.xxx.com/Plugins/PaymentWeChatPay/
  4.  
  5. 扫码支付 扫码回调链接:
  6.  
  7. http://shop.xxx.com/Plugins/PaymentWeChatPay/

微信支付插件代码修改

  1. public WxPayData UnifiedOrder(Order order, IDictionary<string, string> values)
  2. {
  3. var fullValues = new Dictionary<string, string>(values);
  4. var bodyText = $"支付【{_storeContext.CurrentStore.Name}】订单 #{order.Id}";
  5. fullValues["body"] = bodyText;
  6. fullValues["attach"] = _storeContext.CurrentStore.Name;
  7. fullValues["device_info"] = "WEB";
  8. fullValues["out_trade_no"] = order.Id.ToString();
  9.  
  10. decimal CurrencyRate = order.CurrencyRate;
  11.  
  12. if (order.CustomerCurrencyCode == "EUR")
  13. {
  14. CurrencyRate = ; //HardCode
  15. }
  16. fullValues["total_fee"] = Math.Round(order.OrderTotal * CurrencyRate * ).ToString(); //微信支付以分为单位
  17.  
  18. return this.PostApiRequest(WeixinUnifiedOrderUrl, fullValues);
  19. }

NOP 后台的Product Attribute 可以自定义Color,Size等属性. 反而Specification没什么用,只是页面展示一个表格.

Nop 4.1版本已经迁移到.net core2.1版本的更多相关文章

  1. 将 Net 项目升级 Core项目经验:(三)迁移后的Net Standard版本的类库测试和多平台项目实测

    迁移后的Net Standard版本的类库测试和多平台项目实测 按照第一步的方法,添加一个Net Core的MSTest项目,然后将原来的测试项目下的代码迁移到新测试 项目中,然后引用新的Beyond ...

  2. ArcGIS Server较早版本切片迁移注意事项

    原创文章,转载须标明出处自: http://www.cnblogs.com/gisspace/p/8286838.html -------------------------------------- ...

  3. SVN仓库连同版本信息迁移新服务器的步骤

    SVN仓库连同版本信息迁移新服务器的步骤 步骤一:导出(1)链接原服务器,找到SVN Server安装路径下的bin文件,并复制文件路径,如 C:\Program File\SVN Server\bi ...

  4. .Net Framework下对Dapper二次封装迁移到.Net Core2.0遇到的问题以及对Dapper的封装介绍

    今天成功把.Net Framework下使用Dapper进行封装的ORM成功迁移到.Net Core 2.0上,在迁移的过程中也遇到一些很有意思的问题,值得和大家分享一下.下面我会还原迁移的每一个过程 ...

  5. 一步一步带你做WebApi迁移ASP.NET Core2.0

    随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的ASP.NET WebApi站点,就可以跨平台运行在Linux中.我们有必要先说一下ASP.NET Core. ASP ...

  6. Slickflow.NET 开源工作流引擎基础介绍(九) -- .NET Core2.0 版本实现介绍

    前言:.NET Core 是.NET Framework的新一代版本,是微软开发的第一个跨平台 (Windows.Mac OSX.Linux) 的应用程序开发框架(Application Framew ...

  7. Slickflow.NET 开源工作流引擎基础介绍-.NET Core2.0 版本实现介绍 (转)

    前言:.NET Core 是.NET Framework的新一代版本,是微软开发的第一个跨平台 (Windows.Mac OSX.Linux) 的应用程序开发框架(Application Framew ...

  8. WebApi迁移ASP.NET Core2.0

    WebApi迁移ASP.NET Core2.0 一步一步带你做WebApi迁移ASP.NET Core2.0   随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的AS ...

  9. .Net Core技术研究-WebApi迁移ASP.NET Core2.0

    随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的ASP.NET WebApi站点,就可以跨平台运行在Linux中.我们有必要先说一下ASP.NET Core. ASP ...

随机推荐

  1. P1262 间谍网络

    传送门 思路: ①在 Tarjan 的基础上加一个 belong 记录每个点属于哪个强连通分量. ②存图完成后,暴力地遍历全图,查找是否要间谍不愿受贿. inline void dfs(int u) ...

  2. tomcat热部署.class

    本人是在维护公司系统时遇到的问题,由于公司的系统是部署到客户服务器上,而系统中存在的问题又比较多,需要经常维护.如果每次修改完class文件后都需要去重启服务器, 那会给用户的使用造成不便,所以需要使 ...

  3. Python 注释,类,属性,方法,继承

    # coding=utf-8 支持中文 """ 多行注释 声明鸟类 """ class Bird(object): have_feather ...

  4. Mysql简单入门

    这两天比较懒,没有学习,这个是我问一个学java的小伙伴要的sql的总结资料,大体语句全在上面了,复制到博客上,以后忘记可以查看 #1命令行连接MySQLmsyql -u root -proot;#2 ...

  5. Python&HDF5目录

    最近一直没更新python&量化的博客,是因为忙于看HDF5的书,写VNPY框架,学scrapy爬虫. 本来写博客的目的就是为了当作一种教材,当遇到不会的问题过来找答案. 对于HDF5下面这本 ...

  6. spring boot ----> 和mybatis。。。

    环境: centos6.8,jdk1.8.0_172,maven3.5.4,spring boot1.5.15 1.使用maven命令:mvn dependency:tree查看mybatis-spr ...

  7. 可访问范围 与 visual 或 abstract “修饰符”

    protected:在当前类内定义,则在当前类“内部”可以调用,则在 派生子类"内部" 也可以调用 private,除去,在 派生子类"内部" 也可以调用,其它 ...

  8. 使用VueCLI的User Interface Tool(GUI)创建app的图文讲解

    (英文原文) 需要安VueCLI3和nodejs. 在terminal输入vue可以看到命令列表: 其中vue ui [options] 就是用于开始和打开vue-cli ui的命令. 使用http: ...

  9. uva10564

    路径条数很好找.记录最小路径,就记录到各点的最小字符串,存储起来. #include <iostream> #include <cstdio> #include <cma ...

  10. 动手动脑java异常处理

    1>请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识. import javax.swing.*; class AboutEx ...