nop经过插件机制能够支持更多的支付扩展,咱们经过编写支持退款的支付宝插件来更好的理解支付插件的扩展。html
先分享下支付宝插件源码点击下载,因为时间缘由,本篇只介绍使用该插件,下一篇结合插件进行代码分析。git
注意:测试时将项目部署在公网,这样才能接收来自支付宝的回调通知,不然没法接收支付宝回调会致使订单状态没法处理。数据库
1.将插件DaBoLang.Nop.Plugin.Payments.AliPay项目放置在“nopCommerce_3.90_Source\Plugins”目录下ide
2. 若是缺乏引用能够经过NuGet安装,打开【工具】【NuGet 包管理器】【程序包管理器控制台】,输入下边命令,更新包工具
Update-Package -ProjectName 'DaBoLang.Nop.Plugin.Payments.AliPay' -Reinstall测试
3.编译后文件会保存在“nopCommerce_3.90_Source\Presentation\Nop.Web\Plugins\DaBoLang.Payments.AliPay”文件加下以下图:spa
4.【后台管理】【插件管理】【本地插件】选择支付宝插件,点击安装。安装成功后点击编辑勾选已启用。.net
5.找到插件,点击配置按钮进入配置。插件
6.登陆支付宝开放平台,找到PID和MD5秘钥以下图。3d
卖方邮箱填入收款支付宝邮箱,Key填入MD5秘钥,Partner填入PID,额外费用为0(表示没有额外费用),点击保存。
7.若是为多店,可点击多店设置,可为多店铺进行个性化配置(单店无该选项)。选中后可进行定制配置,以下图将商城A的额外费用设置成10,在商城A中选择该插件付款时加收10元额外费用。
8.在订单结算时选中支付宝支付。
9.确认后调到支付宝界面进行付款。
10.扫码支付成功后会跳入指定的重定向地址。这时后台查看该订单。支付状态已变成已付款。
11.点击查看进入订单,能够看到付款状态有四个按钮。
【退款】 点击使用支付插件【全额退款】,会到支付宝页面退款。
【全额退款(线下)】 只是改变订单付款状态为“退款”,使用场景如:线下经过现金方式给顾客已经退款了。
【部分退款(线上)】 部分退款,设置退款金额,在支付宝页面进行退款。
【部分退款(线下)】 部分退款,同【全额退款(线上)】同样只改变订单付款状太,不使用插件机制退款。
特别注意只有【退款】【部分退款(线上)】两种方式才会调用插件来进行处理。
若是你发现这四个按钮名字不对,是由于语言配置不一样,能够经过语言管理来修改如下资源:
admin.orders.fields.refund 为 退款
admin.orders.fields.refundoffline 为 全额退款(线下)
admin.orders.fields.partialrefund 为 部分退款(线上)
admin.orders.fields.partialrefundoffline 为 部分退款(线下)
11.若是点击【部分退款(线上)】,则弹出退款金额对话框,输入退款金额,点击下边退款按钮,跳到支付宝页面。
12.在支付宝退款页面输入支付宝密码就能够完成退款了。
13.再查看该订单,退款金额已经为0.06元,而且付款状态为部分退款。这时候还能够点击部分退款,直到退款都完成。
最后介绍下项目目录以下:
本文地址:http://www.cnblogs.com/yaoshangjin/p/7273795.html
本文为大波浪原创、转载请注明出处。