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
本文爲大波浪原創、轉載請註明出處。