Nop 4.1版本已经迁移到.net core2.1版本
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版本的更多相关文章
- 将 Net 项目升级 Core项目经验:(三)迁移后的Net Standard版本的类库测试和多平台项目实测
迁移后的Net Standard版本的类库测试和多平台项目实测 按照第一步的方法,添加一个Net Core的MSTest项目,然后将原来的测试项目下的代码迁移到新测试 项目中,然后引用新的Beyond ...
- ArcGIS Server较早版本切片迁移注意事项
原创文章,转载须标明出处自: http://www.cnblogs.com/gisspace/p/8286838.html -------------------------------------- ...
- SVN仓库连同版本信息迁移新服务器的步骤
SVN仓库连同版本信息迁移新服务器的步骤 步骤一:导出(1)链接原服务器,找到SVN Server安装路径下的bin文件,并复制文件路径,如 C:\Program File\SVN Server\bi ...
- .Net Framework下对Dapper二次封装迁移到.Net Core2.0遇到的问题以及对Dapper的封装介绍
今天成功把.Net Framework下使用Dapper进行封装的ORM成功迁移到.Net Core 2.0上,在迁移的过程中也遇到一些很有意思的问题,值得和大家分享一下.下面我会还原迁移的每一个过程 ...
- 一步一步带你做WebApi迁移ASP.NET Core2.0
随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的ASP.NET WebApi站点,就可以跨平台运行在Linux中.我们有必要先说一下ASP.NET Core. ASP ...
- Slickflow.NET 开源工作流引擎基础介绍(九) -- .NET Core2.0 版本实现介绍
前言:.NET Core 是.NET Framework的新一代版本,是微软开发的第一个跨平台 (Windows.Mac OSX.Linux) 的应用程序开发框架(Application Framew ...
- Slickflow.NET 开源工作流引擎基础介绍-.NET Core2.0 版本实现介绍 (转)
前言:.NET Core 是.NET Framework的新一代版本,是微软开发的第一个跨平台 (Windows.Mac OSX.Linux) 的应用程序开发框架(Application Framew ...
- WebApi迁移ASP.NET Core2.0
WebApi迁移ASP.NET Core2.0 一步一步带你做WebApi迁移ASP.NET Core2.0 随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的AS ...
- .Net Core技术研究-WebApi迁移ASP.NET Core2.0
随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的ASP.NET WebApi站点,就可以跨平台运行在Linux中.我们有必要先说一下ASP.NET Core. ASP ...
随机推荐
- python的json模块的dumps,loads,dump,load方法介绍
dumps和loads方法都在内存中转换, dump和load的方法会多一个步骤,dump是把序列化后的字符串写到一个文件中,而load是从一个文件中读取字符串 将列表转为字符串 >>&g ...
- Lua面向对象之二:类继承
1.类继承 ①代码 Sharp = { } --① 父类 function Sharp:new() local new_sharp = { } self.__index = self --②,self ...
- mt19937 -- 高质量随机数
优点:产生速度快, 周期大 用法: #include<bits/stdc++.h> using namespace std; int main() { mt19937 mt_rand(ti ...
- Asp.net core 学习笔记 ( Identity 之 Authentication )
和从前的 identity 区别不是很大. 从 2.1 开始 vs 模板的 identity 都被封装了起来, 你几乎看不到任何一行代码, 需要向下面这样打开它, 才能做修改. 说一下比较常用的配置 ...
- WinForm下窗体权限设计
权限设计 笔者不才看了园子里面很多园友写关于权限设计这块内容,那么笔者也在添一笔.这个是笔者在上完软件工程课程后,上交的一篇笔者论文,这里分享给大家交流,当然笔者经验尚浅,若内容有误,请大家指点出 ...
- 机器学习基石(台湾大学 林轩田),Lecture 1: The Learning Problem
课程的讲授从logo出发,logo由四个图案拼接而成,两个大的和两个小的.比较小的两个下一次课程就可能会解释到它们的意思,两个大的可能到课程后期才会解释到它们的意思(提示:红色代表使用机器学习危险,蓝 ...
- python3-知识扩展扫盲易忘-map,collections.Counter()的用法
map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表. >> ...
- 20181013xlVba计算优秀率及合格率
Sub 计算高一优秀合格率() Dim Wb As Workbook Dim Sht As Worksheet Dim oSht As Worksheet Dim dOs As Object 'Out ...
- flex自定义preloader预加载进度条
flex默认的preloader已经很不错了,可是有时候还是需要自定义的. 需要在要出现自定义预加载的程序的<mx:Application>标签里加入preloader="& ...
- ubuntu+anaconda
1.下载anaconda 查看ubuntu是32位还是64位 命令: uname -m 如果显示i686,你安装了32位操作系统 如果显示 x86_64,你安装了64位操作系统 uname -a 查看 ...