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个问题:

. 主货币不是人民币时,比如是欧元, 我15.9欧的价格,支付时是显示15.9元人民币; 另一张订单118人民币的价格,转到支付宝里也变成15.9元; 

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

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

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

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

网页授权域名
shop.xxx.com

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

公众号支付: 支付授权目录: 

http://shop.xxx.com/Plugins/PaymentWeChatPay/

扫码支付 扫码回调链接:

http://shop.xxx.com/Plugins/PaymentWeChatPay/

微信支付插件代码修改

        public WxPayData UnifiedOrder(Order order, IDictionary<string, string> values)
{
var fullValues = new Dictionary<string, string>(values);
var bodyText = $"支付【{_storeContext.CurrentStore.Name}】订单 #{order.Id}";
fullValues["body"] = bodyText;
fullValues["attach"] = _storeContext.CurrentStore.Name;
fullValues["device_info"] = "WEB";
fullValues["out_trade_no"] = order.Id.ToString(); decimal CurrencyRate = order.CurrencyRate; if (order.CustomerCurrencyCode == "EUR")
{
CurrencyRate = ; //HardCode
}
fullValues["total_fee"] = Math.Round(order.OrderTotal * CurrencyRate * ).ToString(); //微信支付以分为单位 return this.PostApiRequest(WeixinUnifiedOrderUrl, fullValues);
}

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. 使用git上传项目到github的最基础命令

    一.前言 把github作为自己项目托管的地方,实在是一个明智的选择.就算你不为自己项目考虑,你也要为你团队项目开发而学呀!可能有些初学者(比如我)会觉得git命令好多啊,又是各种术语,觉得好难上手. ...

  2. 前端如何应对笔试算法题?(用node编程)

    用nodeJs写算法题 咱们前端使用算法的地方不多,但是为了校招笔试,不得不针对算法题去练习呀! 好不容易下定决心 攻克算法题.发现js并不能像c语言一样自建输入输出流.只能回去学习c语言了吗?其实不 ...

  3. @media only screen and (max-width:640px)中的问题,响应式布局

    <head> <meta charset="UTF-8"> <meta name="viewport" content=" ...

  4. Android Studio waiting for debugger 卡死

    当你使用AS进行调试时,发现卡在进入调试模式的 waiting for debugger 不动了,出现这种问题是adb端口被抢占了.解决方法就是: 在命令行: netstat -ano|findstr ...

  5. 力扣(LeetCode)202. 快乐数

    编写一个算法来判断一个数是不是"快乐数". 一个"快乐数"定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 ...

  6. 力扣(LeetCode)70. 爬楼梯

    假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: 2 解释: 有两 ...

  7. leecode第二十一题(合并两个有序链表)

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  8. js下数据库 nedb lokijs

    一个7千颗星nedb.一个3千 lokijs  https://rawgit.com/techfort/LokiJS/master/jsdoc/tutorial-Persistence%20Adapt ...

  9. Unity---关于游戏小包的记录

    最近因为需求,出了一个pc版的游戏小包,遇到一些坑,在此做一下记录. 首先需要明白的是出小包的意义所在,其实就是为了压缩包体,游戏需要的大部分资源,在第一次运行游戏的时候通过热更新去FTP资源服务器上 ...

  10. C# 中 ? 和 ??

    a??2 等价于 a==null?2:a 原文:https://blog.csdn.net/szx1999/article/details/50996495