浏览代码

移除 #46 相关渠道

Roc 5 年之前
父节点
当前提交
c6fa0a6006
共有 100 个文件被更改,包括 1 次插入7552 次删除
  1. 0 28
      Payment.sln
  2. 0 12
      README.MD
  3. 0 341
      samples/WebApplicationSample/Controllers/JDPayController.cs
  4. 0 214
      samples/WebApplicationSample/Controllers/LianLianPayController.cs
  5. 0 228
      samples/WebApplicationSample/Controllers/NotifyController.cs
  6. 0 375
      samples/WebApplicationSample/Controllers/QPayController.cs
  7. 0 90
      samples/WebApplicationSample/Controllers/UnionPayController.cs
  8. 0 241
      samples/WebApplicationSample/Models/JDPayViewModel.cs
  9. 0 125
      samples/WebApplicationSample/Models/LianLianPayViewModel.cs
  10. 0 189
      samples/WebApplicationSample/Models/QPayViewModel.cs
  11. 0 33
      samples/WebApplicationSample/Models/UnionPayViewModel.cs
  12. 0 12
      samples/WebApplicationSample/Startup.cs
  13. 1 41
      samples/WebApplicationSample/Views/Home/Index.cshtml
  14. 0 113
      samples/WebApplicationSample/Views/JDPay/DefrayPay.cshtml
  15. 0 70
      samples/WebApplicationSample/Views/JDPay/Index.cshtml
  16. 0 69
      samples/WebApplicationSample/Views/JDPay/QrCodePay.cshtml
  17. 0 41
      samples/WebApplicationSample/Views/JDPay/Query.cshtml
  18. 0 41
      samples/WebApplicationSample/Views/JDPay/QueryRefund.cshtml
  19. 0 49
      samples/WebApplicationSample/Views/JDPay/Refund.cshtml
  20. 0 16
      samples/WebApplicationSample/Views/JDPay/Return.cshtml
  21. 0 58
      samples/WebApplicationSample/Views/JDPay/SaveOrderH5.cshtml
  22. 0 58
      samples/WebApplicationSample/Views/JDPay/SaveOrderPC.cshtml
  23. 0 45
      samples/WebApplicationSample/Views/JDPay/TradeQuery.cshtml
  24. 0 54
      samples/WebApplicationSample/Views/LianLianPay/H5QuickPay.cshtml
  25. 0 52
      samples/WebApplicationSample/Views/LianLianPay/Index.cshtml
  26. 0 41
      samples/WebApplicationSample/Views/LianLianPay/OrderQuery.cshtml
  27. 0 15
      samples/WebApplicationSample/Views/LianLianPay/QuickPayCallback.cshtml
  28. 0 57
      samples/WebApplicationSample/Views/LianLianPay/Refund.cshtml
  29. 0 41
      samples/WebApplicationSample/Views/LianLianPay/RefundQuery.cshtml
  30. 0 54
      samples/WebApplicationSample/Views/LianLianPay/WebQuickPay.cshtml
  31. 0 57
      samples/WebApplicationSample/Views/QPay/AppPay.cshtml
  32. 0 69
      samples/WebApplicationSample/Views/QPay/B2CPay.cshtml
  33. 0 33
      samples/WebApplicationSample/Views/QPay/CloseOrder.cshtml
  34. 0 88
      samples/WebApplicationSample/Views/QPay/Index.cshtml
  35. 0 65
      samples/WebApplicationSample/Views/QPay/MicroPay.cshtml
  36. 0 34
      samples/WebApplicationSample/Views/QPay/OrderQuery.cshtml
  37. 0 57
      samples/WebApplicationSample/Views/QPay/PubPay.cshtml
  38. 0 64
      samples/WebApplicationSample/Views/QPay/QrCodePay.cshtml
  39. 0 53
      samples/WebApplicationSample/Views/QPay/Refund.cshtml
  40. 0 42
      samples/WebApplicationSample/Views/QPay/RefundQuery.cshtml
  41. 0 33
      samples/WebApplicationSample/Views/QPay/Reverse.cshtml
  42. 0 41
      samples/WebApplicationSample/Views/QPay/StatementDown.cshtml
  43. 0 12
      samples/WebApplicationSample/Views/Shared/_Layout.cshtml
  44. 0 50
      samples/WebApplicationSample/Views/UnionPay/GatewayPayFrontConsume.cshtml
  45. 0 15
      samples/WebApplicationSample/Views/UnionPay/GatewayPayFrontConsumeReturn.cshtml
  46. 0 28
      samples/WebApplicationSample/Views/UnionPay/Index.cshtml
  47. 0 4
      samples/WebApplicationSample/WebApplicationSample.csproj
  48. 0 55
      src/Essensoft.AspNetCore.Payment.JDPay/Domain/PayTradeDetail.cs
  49. 0 37
      src/Essensoft.AspNetCore.Payment.JDPay/Domain/PayTradeVo.cs
  50. 0 55
      src/Essensoft.AspNetCore.Payment.JDPay/Domain/Refund.cs
  51. 0 13
      src/Essensoft.AspNetCore.Payment.JDPay/Domain/Result.cs
  52. 0 22
      src/Essensoft.AspNetCore.Payment.JDPay/Essensoft.AspNetCore.Payment.JDPay.csproj
  53. 0 35
      src/Essensoft.AspNetCore.Payment.JDPay/IJDPayClient.cs
  54. 0 25
      src/Essensoft.AspNetCore.Payment.JDPay/IJDPayNPP10Request.cs
  55. 0 24
      src/Essensoft.AspNetCore.Payment.JDPay/IJDPayNotifyClient.cs
  56. 0 37
      src/Essensoft.AspNetCore.Payment.JDPay/IJDPayRequest.cs
  57. 0 210
      src/Essensoft.AspNetCore.Payment.JDPay/JDPayClient.cs
  58. 0 65
      src/Essensoft.AspNetCore.Payment.JDPay/JDPayDictionary.cs
  59. 0 22
      src/Essensoft.AspNetCore.Payment.JDPay/JDPayException.cs
  60. 0 16
      src/Essensoft.AspNetCore.Payment.JDPay/JDPayNotify.cs
  61. 0 181
      src/Essensoft.AspNetCore.Payment.JDPay/JDPayNotifyClient.cs
  62. 0 33
      src/Essensoft.AspNetCore.Payment.JDPay/JDPayNotifyResult.cs
  63. 0 22
      src/Essensoft.AspNetCore.Payment.JDPay/JDPayObject.cs
  64. 0 108
      src/Essensoft.AspNetCore.Payment.JDPay/JDPayOptions.cs
  65. 0 9
      src/Essensoft.AspNetCore.Payment.JDPay/JDPayResponse.cs
  66. 0 100
      src/Essensoft.AspNetCore.Payment.JDPay/Notify/JDPayAsyncNotify.cs
  67. 0 178
      src/Essensoft.AspNetCore.Payment.JDPay/Notify/JDPayDefrayPayNotify.cs
  68. 0 53
      src/Essensoft.AspNetCore.Payment.JDPay/Notify/JDPaySyncReturn.cs
  69. 0 10
      src/Essensoft.AspNetCore.Payment.JDPay/Parser/IJDPayParser.cs
  70. 0 69
      src/Essensoft.AspNetCore.Payment.JDPay/Parser/JDPayDictionaryParser.cs
  71. 0 41
      src/Essensoft.AspNetCore.Payment.JDPay/Parser/JDPayXmlParser.cs
  72. 0 65
      src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayAccountQueryRequest.cs
  73. 0 46
      src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayCancelUserRelationRequest.cs
  74. 0 141
      src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayCustomerPayRequest.cs
  75. 0 203
      src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayDefrayPayRequest.cs
  76. 0 148
      src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayFKMPayRequest.cs
  77. 0 46
      src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayGetUserRelationRequest.cs
  78. 0 59
      src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayQueryRefundRequest.cs
  79. 0 58
      src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayQueryRequest.cs
  80. 0 94
      src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayRefundRequest.cs
  81. 0 76
      src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayRevokeRequest.cs
  82. 0 196
      src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPaySaveOrderH5Request.cs
  83. 0 196
      src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPaySaveOrderPCRequest.cs
  84. 0 53
      src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayTradeQueryRequest.cs
  85. 0 196
      src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayUnifiedOrderRequest.cs
  86. 0 73
      src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayAccountQueryResponse.cs
  87. 0 33
      src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayCancelUserRelationResponse.cs
  88. 0 79
      src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayDefrayPayResponse.cs
  89. 0 69
      src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayFKMPayResponse.cs
  90. 0 39
      src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayGetUserRelationResponse.cs
  91. 0 47
      src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayQueryRefundResponse.cs
  92. 0 145
      src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayQueryResponse.cs
  93. 0 87
      src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayRefundResponse.cs
  94. 0 86
      src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayRevokeResponse.cs
  95. 0 5
      src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPaySaveOrderResponse.cs
  96. 0 187
      src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayTradeQueryResponse.cs
  97. 0 75
      src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayUnifiedOrderResponse.cs
  98. 0 34
      src/Essensoft.AspNetCore.Payment.JDPay/ServiceCollectionExtensions.cs
  99. 0 30
      src/Essensoft.AspNetCore.Payment.JDPay/Utility/HttpClientExtensions.cs
  100. 0 18
      src/Essensoft.AspNetCore.Payment.JDPay/Utility/JDPayContants.cs

+ 0 - 28
Payment.sln

@@ -14,18 +14,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "1-src", "1-src", "{D3871E61
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essensoft.AspNetCore.Payment.Alipay", "src\Essensoft.AspNetCore.Payment.Alipay\Essensoft.AspNetCore.Payment.Alipay.csproj", "{167FAA95-300E-49D5-A29B-EFCFF90A0584}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essensoft.AspNetCore.Payment.QPay", "src\Essensoft.AspNetCore.Payment.QPay\Essensoft.AspNetCore.Payment.QPay.csproj", "{071D1073-EEE3-45F1-ADC6-95CF90A64DD3}"
-EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essensoft.AspNetCore.Payment.Security", "src\Essensoft.AspNetCore.Payment.Security\Essensoft.AspNetCore.Payment.Security.csproj", "{3578E08D-A08E-4C4A-A5DE-8D31C21F7D66}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essensoft.AspNetCore.Payment.UnionPay", "src\Essensoft.AspNetCore.Payment.UnionPay\Essensoft.AspNetCore.Payment.UnionPay.csproj", "{07AE45BF-9434-4254-A1ED-653300D48DDE}"
-EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essensoft.AspNetCore.Payment.WeChatPay", "src\Essensoft.AspNetCore.Payment.WeChatPay\Essensoft.AspNetCore.Payment.WeChatPay.csproj", "{66655C56-A98C-4F67-9F41-FECF0AFFA28E}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essensoft.AspNetCore.Payment.LianLianPay", "src\Essensoft.AspNetCore.Payment.LianLianPay\Essensoft.AspNetCore.Payment.LianLianPay.csproj", "{16843D79-807F-4973-AF26-66FF7141BAAD}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essensoft.AspNetCore.Payment.JDPay", "src\Essensoft.AspNetCore.Payment.JDPay\Essensoft.AspNetCore.Payment.JDPay.csproj", "{A57153DC-67DE-4141-A13C-216CE6C5129C}"
-EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "2-samples", "2-samples", "{DD8CC860-F3E3-40F4-8A8F-20BF66EA051C}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebApplicationSample", "samples\WebApplicationSample\WebApplicationSample.csproj", "{6C90BFFA-2F73-4961-922A-588B589C444C}"
@@ -40,30 +32,14 @@ Global
 		{167FAA95-300E-49D5-A29B-EFCFF90A0584}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{167FAA95-300E-49D5-A29B-EFCFF90A0584}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{167FAA95-300E-49D5-A29B-EFCFF90A0584}.Release|Any CPU.Build.0 = Release|Any CPU
-		{071D1073-EEE3-45F1-ADC6-95CF90A64DD3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{071D1073-EEE3-45F1-ADC6-95CF90A64DD3}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{071D1073-EEE3-45F1-ADC6-95CF90A64DD3}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{071D1073-EEE3-45F1-ADC6-95CF90A64DD3}.Release|Any CPU.Build.0 = Release|Any CPU
 		{3578E08D-A08E-4C4A-A5DE-8D31C21F7D66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{3578E08D-A08E-4C4A-A5DE-8D31C21F7D66}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{3578E08D-A08E-4C4A-A5DE-8D31C21F7D66}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{3578E08D-A08E-4C4A-A5DE-8D31C21F7D66}.Release|Any CPU.Build.0 = Release|Any CPU
-		{07AE45BF-9434-4254-A1ED-653300D48DDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{07AE45BF-9434-4254-A1ED-653300D48DDE}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{07AE45BF-9434-4254-A1ED-653300D48DDE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{07AE45BF-9434-4254-A1ED-653300D48DDE}.Release|Any CPU.Build.0 = Release|Any CPU
 		{66655C56-A98C-4F67-9F41-FECF0AFFA28E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{66655C56-A98C-4F67-9F41-FECF0AFFA28E}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{66655C56-A98C-4F67-9F41-FECF0AFFA28E}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{66655C56-A98C-4F67-9F41-FECF0AFFA28E}.Release|Any CPU.Build.0 = Release|Any CPU
-		{16843D79-807F-4973-AF26-66FF7141BAAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{16843D79-807F-4973-AF26-66FF7141BAAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{16843D79-807F-4973-AF26-66FF7141BAAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{16843D79-807F-4973-AF26-66FF7141BAAD}.Release|Any CPU.Build.0 = Release|Any CPU
-		{A57153DC-67DE-4141-A13C-216CE6C5129C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{A57153DC-67DE-4141-A13C-216CE6C5129C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{A57153DC-67DE-4141-A13C-216CE6C5129C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{A57153DC-67DE-4141-A13C-216CE6C5129C}.Release|Any CPU.Build.0 = Release|Any CPU
 		{6C90BFFA-2F73-4961-922A-588B589C444C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{6C90BFFA-2F73-4961-922A-588B589C444C}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{6C90BFFA-2F73-4961-922A-588B589C444C}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -74,12 +50,8 @@ Global
 	EndGlobalSection
 	GlobalSection(NestedProjects) = preSolution
 		{167FAA95-300E-49D5-A29B-EFCFF90A0584} = {D3871E61-CA47-4BD0-8BF9-B64A42B2200D}
-		{071D1073-EEE3-45F1-ADC6-95CF90A64DD3} = {D3871E61-CA47-4BD0-8BF9-B64A42B2200D}
 		{3578E08D-A08E-4C4A-A5DE-8D31C21F7D66} = {D3871E61-CA47-4BD0-8BF9-B64A42B2200D}
-		{07AE45BF-9434-4254-A1ED-653300D48DDE} = {D3871E61-CA47-4BD0-8BF9-B64A42B2200D}
 		{66655C56-A98C-4F67-9F41-FECF0AFFA28E} = {D3871E61-CA47-4BD0-8BF9-B64A42B2200D}
-		{16843D79-807F-4973-AF26-66FF7141BAAD} = {D3871E61-CA47-4BD0-8BF9-B64A42B2200D}
-		{A57153DC-67DE-4141-A13C-216CE6C5129C} = {D3871E61-CA47-4BD0-8BF9-B64A42B2200D}
 		{6C90BFFA-2F73-4961-922A-588B589C444C} = {DD8CC860-F3E3-40F4-8A8F-20BF66EA051C}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution

+ 0 - 12
README.MD

@@ -29,18 +29,6 @@ Essensoft.AspNetCore.Payment.Security       | [![NuGet](https://img.shields.io/n
 ### 微信支付 [开发文档](https://pay.weixin.qq.com/wiki/doc/api/index.html)
 * 付款码支付(刷卡)、JSAPI支付(公众号)、Native支付(扫码)、APP支付、H5支付、小程序支付、企业付款(零钱/银行卡)、现金红包、酒店押金、人脸支付、委托扣款、分账
 
-### QQ钱包 [开发文档](https://qpay.qq.com/buss/doc.shtml)
-* 付款码支付、扫码支付、公众号支付、APP支付、企业付款
-
-### 京东支付 [开发文档](http://payapi.jd.com)
-* 网页支付、APP支付、扫一扫、付款码、代付
-
-### 连连支付 [开放平台](http://open.lianlianpay.com)
-* 网银支付、银行卡支付、掌上银行支付、实时付款
-
-### 银联支付 [文档中心](https://open.unionpay.com/tjweb/doc/index)
-* 在线网关支付、无跳转支付、手机支付控件、手机网页支付(WAP支付)、二维码支付(商户)
-
 ## 开发环境
 * Windows 10
 * VS 2019 16.4.0

+ 0 - 341
samples/WebApplicationSample/Controllers/JDPayController.cs

@@ -1,341 +0,0 @@
-using System.Text;
-using System.Threading.Tasks;
-using Essensoft.AspNetCore.Payment.JDPay;
-using Essensoft.AspNetCore.Payment.JDPay.Notify;
-using Essensoft.AspNetCore.Payment.JDPay.Request;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Options;
-using WebApplicationSample.Models;
-
-namespace WebApplicationSample.Controllers
-{
-    public class JDPayController : Controller
-    {
-        private readonly IJDPayClient _client;
-        private readonly IJDPayNotifyClient _notifyClient;
-        private readonly IOptions<JDPayOptions> _optionsAccessor;
-
-        public JDPayController(IJDPayClient client, IJDPayNotifyClient notifyClient, IOptions<JDPayOptions> optionsAccessor)
-        {
-            _client = client;
-            _notifyClient = notifyClient;
-            _optionsAccessor = optionsAccessor;
-        }
-
-        /// <summary>
-        /// 京东支付指引页
-        /// </summary>
-        /// <returns></returns>
-        public IActionResult Index()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// PC在线支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult SaveOrderPC()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// PC在线支付
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> SaveOrderPC(JDPaySaveOrderViewModel viewModel)
-        {
-            var request = new JDPaySaveOrderPCRequest
-            {
-                TradeNum = viewModel.TradeNum,
-                TradeName = viewModel.TradeName,
-                TradeTime = viewModel.TradeTime,
-                Amount = viewModel.Amount,
-                OrderType = viewModel.OrderType,
-                Currency = viewModel.Currency,
-                CallbackUrl = viewModel.CallbackUrl,
-                NotifyUrl = viewModel.NotifyUrl,
-                UserId = viewModel.UserId
-            };
-
-            var response = await _client.PageExecuteAsync(request, _optionsAccessor.Value);
-            return Content(response.Body, "text/html", Encoding.UTF8);
-        }
-
-        /// <summary>
-        /// H5在线支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult SaveOrderH5()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// H5在线支付
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> SaveOrderH5(JDPaySaveOrderViewModel viewModel)
-        {
-            var request = new JDPaySaveOrderH5Request
-            {
-                TradeNum = viewModel.TradeNum,
-                TradeName = viewModel.TradeName,
-                TradeTime = viewModel.TradeTime,
-                Amount = viewModel.Amount,
-                OrderType = viewModel.OrderType,
-                Currency = viewModel.Currency,
-                CallbackUrl = viewModel.CallbackUrl,
-                NotifyUrl = viewModel.NotifyUrl,
-                UserId = viewModel.UserId
-            };
-
-            var response = await _client.PageExecuteAsync(request, _optionsAccessor.Value);
-            return Content(response.Body, "text/html", Encoding.UTF8);
-        }
-
-        /// <summary>
-        /// 扫码支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult QrCodePay()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 扫码支付
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> QrCodePay(JDPayUnifiedOrderViewModel viewModel)
-        {
-            var request = new JDPayUnifiedOrderRequest
-            {
-                TradeNum = viewModel.TradeNum,
-                TradeName = viewModel.TradeName,
-                TradeTime = viewModel.TradeTime,
-                Amount = viewModel.Amount,
-                OrderType = viewModel.OrderType,
-                Currency = viewModel.Currency,
-                NotifyUrl = viewModel.NotifyUrl,
-                TradeType = viewModel.TradeType
-            };
-
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["qrcode"] = response.QrCode;
-            ViewData["response"] = response.Body;
-            return View();
-        }
-
-        /// <summary>
-        /// 交易查询接口
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult Query()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 交易查询接口
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> Query(JDPayQueryViewModel viewModel)
-        {
-            var request = new JDPayQueryRequest
-            {
-                TradeNum = viewModel.TradeNum,
-                OTradeNum = viewModel.OTradeNum,
-                TradeType = viewModel.TradeType
-            };
-
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.Body;
-            return View();
-        }
-
-        /// <summary>
-        /// 退款申请接口
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult Refund()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 退款申请接口
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> Refund(JDPayRefundViewModel viewModel)
-        {
-            var request = new JDPayRefundRequest
-            {
-                TradeNum = viewModel.TradeNum,
-                OTradeNum = viewModel.OTradeNum,
-                Amount = viewModel.Amount,
-                Currency = viewModel.Currency,
-                NotifyUrl = viewModel.NotifyUrl
-            };
-
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.Body;
-            return View();
-        }
-
-        /// <summary>
-        /// 退款查询接口
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult QueryRefund()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 退款查询接口
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> QueryRefund(JDPayQueryRefundViewModel viewModel)
-        {
-            var request = new JDPayQueryRefundRequest
-            {
-                TradeNum = viewModel.TradeNum,
-                OTradeNum = viewModel.OTradeNum,
-                TradeType = viewModel.TradeType
-            };
-
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.Body;
-            return View();
-        }
-
-        /// <summary>
-        /// 代付交易请求
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult DefrayPay()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 代付交易请求
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> DefrayPay(JDPayDefrayPayViewModel viewModel)
-        {
-            var request = new JDPayDefrayPayRequest
-            {
-                RequestDatetime = viewModel.RequestDatetime,
-                OutTradeNo = viewModel.OutTradeNo,
-                BizTradeNo = viewModel.BizTradeNo,
-                OutTradeDate = viewModel.OutTradeDate,
-                TradeAmount = viewModel.TradeAmount,
-                TradeCurrency = viewModel.TradeCurrency,
-                SellerInfo = viewModel.SellerInfo,
-                TradeSubject = viewModel.TradeSubject,
-                CategoryCode = viewModel.CategoryCode,
-                PayTool = viewModel.PayTool,
-                TradeSource = viewModel.TradeSource,
-                PayeeBankCode = viewModel.PayeeBankCode,
-                PayeeBankAssociatedCode = viewModel.PayeeBankAssociatedCode,
-                PayeeBankFullname = viewModel.PayeeBankFullname,
-                PayeeBankCountryCode = viewModel.PayeeBankCountryCode,
-                PayeeBankProvinceCode = viewModel.PayeeBankProvinceCode,
-                PayeeBankCityCode = viewModel.PayeeBankCityCode,
-                PayeeCardType = viewModel.PayeeCardType,
-                PayeeAccountType = viewModel.PayeeAccountType,
-                PayeeAccountNo = viewModel.PayeeAccountNo,
-                PayeeAccountName = viewModel.PayeeAccountName,
-                PayeeIdType = viewModel.PayeeIdType,
-                PayeeIdNo = viewModel.PayeeIdNo,
-                PayeeMobile = viewModel.PayeeMobile,
-                NotifyUrl = viewModel.NotifyUrl,
-                ReturnParams = viewModel.ReturnParams,
-                ExtendParams = viewModel.ExtendParams,
-                BankCardInfoType = viewModel.BankCardInfoType,
-                BankCardId = viewModel.BankCardId
-            };
-
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.Body;
-            return View();
-        }
-
-        /// <summary>
-        /// 代付交易查询
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult TradeQuery()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 代付交易查询
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> TradeQuery(JDPayTradeQueryViewModel viewModel)
-        {
-            var request = new JDPayTradeQueryRequest
-            {
-                RequestDatetime = viewModel.RequestDatetime,
-                OutTradeNo = viewModel.OutTradeNo,
-                TradeNo = viewModel.TradeNo,
-                TradeType = viewModel.TradeType
-            };
-
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.Body;
-            return View();
-        }
-
-        /// <summary>
-        /// PC在线支付 / H5在线支付
-        /// pc post / h5 get
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        [HttpPost]
-        public async Task<IActionResult> Return()
-        {
-            try
-            {
-                var notify = await _notifyClient.ExecuteAsync<JDPaySyncReturn>(Request, _optionsAccessor.Value);
-                ViewData["response"] = "支付成功";
-                return View();
-            }
-            catch
-            {
-                ViewData["response"] = "出现错误";
-                return View();
-            }
-        }
-    }
-}

+ 0 - 214
samples/WebApplicationSample/Controllers/LianLianPayController.cs

@@ -1,214 +0,0 @@
-using System.Threading.Tasks;
-using Essensoft.AspNetCore.Payment.LianLianPay;
-using Essensoft.AspNetCore.Payment.LianLianPay.Notify;
-using Essensoft.AspNetCore.Payment.LianLianPay.Request;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Options;
-using WebApplicationSample.Models;
-
-namespace WebApplicationSample.Controllers
-{
-    public class LianLianPayController : Controller
-    {
-        private readonly ILianLianPayClient _client;
-        private readonly ILianLianPayNotifyClient _notifyClient;
-        private readonly IOptions<LianLianPayOptions> _optionsAccessor;
-
-        public LianLianPayController(ILianLianPayClient client, ILianLianPayNotifyClient notifyClient, IOptions<LianLianPayOptions> optionsAccessor)
-        {
-            _client = client;
-            _notifyClient = notifyClient;
-            _optionsAccessor = optionsAccessor;
-        }
-
-        /// <summary>
-        /// 连连支付指引页
-        /// </summary>
-        /// <returns></returns>
-        public IActionResult Index()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// WEB快捷支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult WebQuickPay()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// WEB快捷支付
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> WebQuickPay(LianLianPayWebQuickPayViewModel viewModel)
-        {
-            var request = new LianLianPayCreateBillRequest
-            {
-                UserId = viewModel.UserId,
-                NoOrder = viewModel.NoOrder,
-                DtOrder = viewModel.DtOrder,
-                NameGoods = viewModel.NameGoods,
-                MoneyOrder = viewModel.MoneyOrder,
-                NotifyUrl = viewModel.NotifyUrl,
-                UrlReturn = viewModel.UrlReturn,
-                RiskItem = viewModel.RiskItem,
-                FlagPayProduct = "0",
-                FlagChnl = "2"
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            return Redirect(response.GatewayUrl);
-        }
-
-        /// <summary>
-        /// H5快捷支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult H5QuickPay()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// H5快捷支付
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> H5QuickPay(LianLianPayH5QuickPayViewModel viewModel)
-        {
-            var request = new LianLianPayCreateBillRequest
-            {
-                UserId = viewModel.UserId,
-                NoOrder = viewModel.NoOrder,
-                DtOrder = viewModel.DtOrder,
-                NameGoods = viewModel.NameGoods,
-                MoneyOrder = viewModel.MoneyOrder,
-                NotifyUrl = viewModel.NotifyUrl,
-                UrlReturn = viewModel.UrlReturn,
-                RiskItem = viewModel.RiskItem,
-                FlagPayProduct = "0",
-                FlagChnl = "3"
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            return Redirect(response.GatewayUrl);
-        }
-
-        /// <summary>
-        /// 订单查询
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult OrderQuery()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 订单查询
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> OrderQuery(LianLianPayOrderQueryViewModel viewModel)
-        {
-            var request = new LianLianPayOrderQueryRequest
-            {
-                NoOrder = viewModel.NoOrder,
-                DtOrder = viewModel.DtOrder,
-                OidPayBill = viewModel.OidPayBill
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.Body;
-            return View();
-        }
-
-        /// <summary>
-        /// 退款
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult Refund()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 退款
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> Refund(LianLianPayRefundViewModel viewModel)
-        {
-            var request = new LianLianPayRefundRequest
-            {
-                NoRefund = viewModel.NoRefund,
-                DtRefund = viewModel.DtRefund,
-                MoneyRefund = viewModel.MoneyRefund,
-                NoOrder = viewModel.NoOrder,
-                DtOrder = viewModel.DtOrder,
-                OidPaybill = viewModel.OidPayBill,
-                NotifyUrl = viewModel.NotifyUrl
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.Body;
-            return View();
-        }
-
-        /// <summary>
-        /// 退款查询
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult RefundQuery()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 退款查询
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> RefundQuery(LianLianPayRefundQueryViewModel viewModel)
-        {
-            var request = new LianLianPayRefundQueryRequest
-            {
-                NoRefund = viewModel.NoRefund,
-                DtRefund = viewModel.DtRefund,
-                OidRefundNo = viewModel.OidRefundNo
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.Body;
-            return View();
-        }
-
-        /// <summary>
-        /// 快捷支付 - 同步跳转
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> QuickPayReturn()
-        {
-            try
-            {
-                var notify = await _notifyClient.ExecuteAsync<LianLianPayReceiveMoneyReturnResponse>(Request, _optionsAccessor.Value);
-                ViewData["response"] = "支付成功";
-                return View();
-            }
-            catch
-            {
-                ViewData["response"] = "出现错误";
-                return View();
-            }
-        }
-    }
-}

+ 0 - 228
samples/WebApplicationSample/Controllers/NotifyController.cs

@@ -2,14 +2,6 @@
 using System.Threading.Tasks;
 using Essensoft.AspNetCore.Payment.Alipay;
 using Essensoft.AspNetCore.Payment.Alipay.Notify;
-using Essensoft.AspNetCore.Payment.JDPay;
-using Essensoft.AspNetCore.Payment.JDPay.Notify;
-using Essensoft.AspNetCore.Payment.LianLianPay;
-using Essensoft.AspNetCore.Payment.LianLianPay.Notify;
-using Essensoft.AspNetCore.Payment.QPay;
-using Essensoft.AspNetCore.Payment.QPay.Notify;
-using Essensoft.AspNetCore.Payment.UnionPay;
-using Essensoft.AspNetCore.Payment.UnionPay.Notify;
 using Essensoft.AspNetCore.Payment.WeChatPay;
 using Essensoft.AspNetCore.Payment.WeChatPay.Notify;
 using Microsoft.AspNetCore.Mvc;
@@ -205,224 +197,4 @@ namespace WebApplicationSample.Controllers
     }
 
     #endregion
-
-    #region QQ钱包异步通知
-
-    [Route("notify/qpay")]
-    public class QPayNotifyController : Controller
-    {
-        private readonly IQPayNotifyClient _client;
-        private readonly IOptions<QPayOptions> _optionsAccessor;
-
-        public QPayNotifyController(IQPayNotifyClient client, IOptions<QPayOptions> optionsAccessor)
-        {
-            _client = client;
-            _optionsAccessor = optionsAccessor;
-        }
-
-        /// <summary>
-        /// 统一下单支付结果通知
-        /// </summary>
-        /// <returns></returns>
-        [Route("unifiedorder")]
-        [HttpPost]
-        public async Task<IActionResult> Unifiedorder()
-        {
-            try
-            {
-                var notify = await _client.ExecuteAsync<QPayUnifiedOrderNotify>(Request, _optionsAccessor.Value);
-                if ("SUCCESS" == notify.TradeState)
-                {
-                    Console.WriteLine("OutTradeNo: " + notify.OutTradeNo);
-                    return QPayNotifyResult.Success;
-                }
-                return NoContent();
-            }
-            catch
-            {
-                return NoContent();
-            }
-        }
-
-        /// <summary>
-        /// 付款码支付结果通知
-        /// </summary>
-        /// <returns></returns>
-        [Route("micropay")]
-        [HttpPost]
-        public async Task<IActionResult> MicroPay()
-        {
-            try
-            {
-                var notify = await _client.ExecuteAsync<QPayMicroPayNotify>(Request, _optionsAccessor.Value);
-                if ("SUCCESS" == notify.TradeState)
-                {
-                    Console.WriteLine("OutTradeNo: " + notify.OutTradeNo);
-                    return QPayNotifyResult.Success;
-                }
-                return NoContent();
-            }
-            catch
-            {
-                return NoContent();
-            }
-        }
-
-        /// <summary>
-        /// 企业付款 - 用户到账通知
-        /// </summary>
-        /// <returns></returns>
-        [Route("b2cpay")]
-        [HttpPost]
-        public async Task<IActionResult> B2CPay()
-        {
-            try
-            {
-                var notify = await _client.ExecuteAsync<QPayEPayB2CNotify>(Request, _optionsAccessor.Value);
-                Console.WriteLine("OutTradeNo: " + notify.OutTradeNo);
-                return QPayNotifyResult.Success;
-            }
-            catch
-            {
-                return NoContent();
-            }
-        }
-    }
-
-    #endregion
-
-    #region 京东支付异步通知
-
-    [Route("notify/jdpay")]
-    public class JDPayNotifyController : Controller
-    {
-        private readonly IJDPayNotifyClient _client;
-        private readonly IOptions<JDPayOptions> _optionsAccessor;
-
-        public JDPayNotifyController(IJDPayNotifyClient client, IOptions<JDPayOptions> optionsAccessor)
-        {
-            _client = client;
-            _optionsAccessor = optionsAccessor;
-        }
-
-        [Route("async")]
-        [HttpPost]
-        public async Task<IActionResult> Async()
-        {
-            try
-            {
-                var notify = await _client.ExecuteAsync<JDPayAsyncNotify>(Request, _optionsAccessor.Value);
-                Console.WriteLine("TradeNum: " + notify.TradeNum + " tradeType :" + notify.TradeType);// notify.TradeType 0-消费 1-退款
-                return JDPayNotifyResult.Success;
-            }
-            catch
-            {
-                return NoContent();
-            }
-        }
-
-        [Route("defraypay")]
-        [HttpPost]
-        public async Task<IActionResult> DefrayPay()
-        {
-            try
-            {
-                var notify = await _client.ExecuteAsync<JDPayDefrayPayNotify>(Request, _optionsAccessor.Value);
-                Console.WriteLine("trade_no: " + notify.TradeNo + " trade_amount :" + notify.TradeAmount);
-                return JDPayNotifyResult.Success;
-            }
-            catch
-            {
-                return NoContent();
-            }
-        }
-    }
-
-    #endregion
-
-    #region 连连支付异步通知
-
-    [Route("notify/lianlianpay")]
-    public class LianLianPayNotifyController : Controller
-    {
-        private readonly ILianLianPayNotifyClient _client;
-        private readonly IOptions<LianLianPayOptions> _optionsAccessor;
-
-        public LianLianPayNotifyController(ILianLianPayNotifyClient client, IOptions<LianLianPayOptions> optionsAccessor)
-        {
-            _client = client;
-            _optionsAccessor = optionsAccessor;
-        }
-
-        [Route("receivemoney")]
-        [HttpPost]
-        public async Task<IActionResult> ReceiveMoney()
-        {
-            try
-            {
-                var notify = await _client.ExecuteAsync<LianLianPayReceiveMoneyNotify>(Request, _optionsAccessor.Value);
-                Console.WriteLine("NoOrder: " + notify.NoOrder);
-                return LianLianPayNotifyResult.Success;
-            }
-            catch
-            {
-                return NoContent();
-            }
-        }
-
-        [Route("refund")]
-        [HttpPost]
-        public async Task<IActionResult> Refund()
-        {
-            try
-            {
-                var notify = await _client.ExecuteAsync<LianLianPayRefundNotify>(Request, _optionsAccessor.Value);
-                Console.WriteLine("NoRefund: " + notify.NoRefund);
-                return LianLianPayNotifyResult.Success;
-            }
-            catch
-            {
-                return NoContent();
-            }
-        }
-    }
-
-    #endregion
-
-    #region 银联支付异步通知
-
-    [Route("notify/unionpay")]
-    public class UnionPayNotifyController : Controller
-    {
-        private readonly IUnionPayNotifyClient _client;
-        private readonly IOptions<UnionPayOptions> _optionsAccessor;
-
-        public UnionPayNotifyController(IUnionPayNotifyClient client, IOptions<UnionPayOptions> optionsAccessor)
-        {
-            _client = client;
-            _optionsAccessor = optionsAccessor;
-        }
-
-        /// <summary>
-        /// 网关支付 - 跳转网关页面支付通知
-        /// </summary>
-        /// <returns></returns>
-        [Route("gatewaypayfrontconsume")]
-        [HttpPost]
-        public async Task<IActionResult> GatewayPayFrontConsume()
-        {
-            try
-            {
-                var notify = await _client.ExecuteAsync<UnionPayGatewayPayFrontConsumeNotify>(Request, _optionsAccessor.Value);
-                Console.WriteLine("OrderId: " + notify.OrderId + " respCode :" + notify.RespCode);
-                return UnionPayNotifyResult.Success;
-            }
-            catch
-            {
-                return NoContent();
-            }
-        }
-    }
-
-    #endregion
 }

+ 0 - 375
samples/WebApplicationSample/Controllers/QPayController.cs

@@ -1,375 +0,0 @@
-using System.Threading.Tasks;
-using Essensoft.AspNetCore.Payment.QPay;
-using Essensoft.AspNetCore.Payment.QPay.Request;
-using Essensoft.AspNetCore.Payment.Security;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Options;
-using WebApplicationSample.Models;
-
-namespace WebApplicationSample.Controllers
-{
-    public class QPayController : Controller
-    {
-        private readonly IQPayClient _client;
-        private readonly IOptions<QPayOptions> _optionsAccessor;
-
-        public QPayController(IQPayClient client, IOptions<QPayOptions> optionsAccessor)
-        {
-            _client = client;
-            _optionsAccessor = optionsAccessor;
-        }
-
-        /// <summary>
-        /// QQ钱包指引页
-        /// </summary>
-        /// <returns></returns>
-        public IActionResult Index()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 付款码支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult MicroPay()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 付款码支付
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> MicroPay(QPayMicroPayViewModel viewModel)
-        {
-            var request = new QPayMicroPayRequest
-            {
-                OutTradeNo = viewModel.OutTradeNo,
-                Body = viewModel.Body,
-                FeeType = viewModel.FeeType,
-                TotalFee = viewModel.TotalFee,
-                SpBillCreateIp = viewModel.SpBillCreateIp,
-                DeviceInfo = viewModel.DeviceInfo,
-                AuthCode = viewModel.AuthCode,
-                TradeType = viewModel.TradeType,
-                NotifyUrl = viewModel.NotifyUrl
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 扫码支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult QrCodePay()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 扫码支付
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> QrCodePay(QPayUnifiedOrderViewModel viewModel)
-        {
-            var request = new QPayUnifiedOrderRequest
-            {
-                OutTradeNo = viewModel.OutTradeNo,
-                Body = viewModel.Body,
-                FeeType = viewModel.FeeType,
-                TotalFee = viewModel.TotalFee,
-                SpBillCreateIp = viewModel.SpBillCreateIp,
-                TradeType = viewModel.TradeType,
-                NotifyUrl = viewModel.NotifyUrl
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["qrcode"] = response.CodeUrl;
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 公众号支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult PubPay()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 公众号支付
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> PubPay(QPayUnifiedOrderViewModel viewModel)
-        {
-            var request = new QPayUnifiedOrderRequest
-            {
-                OutTradeNo = viewModel.OutTradeNo,
-                Body = viewModel.Body,
-                FeeType = viewModel.FeeType,
-                TotalFee = viewModel.TotalFee,
-                SpBillCreateIp = viewModel.SpBillCreateIp,
-                TradeType = viewModel.TradeType,
-                NotifyUrl = viewModel.NotifyUrl
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// APP支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult AppPay()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// APP支付
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> AppPay(QPayUnifiedOrderViewModel viewModel)
-        {
-            var request = new QPayUnifiedOrderRequest
-            {
-                OutTradeNo = viewModel.OutTradeNo,
-                Body = viewModel.Body,
-                FeeType = viewModel.FeeType,
-                TotalFee = viewModel.TotalFee,
-                SpBillCreateIp = viewModel.SpBillCreateIp,
-                TradeType = viewModel.TradeType,
-                NotifyUrl = viewModel.NotifyUrl
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 订单查询
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult OrderQuery()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 订单查询
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> OrderQuery(QPayOrderQueryViewModel viewModel)
-        {
-            var request = new QPayOrderQueryRequest
-            {
-                TransactionId = viewModel.TransactionId,
-                OutTradeNo = viewModel.OutTradeNo
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 撤销订单
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult Reverse()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 撤销订单
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> Reverse(QPayReverseViewModel viewModel)
-        {
-            var request = new QPayReverseRequest
-            {
-                OutTradeNo = viewModel.OutTradeNo
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 关闭订单
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult CloseOrder()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 关闭订单
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> CloseOrder(QPayCloseOrderViewModel viewModel)
-        {
-            var request = new QPayCloseOrderRequest
-            {
-                OutTradeNo = viewModel.OutTradeNo
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 申请退款
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult Refund()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 申请退款
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> Refund(QPayRefundViewModel viewModel)
-        {
-            var request = new QPayRefundRequest
-            {
-                OutRefundNo = viewModel.OutRefundNo,
-                TransactionId = viewModel.TransactionId,
-                OutTradeNo = viewModel.OutTradeNo,
-                RefundFee = viewModel.RefundFee,
-                OpUserId = viewModel.OpUserId,
-                OpUserPasswd = MD5.Compute(viewModel.OpUserPasswd).ToUpper(),
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 退款查询
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult RefundQuery()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 退款查询
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> RefundQuery(QPayRefundQueryViewModel viewModel)
-        {
-            var request = new QPayRefundQueryRequest
-            {
-                RefundId = viewModel.RefundId,
-                OutRefundNo = viewModel.OutRefundNo,
-                TransactionId = viewModel.TransactionId,
-                OutTradeNo = viewModel.OutTradeNo
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 对账单下载
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult StatementDown()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 对账单下载
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> StatementDown(QPayStatementDownViewModel viewModel)
-        {
-            var request = new QPaySpDownloadStatementDownRequest
-            {
-                BillDate = viewModel.BillDate,
-                BillType = viewModel.BillType,
-                TarType = viewModel.TarType
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 企业付款
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult B2CPay()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 企业付款
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> B2CPay(QPayB2CPayViewModel viewModel)
-        {
-            var request = new QPayEPayB2CRequest
-            {
-                OpenId = viewModel.OpenId,
-                Uin = viewModel.Uin,
-                OutTradeNo = viewModel.OutTradeNo,
-                TotalFee = viewModel.TotalFee,
-                Memo = viewModel.Memo,
-                CheckRealName = viewModel.CheckRealName,
-                OpUserId = viewModel.OpUserId,
-                OpUserPasswd = MD5.Compute(viewModel.OpUserPasswd).ToUpper(),
-                SpBillCreateIp = viewModel.SpBillCreateIp,
-                NotifyUrl = viewModel.NotifyUrl,
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-    }
-}

+ 0 - 90
samples/WebApplicationSample/Controllers/UnionPayController.cs

@@ -1,90 +0,0 @@
-using System.Text;
-using System.Threading.Tasks;
-using Essensoft.AspNetCore.Payment.UnionPay;
-using Essensoft.AspNetCore.Payment.UnionPay.Notify;
-using Essensoft.AspNetCore.Payment.UnionPay.Request;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Options;
-using WebApplicationSample.Models;
-
-namespace WebApplicationSample.Controllers
-{
-    public class UnionPayController : Controller
-    {
-        private readonly IUnionPayClient _client;
-        private readonly IUnionPayNotifyClient _notifyClient;
-        private readonly IOptions<UnionPayOptions> _optionsAccessor;
-
-        public UnionPayController(IUnionPayClient client, IUnionPayNotifyClient notifyClient, IOptions<UnionPayOptions> optionsAccessor)
-        {
-            _client = client;
-            _notifyClient = notifyClient;
-            _optionsAccessor = optionsAccessor;
-        }
-
-        /// <summary>
-        /// 银联支付指引页
-        /// </summary>
-        /// <returns></returns>
-        public IActionResult Index()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 跳转网关页面支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult GatewayPayFrontConsume()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 跳转网关页面支付
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> GatewayPayFrontConsume(GatewayPayFrontConsumeFrontConsumeViewModel viewModel)
-        {
-            var request = new UnionPayGatewayPayFrontConsumeRequest
-            {
-                TxnType = "01",
-                TxnSubType = "01",
-                BizType = "000201",
-                ChannelType = "07",
-                OrderId = viewModel.OrderId,
-                TxnTime = viewModel.TxnTime,
-                TxnAmt = viewModel.TxnAmt,
-                CurrencyCode = viewModel.CurrencyCode,
-                PayTimeOut = viewModel.PayTimeOut,
-                FrontUrl = viewModel.FrontUrl,
-                BackUrl = viewModel.BackUrl
-            };
-            var response = await _client.PageExecuteAsync(request, _optionsAccessor.Value);
-            return Content(response.Body, "text/html", Encoding.UTF8);
-        }
-
-        /// <summary>
-        /// 网关页面支付 - 同步跳转
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> GatewayPayFrontConsumeReturn()
-        {
-            try
-            {
-                var notify = await _notifyClient.ExecuteAsync<UnionPayGatewayPayFrontConsumeReturn>(Request, _optionsAccessor.Value);
-                ViewData["response"] = "支付成功";
-                return View();
-            }
-            catch
-            {
-                ViewData["response"] = "出现错误";
-                return View();
-            }
-        }
-    }
-}

+ 0 - 241
samples/WebApplicationSample/Models/JDPayViewModel.cs

@@ -1,241 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace WebApplicationSample.Models
-{
-    public class JDPaySaveOrderViewModel
-    {
-        [Required]
-        [Display(Name = "tradeNum")]
-        public string TradeNum { get; set; }
-
-        [Required]
-        [Display(Name = "tradeName")]
-        public string TradeName { get; set; }
-
-        [Required]
-        [Display(Name = "tradeTime")]
-        public string TradeTime { get; set; }
-
-        [Required]
-        [Display(Name = "amount")]
-        public string Amount { get; set; }
-
-        [Required]
-        [Display(Name = "orderType")]
-        public string OrderType { get; set; }
-
-        [Required]
-        [Display(Name = "currency")]
-        public string Currency { get; set; }
-
-        [Required]
-        [Display(Name = "callbackUrl")]
-        public string CallbackUrl { get; set; }
-
-        [Required]
-        [Display(Name = "notifyUrl")]
-        public string NotifyUrl { get; set; }
-
-        [Display(Name = "userId")]
-        public string UserId { get; set; }
-    }
-
-    public class JDPayUnifiedOrderViewModel
-    {
-        [Required]
-        [Display(Name = "tradeNum")]
-        public string TradeNum { get; set; }
-
-        [Required]
-        [Display(Name = "tradeName")]
-        public string TradeName { get; set; }
-
-        [Required]
-        [Display(Name = "tradeTime")]
-        public string TradeTime { get; set; }
-
-        [Required]
-        [Display(Name = "amount")]
-        public string Amount { get; set; }
-
-        [Required]
-        [Display(Name = "orderType")]
-        public string OrderType { get; set; }
-
-        [Required]
-        [Display(Name = "currency")]
-        public string Currency { get; set; }
-
-        [Required]
-        [Display(Name = "notifyUrl")]
-        public string NotifyUrl { get; set; }
-
-        [Required]
-        [Display(Name = "tradeType")]
-        public string TradeType { get; set; }
-    }
-
-    public class JDPayQueryViewModel
-    {
-        [Required]
-        [Display(Name = "tradeNum")]
-        public string TradeNum { get; set; }
-
-        [Display(Name = "oTradeNum")]
-        public string OTradeNum { get; set; }
-
-        [Required]
-        [Display(Name = "tradeType")]
-        public string TradeType { get; set; }
-    }
-
-    public class JDPayRefundViewModel
-    {
-        [Required]
-        [Display(Name = "tradeNum")]
-        public string TradeNum { get; set; }
-
-        [Required]
-        [Display(Name = "oTradeNum")]
-        public string OTradeNum { get; set; }
-
-        [Required]
-        [Display(Name = "amount")]
-        public string Amount { get; set; }
-
-        [Required]
-        [Display(Name = "currency")]
-        public string Currency { get; set; }
-
-        [Required]
-        [Display(Name = "notifyUrl")]
-        public string NotifyUrl { get; set; }
-    }
-
-    public class JDPayQueryRefundViewModel
-    {
-        [Required]
-        [Display(Name = "tradeNum")]
-        public string TradeNum { get; set; }
-
-        [Display(Name = "oTradeNum")]
-        public string OTradeNum { get; set; }
-
-        [Required]
-        [Display(Name = "tradeType")]
-        public string TradeType { get; set; }
-    }
-
-    public class JDPayDefrayPayViewModel
-    {
-        [Required]
-        [Display(Name = "request_datetime")]
-        public string RequestDatetime { get; set; }
-
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Display(Name = "biz_trade_no")]
-        public string BizTradeNo { get; set; }
-
-        [Display(Name = "out_trade_date")]
-        public string OutTradeDate { get; set; }
-
-        [Required]
-        [Display(Name = "trade_amount")]
-        public string TradeAmount { get; set; }
-
-        [Required]
-        [Display(Name = "trade_currency")]
-        public string TradeCurrency { get; set; }
-
-        [Display(Name = "seller_info")]
-        public string SellerInfo { get; set; }
-
-        [Required]
-        [Display(Name = "trade_subject")]
-        public string TradeSubject { get; set; }
-
-        [Display(Name = "category_code")]
-        public string CategoryCode { get; set; }
-
-        [Required]
-        [Display(Name = "pay_tool")]
-        public string PayTool { get; set; }
-
-        [Display(Name = "trade_source")]
-        public string TradeSource { get; set; }
-
-        [Display(Name = "payee_bank_code")]
-        public string PayeeBankCode { get; set; }
-
-        [Display(Name = "payee_bank_associated_code")]
-        public string PayeeBankAssociatedCode { get; set; }
-
-        [Display(Name = "payee_bank_fullname")]
-        public string PayeeBankFullname { get; set; }
-
-        [Display(Name = "payee_bank_country_code")]
-        public string PayeeBankCountryCode { get; set; }
-
-        [Display(Name = "payee_bank_province_code")]
-        public string PayeeBankProvinceCode { get; set; }
-
-        [Display(Name = "payee_bank_city_code")]
-        public string PayeeBankCityCode { get; set; }
-
-        [Display(Name = "payee_card_type")]
-        public string PayeeCardType { get; set; }
-
-        [Display(Name = "payee_account_type")]
-        public string PayeeAccountType { get; set; }
-
-        [Display(Name = "payee_account_no")]
-        public string PayeeAccountNo { get; set; }
-
-        [Display(Name = "payee_account_name")]
-        public string PayeeAccountName { get; set; }
-
-        [Display(Name = "payee_id_type")]
-        public string PayeeIdType { get; set; }
-
-        [Display(Name = "payee_id_no")]
-        public string PayeeIdNo { get; set; }
-
-        [Display(Name = "payee_mobile")]
-        public string PayeeMobile { get; set; }
-
-        [Display(Name = "notify_url")]
-        public string NotifyUrl { get; set; }
-
-        [Display(Name = "return_params")]
-        public string ReturnParams { get; set; }
-
-        [Display(Name = "extend_params")]
-        public string ExtendParams { get; set; }
-
-        [Display(Name = "bank_card_info_type")]
-        public string BankCardInfoType { get; set; }
-
-        [Display(Name = "bank_card_id")]
-        public string BankCardId { get; set; }
-    }
-
-    public class JDPayTradeQueryViewModel
-    {
-        [Required]
-        [Display(Name = "request_datetime")]
-        public string RequestDatetime { get; set; }
-
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Display(Name = "trade_no")]
-        public string TradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "trade_type")]
-        public string TradeType { get; set; }
-    }
-}

+ 0 - 125
samples/WebApplicationSample/Models/LianLianPayViewModel.cs

@@ -1,125 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace WebApplicationSample.Models
-{
-    public class LianLianPayWebQuickPayViewModel
-    {
-        [Required]
-        [Display(Name = "no_order")]
-        public string NoOrder { get; set; }
-
-        [Required]
-        [Display(Name = "dt_order")]
-        public string DtOrder { get; set; }
-
-        [Required]
-        [Display(Name = "money_order")]
-        public string MoneyOrder { get; set; }
-
-        [Required]
-        [Display(Name = "name_goods")]
-        public string NameGoods { get; set; }
-
-        [Required]
-        [Display(Name = "user_id")]
-        public string UserId { get; set; }
-
-        [Required]
-        [Display(Name = "notify_url")]
-        public string NotifyUrl { get; set; }
-
-        [Display(Name = "url_return")]
-        public string UrlReturn { get; set; }
-
-        [Required]
-        [Display(Name = "risk_item")]
-        public string RiskItem { get; set; }
-    }
-
-    public class LianLianPayH5QuickPayViewModel
-    {
-        [Required]
-        [Display(Name = "no_order")]
-        public string NoOrder { get; set; }
-
-        [Required]
-        [Display(Name = "dt_order")]
-        public string DtOrder { get; set; }
-
-        [Required]
-        [Display(Name = "money_order")]
-        public string MoneyOrder { get; set; }
-
-        [Required]
-        [Display(Name = "name_goods")]
-        public string NameGoods { get; set; }
-
-        [Required]
-        [Display(Name = "user_id")]
-        public string UserId { get; set; }
-
-        [Required]
-        [Display(Name = "notify_url")]
-        public string NotifyUrl { get; set; }
-
-        [Display(Name = "url_return")]
-        public string UrlReturn { get; set; }
-
-        [Required]
-        [Display(Name = "risk_item")]
-        public string RiskItem { get; set; }
-    }
-
-    public class LianLianPayOrderQueryViewModel
-    {
-        [Required]
-        [Display(Name = "no_order")]
-        public string NoOrder { get; set; }
-
-        [Display(Name = "dt_order")]
-        public string DtOrder { get; set; }
-
-        [Display(Name = "oid_paybill")]
-        public string OidPayBill { get; set; }
-    }
-
-    public class LianLianPayRefundViewModel
-    {
-        [Required]
-        [Display(Name = "no_refund")]
-        public string NoRefund { get; set; }
-
-        [Required]
-        [Display(Name = "dt_refund")]
-        public string DtRefund { get; set; }
-
-        [Required]
-        [Display(Name = "money_refund")]
-        public string MoneyRefund { get; set; }
-
-        [Display(Name = "no_order")]
-        public string NoOrder { get; set; }
-
-        [Display(Name = "dt_order")]
-        public string DtOrder { get; set; }
-
-        [Display(Name = "oid_paybill")]
-        public string OidPayBill { get; set; }
-
-        [Required]
-        [Display(Name = "notify_url")]
-        public string NotifyUrl { get; set; }
-    }
-
-    public class LianLianPayRefundQueryViewModel
-    {
-        [Display(Name = "no_refund")]
-        public string NoRefund { get; set; }
-
-        [Display(Name = "dt_refund")]
-        public string DtRefund { get; set; }
-
-        [Display(Name = "oid_refundno")]
-        public string OidRefundNo { get; set; }
-    }
-}

+ 0 - 189
samples/WebApplicationSample/Models/QPayViewModel.cs

@@ -1,189 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace WebApplicationSample.Models
-{
-    public class QPayMicroPayViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "body")]
-        public string Body { get; set; }
-
-        [Required]
-        [Display(Name = "fee_type")]
-        public string FeeType { get; set; }
-
-        [Required]
-        [Display(Name = "total_fee")]
-        public int TotalFee { get; set; }
-
-        [Required]
-        [Display(Name = "spbill_create_ip")]
-        public string SpBillCreateIp { get; set; }
-
-        [Required]
-        [Display(Name = "device_info")]
-        public string DeviceInfo { get; set; }
-
-        [Required]
-        [Display(Name = "auth_code")]
-        public string AuthCode { get; set; }
-
-        [Required]
-        [Display(Name = "trade_type")]
-        public string TradeType { get; set; }
-
-        [Required]
-        [Display(Name = "notify_url")]
-        public string NotifyUrl { get; set; }
-    }
-
-    public class QPayUnifiedOrderViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "body")]
-        public string Body { get; set; }
-
-        [Required]
-        [Display(Name = "fee_type")]
-        public string FeeType { get; set; }
-
-        [Required]
-        [Display(Name = "total_fee")]
-        public int TotalFee { get; set; }
-
-        [Required]
-        [Display(Name = "spbill_create_ip")]
-        public string SpBillCreateIp { get; set; }
-
-        [Required]
-        [Display(Name = "trade_type")]
-        public string TradeType { get; set; }
-
-        [Required]
-        [Display(Name = "notify_url")]
-        public string NotifyUrl { get; set; }
-    }
-
-    public class QPayOrderQueryViewModel
-    {
-        [Display(Name = "transaction_id")]
-        public string TransactionId { get; set; }
-
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-    }
-
-    public class QPayReverseViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-    }
-
-    public class QPayCloseOrderViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-    }
-
-    public class QPayRefundViewModel
-    {
-        [Required]
-        [Display(Name = "out_refund_no")]
-        public string OutRefundNo { get; set; }
-
-        [Display(Name = "transaction_id")]
-        public string TransactionId { get; set; }
-
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "refund_fee")]
-        public int RefundFee { get; set; }
-
-        [Required]
-        [Display(Name = "op_user_id")]
-        public string OpUserId { get; set; }
-
-        [Required]
-        [Display(Name = "op_user_passwd")]
-        public string OpUserPasswd { get; set; }
-    }
-
-    public class QPayRefundQueryViewModel
-    {
-        [Display(Name = "refund_id")]
-        public string RefundId { get; set; }
-
-        [Display(Name = "out_refund_no")]
-        public string OutRefundNo { get; set; }
-
-        [Display(Name = "transaction_id")]
-        public string TransactionId { get; set; }
-
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-    }
-
-    public class QPayStatementDownViewModel
-    {
-        [Required]
-        [Display(Name = "bill_date")]
-        public string BillDate { get; set; }
-
-        [Required]
-        [Display(Name = "bill_type")]
-        public string BillType { get; set; }
-
-        [Display(Name = "tar_type")]
-        public string TarType { get; set; }
-    }
-
-    public class QPayB2CPayViewModel
-    {
-        [Display(Name = "openid")]
-        public string OpenId { get; set; }
-
-        [Display(Name = "uin")]
-        public string Uin { get; set; }
-
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Display(Name = "total_fee")]
-        [Required]
-        public int TotalFee { get; set; }
-
-        [Display(Name = "memo")]
-        public string Memo { get; set; }
-
-        [Display(Name = "check_real_name")]
-        public string CheckRealName { get; set; }
-
-        [Required]
-        [Display(Name = "op_user_id")]
-        public string OpUserId { get; set; }
-
-        [Required]
-        [Display(Name = "op_user_passwd")]
-        public string OpUserPasswd { get; set; }
-
-        [Required]
-        [Display(Name = "spbill_create_ip")]
-        public string SpBillCreateIp { get; set; }
-
-        [Display(Name = "notify_url")]
-        public string NotifyUrl { get; set; }
-    }
-}

+ 0 - 33
samples/WebApplicationSample/Models/UnionPayViewModel.cs

@@ -1,33 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace WebApplicationSample.Models
-{
-    public class GatewayPayFrontConsumeFrontConsumeViewModel
-    {
-        [Required]
-        [Display(Name = "orderId")]
-        public string OrderId { get; set; }
-
-        [Required]
-        [Display(Name = "txnTime")]
-        public string TxnTime { get; set; }
-
-        [Required]
-        [Display(Name = "txnAmt")]
-        public string TxnAmt { get; set; }
-
-        [Required]
-        [Display(Name = "currencyCode")]
-        public string CurrencyCode { get; set; }
-
-        [Display(Name = "payTimeout")]
-        public string PayTimeOut { get; set; }
-
-        [Display(Name = "frontUrl")]
-        public string FrontUrl { get; set; }
-
-        [Required]
-        [Display(Name = "backUrl")]
-        public string BackUrl { get; set; }
-    }
-}

+ 0 - 12
samples/WebApplicationSample/Startup.cs

@@ -1,8 +1,4 @@
 using Essensoft.AspNetCore.Payment.Alipay;
-using Essensoft.AspNetCore.Payment.JDPay;
-using Essensoft.AspNetCore.Payment.LianLianPay;
-using Essensoft.AspNetCore.Payment.QPay;
-using Essensoft.AspNetCore.Payment.UnionPay;
 using Essensoft.AspNetCore.Payment.WeChatPay;
 using Microsoft.AspNetCore.Builder;
 using Microsoft.AspNetCore.Hosting;
@@ -26,19 +22,11 @@ namespace WebApplicationSample
         {
             // 引入Payment 依赖注入
             services.AddAlipay();
-            services.AddJDPay();
-            services.AddQPay();
-            services.AddUnionPay();
             services.AddWeChatPay();
-            services.AddLianLianPay();
 
             // 在 appsettings.json 中 配置选项
             services.Configure<AlipayOptions>(Configuration.GetSection("Alipay"));
-            services.Configure<JDPayOptions>(Configuration.GetSection("JDPay"));
-            services.Configure<QPayOptions>(Configuration.GetSection("QPay"));
-            services.Configure<UnionPayOptions>(Configuration.GetSection("UnionPay"));
             services.Configure<WeChatPayOptions>(Configuration.GetSection("WeChatPay"));
-            services.Configure<LianLianPayOptions>(Configuration.GetSection("LianLianPay"));
 
             services.AddControllersWithViews();
         }

+ 1 - 41
samples/WebApplicationSample/Views/Home/Index.cshtml

@@ -5,7 +5,7 @@
     Payment 基于 .NET Core / ASP.NET Core 开发,支持多商户的跨平台支付SDK集。 简化了API调用及相关通知的处理流程。
 </p>
 <p class="text-danger">
-    注: 本Demo仅作为测试用途,基本涵盖了常用的API。用作实际业务时,请务必配合相关API文档及说明处理
+    注: 本Sample仅作为测试用途,基本涵盖了常用的API。实际业务时,请务必配合相关API的文档及说明操作
 </p>
 <br />
 <h5>NuGet 程序包:</h5>
@@ -39,45 +39,5 @@
                 </a>
             </td>
         </tr>
-        <tr>
-            <th scope="row">3</th>
-            <td><a asp-controller="QPay" asp-action="Index">QQ钱包</a></td>
-            <td><a href="https://www.nuget.org/packages/Essensoft.AspNetCore.Payment.QPay" target="_blank">Essensoft.AspNetCore.Payment.QPay</a></td>
-            <td>
-                <a href="https://www.nuget.org/packages/Essensoft.AspNetCore.Payment.QPay" target="_blank">
-                    <img src="https://img.shields.io/nuget/v/Essensoft.AspNetCore.Payment.QPay.svg?style=flat-square" />
-                </a>
-            </td>
-        </tr>
-        <tr>
-            <th scope="row">4</th>
-            <td><a asp-controller="JDPay" asp-action="Index">京东支付</a></td>
-            <td><a href="https://www.nuget.org/packages/Essensoft.AspNetCore.Payment.JDPay" target="_blank">Essensoft.AspNetCore.Payment.JDPay</a></td>
-            <td>
-                <a href="https://www.nuget.org/packages/Essensoft.AspNetCore.Payment.JDPay" target="_blank">
-                    <img src="https://img.shields.io/nuget/v/Essensoft.AspNetCore.Payment.JDPay.svg?style=flat-square" />
-                </a>
-            </td>
-        </tr>
-        <tr>
-            <th scope="row">5</th>
-            <td><a asp-controller="LianLianPay" asp-action="Index">连连支付</a></td>
-            <td><a href="https://www.nuget.org/packages/Essensoft.AspNetCore.Payment.LianLianPay" target="_blank">Essensoft.AspNetCore.Payment.LianLianPay</a></td>
-            <td>
-                <a href="https://www.nuget.org/packages/Essensoft.AspNetCore.Payment.LianLianPay" target="_blank">
-                    <img src="https://img.shields.io/nuget/v/Essensoft.AspNetCore.Payment.LianLianPay.svg?style=flat-square" />
-                </a>
-            </td>
-        </tr>
-        <tr>
-            <th scope="row">6</th>
-            <td><a asp-controller="UnionPay" asp-action="Index">银联支付</a></td>
-            <td><a href="https://www.nuget.org/packages/Essensoft.AspNetCore.Payment.UnionPay" target="_blank">Essensoft.AspNetCore.Payment.UnionPay</a></td>
-            <td>
-                <a href="https://www.nuget.org/packages/Essensoft.AspNetCore.Payment.UnionPay" target="_blank">
-                    <img src="https://img.shields.io/nuget/v/Essensoft.AspNetCore.Payment.UnionPay.svg?style=flat-square" />
-                </a>
-            </td>
-        </tr>
     </tbody>
 </table>

+ 0 - 113
samples/WebApplicationSample/Views/JDPay/DefrayPay.cshtml

@@ -1,113 +0,0 @@
-@model JDPayDefrayPayViewModel
-@{
-    ViewData["Title"] = "代付交易请求";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="JDPay" asp-action="Index">京东支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="JDPay" asp-action="DefrayPay">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="PayeeBankCode"></label>
-                <input type="text" class="form-control" asp-for="PayeeBankCode" value="ABC" />
-            </div>
-            <div class="form-group">
-                <label asp-for="ExtendParams"></label>
-                <input type="text" class="form-control" asp-for="ExtendParams" value="{'ssss':'ssss'}" />
-            </div>
-            <div class="form-group">
-                <label asp-for="PayeeAccountType"></label>
-                <input type="text" class="form-control" asp-for="PayeeAccountType" value="P" />
-            </div>
-            <div class="form-group">
-                <label asp-for="ReturnParams"></label>
-                <input type="text" class="form-control" asp-for="ReturnParams" value="1234ssddffgghhj" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeCurrency"></label>
-                <input type="text" class="form-control" asp-for="TradeCurrency" value="CNY" />
-            </div>
-            <div class="form-group">
-                <label asp-for="PayTool"></label>
-                <input type="text" class="form-control" asp-for="PayTool" value="TRAN" />
-            </div>
-            <div class="form-group">
-                <label asp-for="CategoryCode"></label>
-                <input type="text" class="form-control" asp-for="CategoryCode" value="20jd222" />
-            </div>
-            <div class="form-group">
-                <label asp-for="PayeeAccountNo"></label>
-                <input type="text" class="form-control" asp-for="PayeeAccountNo" value="6222600210011817312" />
-            </div>
-            <div class="form-group">
-                <label asp-for="PayeeAccountName"></label>
-                <input type="text" class="form-control" asp-for="PayeeAccountName" value="张米克" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeSource"></label>
-                <input type="text" class="form-control" asp-for="TradeSource" value="testetst" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/jdpay/defraypay" />
-            </div>
-            <div class="form-group">
-                <label asp-for="BizTradeNo"></label>
-                <input type="text" class="form-control" asp-for="BizTradeNo" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OutTradeNo"></label>
-                <input type="text" class="form-control" asp-for="OutTradeNo" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="SellerInfo"></label>
-                <input type="text" class="form-control" asp-for="SellerInfo" value="{'customer_code':'360080002191800017','customer_type':'CUSTOMER_NO'}" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OutTradeDate"></label>
-                <input type="text" class="form-control" asp-for="OutTradeDate" value="@DateTime.Now.ToString("yyyyMMddHHmmss")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeAmount"></label>
-                <input type="text" class="form-control" asp-for="TradeAmount" value="1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="PayeeBankFullname"></label>
-                <input type="text" class="form-control" asp-for="PayeeBankFullname" value="农业银行" />
-            </div>
-            <div class="form-group">
-                <label asp-for="RequestDatetime"></label>
-                <input type="text" class="form-control" asp-for="RequestDatetime" value="@DateTime.Now.ToString("yyyyMMddHHmmss")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeSubject"></label>
-                <input type="text" class="form-control" asp-for="TradeSubject" value="test代付" />
-            </div>
-            <div class="form-group">
-                <label asp-for="PayeeCardType"></label>
-                <input type="text" class="form-control" asp-for="PayeeCardType" value="DE" />
-            </div>
-            <div class="form-group">
-                <label asp-for="PayeeMobile"></label>
-                <input type="text" class="form-control" asp-for="PayeeMobile" value="1333333333" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 70
samples/WebApplicationSample/Views/JDPay/Index.cshtml

@@ -1,70 +0,0 @@
-@{
-    ViewData["Title"] = "京东支付";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Home" asp-action="Index">首页</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<table class="table table-bordered table-hover">
-    <thead>
-        <tr>
-            <th scope="col">#</th>
-            <th scope="col">产品</th>
-            <th scope="col">接口</th>
-            <th scope="col">#</th>
-        </tr>
-    </thead>
-    <tbody>
-        <tr>
-            <th scope="row">1</th>
-            <td>在线支付接口PC版</td>
-            <td><a href="https://payapi.jd.com/interface/saveOrder.html" target="_blank">https://wepay.jd.com/jdpay/saveOrder</a></td>
-            <td><a asp-controller="JDPay" asp-action="SaveOrderPC">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">2</th>
-            <td>在线支付接口H5版</td>
-            <td><a href="https://payapi.jd.com/interface/saveOrder.html" target="_blank">https://h5pay.jd.com/jdpay/saveOrder</a></td>
-            <td><a asp-controller="JDPay" asp-action="SaveOrderH5">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">3</th>
-            <td>扫码支付-统一下单</td>
-            <td><a href="https://payapi.jd.com/interface/uniorder.html" target="_blank">https://paygate.jd.com/service/uniorder</a></td>
-            <td><a asp-controller="JDPay" asp-action="QrCodePay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">4</th>
-            <td>交易查询</td>
-            <td><a href="https://payapi.jd.com/interface/query.html" target="_blank">https://paygate.jd.com/service/query</a></td>
-            <td><a asp-controller="JDPay" asp-action="Query">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">5</th>
-            <td>退款申请</td>
-            <td><a href="https://payapi.jd.com/interface/refund.html" target="_blank">https://paygate.jd.com/service/refund</a></td>
-            <td><a asp-controller="JDPay" asp-action="Refund">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">6</th>
-            <td>退款查询</td>
-            <td><a href="https://payapi.jd.com/interface/queryRefund.html" target="_blank">https://paygate.jd.com/service/queryRefund</a></td>
-            <td><a asp-controller="JDPay" asp-action="QueryRefund">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">7</th>
-            <td>代付交易</td>
-            <td>https://mapi.jdpay.com/npp10/defray_pay</td>
-            <td><a asp-controller="JDPay" asp-action="DefrayPay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">8</th>
-            <td>代付交易查询</td>
-            <td>https://mapi.jdpay.com/npp10/trade_query</td>
-            <td><a asp-controller="JDPay" asp-action="TradeQuery">立即测试</a></td>
-        </tr>
-    </tbody>
-</table>

+ 0 - 69
samples/WebApplicationSample/Views/JDPay/QrCodePay.cshtml

@@ -1,69 +0,0 @@
-@model JDPayUnifiedOrderViewModel
-@{
-    ViewData["Title"] = "扫码支付";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="JDPay" asp-action="Index">京东支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="JDPay" asp-action="QrCodePay">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="TradeNum"></label>
-                <input type="text" class="form-control" asp-for="TradeNum" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeName"></label>
-                <input type="text" class="form-control" asp-for="TradeName" value="扫码支付测试" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeTime"></label>
-                <input type="text" class="form-control" asp-for="TradeTime" value="@DateTime.Now.ToString("yyyyMMddHHmmss")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Amount"></label>
-                <input type="text" class="form-control" asp-for="Amount" value="1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OrderType"></label>
-                <input type="text" class="form-control" asp-for="OrderType" value="1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Currency"></label>
-                <input type="text" class="form-control" asp-for="Currency" value="CNY" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeType"></label>
-                <input type="text" class="form-control" asp-for="TradeType" value="QR" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/jdpay/async" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>QrCode:</label>
-                @if (!string.IsNullOrEmpty(ViewData["qrcode"] as string))
-                {
-                <embed src="../Home/QrCode?size=168&data=@ViewData["qrcode"]" width="168" height="168" type="image/svg+xml" />
-                }
-            </div>
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}
-

+ 0 - 41
samples/WebApplicationSample/Views/JDPay/Query.cshtml

@@ -1,41 +0,0 @@
-@model JDPayQueryViewModel
-@{
-    ViewData["Title"] = "交易查询接口";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="JDPay" asp-action="Index">京东支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="JDPay" asp-action="Query">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="TradeNum"></label>
-                <input type="text" class="form-control" asp-for="TradeNum" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OTradeNum"></label>
-                <input type="text" class="form-control" asp-for="OTradeNum" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeType"></label>
-                <input type="text" class="form-control" asp-for="TradeType" value="0" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 41
samples/WebApplicationSample/Views/JDPay/QueryRefund.cshtml

@@ -1,41 +0,0 @@
-@model JDPayQueryRefundViewModel
-@{
-    ViewData["Title"] = "退款查询接口";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="JDPay" asp-action="Index">京东支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="JDPay" asp-action="QueryRefund">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="TradeNum"></label>
-                <input type="text" class="form-control" asp-for="TradeNum" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OTradeNum"></label>
-                <input type="text" class="form-control" asp-for="OTradeNum" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeType"></label>
-                <input type="text" class="form-control" asp-for="TradeType" value="1" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 49
samples/WebApplicationSample/Views/JDPay/Refund.cshtml

@@ -1,49 +0,0 @@
-@model JDPayRefundViewModel
-@{
-    ViewData["Title"] = "退款申请接口";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="JDPay" asp-action="Index">京东支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="JDPay" asp-action="Refund">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="TradeNum"></label>
-                <input type="text" class="form-control" asp-for="TradeNum" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OTradeNum"></label>
-                <input type="text" class="form-control" asp-for="OTradeNum" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Amount"></label>
-                <input type="text" class="form-control" asp-for="Amount" value="1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Currency"></label>
-                <input type="text" class="form-control" asp-for="Currency" value="CNY" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/jdpay/async" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 16
samples/WebApplicationSample/Views/JDPay/Return.cshtml

@@ -1,16 +0,0 @@
-@{
-    ViewData["Title"] = "在线支付-同步跳转";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="JDPay" asp-action="Index">京东支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        @ViewData["response"]
-    </div>
-</div>
-

+ 0 - 58
samples/WebApplicationSample/Views/JDPay/SaveOrderH5.cshtml

@@ -1,58 +0,0 @@
-@model JDPaySaveOrderViewModel
-@{
-    ViewData["Title"] = "H5在线支付";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="JDPay" asp-action="Index">京东支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="JDPay" asp-action="SaveOrderH5" target="_blank">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="TradeNum"></label>
-                <input type="text" class="form-control" asp-for="TradeNum" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeName"></label>
-                <input type="text" class="form-control" asp-for="TradeName" value="H5在线支付测试" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeTime"></label>
-                <input type="text" class="form-control" asp-for="TradeTime" value="@DateTime.Now.ToString("yyyyMMddHHmmss")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Amount"></label>
-                <input type="text" class="form-control" asp-for="Amount" value="1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OrderType"></label>
-                <input type="text" class="form-control" asp-for="OrderType" value="1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Currency"></label>
-                <input type="text" class="form-control" asp-for="Currency" value="CNY" />
-            </div>
-            <div class="form-group">
-                <label asp-for="CallbackUrl"></label>
-                <input type="text" class="form-control" asp-for="CallbackUrl" value="http://*/jdpay/return" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/jdpay/async" />
-            </div>
-            <div class="form-group">
-                <label asp-for="UserId"></label>
-                <input type="text" class="form-control" asp-for="UserId" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 58
samples/WebApplicationSample/Views/JDPay/SaveOrderPC.cshtml

@@ -1,58 +0,0 @@
-@model JDPaySaveOrderViewModel
-@{
-    ViewData["Title"] = "PC在线支付";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="JDPay" asp-action="Index">京东支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="JDPay" asp-action="SaveOrderPC" target="_blank">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="TradeNum"></label>
-                <input type="text" class="form-control" asp-for="TradeNum" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeName"></label>
-                <input type="text" class="form-control" asp-for="TradeName" value="PC在线支付测试" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeTime"></label>
-                <input type="text" class="form-control" asp-for="TradeTime" value="@DateTime.Now.ToString("yyyyMMddHHmmss")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Amount"></label>
-                <input type="text" class="form-control" asp-for="Amount" value="1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OrderType"></label>
-                <input type="text" class="form-control" asp-for="OrderType" value="1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Currency"></label>
-                <input type="text" class="form-control" asp-for="Currency" value="CNY" />
-            </div>
-            <div class="form-group">
-                <label asp-for="CallbackUrl"></label>
-                <input type="text" class="form-control" asp-for="CallbackUrl" value="http://*/jdpay/return" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/jdpay/async" />
-            </div>
-            <div class="form-group">
-                <label asp-for="UserId"></label>
-                <input type="text" class="form-control" asp-for="UserId" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 45
samples/WebApplicationSample/Views/JDPay/TradeQuery.cshtml

@@ -1,45 +0,0 @@
-@model JDPayTradeQueryViewModel
-@{
-    ViewData["Title"] = "代付交易查询";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="JDPay" asp-action="Index">京东支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="JDPay" asp-action="TradeQuery">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="RequestDatetime"></label>
-                <input type="text" class="form-control" asp-for="RequestDatetime" value="@DateTime.Now.ToString("yyyyMMddHHmmss")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OutTradeNo"></label>
-                <input type="text" class="form-control" asp-for="OutTradeNo" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeNo"></label>
-                <input type="text" class="form-control" asp-for="TradeNo" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeType"></label>
-                <input type="text" class="form-control" asp-for="TradeType" value="T_AGD" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 54
samples/WebApplicationSample/Views/LianLianPay/H5QuickPay.cshtml

@@ -1,54 +0,0 @@
-@model LianLianPayH5QuickPayViewModel
-@{
-    ViewData["Title"] = "H5快捷支付";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="LianLianPay" asp-action="Index">连连支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="LianLianPay" asp-action="H5QuickPay" target="_blank">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="NoOrder"></label>
-                <input type="text" class="form-control" asp-for="NoOrder" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="DtOrder"></label>
-                <input type="text" class="form-control" asp-for="DtOrder" value="@DateTime.Now.ToString("yyyyMMddHHmmss")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="MoneyOrder"></label>
-                <input type="text" class="form-control" asp-for="MoneyOrder" value="0.01" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NameGoods"></label>
-                <input type="text" class="form-control" asp-for="NameGoods" value="WAP快捷支付测试" />
-            </div>
-            <div class="form-group">
-                <label asp-for="UserId"></label>
-                <input type="text" class="form-control" asp-for="UserId" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/lianlianpay/receivemoney" />
-            </div>
-            <div class="form-group">
-                <label asp-for="UrlReturn"></label>
-                <input type="text" class="form-control" asp-for="UrlReturn" value="http://*/lianlianpay/quickpayreturn" />
-            </div>
-            <div class="form-group">
-                <label asp-for="RiskItem"></label>
-                <input type="text" class="form-control" asp-for="RiskItem" value='{"frms_ware_category":"1999","user_info_full_name":"你好"}' />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 52
samples/WebApplicationSample/Views/LianLianPay/Index.cshtml

@@ -1,52 +0,0 @@
-@{
-    ViewData["Title"] = "连连支付";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Home" asp-action="Index">首页</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<table class="table table-bordered table-hover">
-    <thead>
-        <tr>
-            <th scope="col">#</th>
-            <th scope="col">产品</th>
-            <th scope="col">接口</th>
-            <th scope="col">#</th>
-        </tr>
-    </thead>
-    <tbody>
-        <tr>
-            <th scope="row">1</th>
-            <td>Web快捷支付</td>
-            <td><a href="http://open.lianlianpay.com/#cat=35" target="_blank">https://payment.lianlianpay.com/payment/bankgateway.htm</a></td>
-            <td><a asp-controller="LianLianPay" asp-action="WebQuickPay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">2</th>
-            <td>H5快捷支付</td>
-            <td><a href="http://open.lianlianpay.com/#cat=36" target="_blank">https://wap.lianlianpay.com/payment.htm</a></td>
-            <td><a asp-controller="LianLianPay" asp-action="H5QuickPay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">3</th>
-            <td>订单查询</td>
-            <td><a href="http://open.lianlianpay.com/#cat=36" target="_blank">https://queryapi.lianlianpay.com/orderquery.htm</a></td>
-            <td><a asp-controller="LianLianPay" asp-action="OrderQuery">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">4</th>
-            <td>退款</td>
-            <td><a href="http://open.lianlianpay.com/#cat=74" target="_blank">https://traderapi.lianlianpay.com/refund.htm</a></td>
-            <td><a asp-controller="LianLianPay" asp-action="Refund">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">5</th>
-            <td>退款查询</td>
-            <td><a href="http://open.lianlianpay.com/#cat=74" target="_blank">https://queryapi.lianlianpay.com/refundquery.htm</a></td>
-            <td><a asp-controller="LianLianPay" asp-action="RefundQuery">立即测试</a></td>
-        </tr>
-    </tbody>
-</table>

+ 0 - 41
samples/WebApplicationSample/Views/LianLianPay/OrderQuery.cshtml

@@ -1,41 +0,0 @@
-@model LianLianPayOrderQueryViewModel
-@{
-    ViewData["Title"] = "订单查询";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="LianLianPay" asp-action="Index">连连支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="LianLianPay" asp-action="OrderQuery">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="NoOrder"></label>
-                <input type="text" class="form-control" asp-for="NoOrder" />
-            </div>
-            <div class="form-group">
-                <label asp-for="DtOrder"></label>
-                <input type="text" class="form-control" asp-for="DtOrder" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OidPayBill"></label>
-                <input type="text" class="form-control" asp-for="OidPayBill" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 15
samples/WebApplicationSample/Views/LianLianPay/QuickPayCallback.cshtml

@@ -1,15 +0,0 @@
-@{
-    ViewData["Title"] = "快捷支付-同步通知";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="LianLianPay" asp-action="Index">连连支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        @ViewData["response"]
-    </div>
-</div>

+ 0 - 57
samples/WebApplicationSample/Views/LianLianPay/Refund.cshtml

@@ -1,57 +0,0 @@
-@model LianLianPayRefundViewModel
-@{
-    ViewData["Title"] = "退款";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="LianLianPay" asp-action="Index">连连支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="LianLianPay" asp-action="Refund">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="NoRefund"></label>
-                <input type="text" class="form-control" asp-for="NoRefund" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="DtRefund"></label>
-                <input type="text" class="form-control" asp-for="DtRefund" value="@DateTime.Now.ToString("yyyyMMddHHmmss")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="MoneyRefund"></label>
-                <input type="text" class="form-control" asp-for="MoneyRefund" value="0.01" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NoOrder"></label>
-                <input type="text" class="form-control" asp-for="NoOrder" />
-            </div>
-            <div class="form-group">
-                <label asp-for="DtOrder"></label>
-                <input type="text" class="form-control" asp-for="DtOrder" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OidPayBill"></label>
-                <input type="text" class="form-control" asp-for="OidPayBill" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/lianlianpay/refund" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 41
samples/WebApplicationSample/Views/LianLianPay/RefundQuery.cshtml

@@ -1,41 +0,0 @@
-@model LianLianPayRefundQueryViewModel
-@{
-    ViewData["Title"] = "退款查询";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="LianLianPay" asp-action="Index">连连支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="LianLianPay" asp-action="RefundQuery">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="NoRefund"></label>
-                <input type="text" class="form-control" asp-for="NoRefund" />
-            </div>
-            <div class="form-group">
-                <label asp-for="DtRefund"></label>
-                <input type="text" class="form-control" asp-for="DtRefund" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OidRefundNo"></label>
-                <input type="text" class="form-control" asp-for="OidRefundNo" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 54
samples/WebApplicationSample/Views/LianLianPay/WebQuickPay.cshtml

@@ -1,54 +0,0 @@
-@model LianLianPayWebQuickPayViewModel
-@{
-    ViewData["Title"] = "WEB快捷支付";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="LianLianPay" asp-action="Index">连连支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="LianLianPay" asp-action="WebQuickPay" target="_blank">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="NoOrder"></label>
-                <input type="text" class="form-control" asp-for="NoOrder" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="DtOrder"></label>
-                <input type="text" class="form-control" asp-for="DtOrder" value="@DateTime.Now.ToString("yyyyMMddHHmmss")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="MoneyOrder"></label>
-                <input type="text" class="form-control" asp-for="MoneyOrder" value="0.01" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NameGoods"></label>
-                <input type="text" class="form-control" asp-for="NameGoods" value="WEB快捷支付测试" />
-            </div>
-            <div class="form-group">
-                <label asp-for="UserId"></label>
-                <input type="text" class="form-control" asp-for="UserId" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/lianlianpay/receivemoney" />
-            </div>
-            <div class="form-group">
-                <label asp-for="UrlReturn"></label>
-                <input type="text" class="form-control" asp-for="UrlReturn" value="http://*/lianlianpay/quickpayreturn" />
-            </div>
-            <div class="form-group">
-                <label asp-for="RiskItem"></label>
-                <input type="text" class="form-control" asp-for="RiskItem" value='{"frms_ware_category":"1999","user_info_full_name":"你好"}' />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 57
samples/WebApplicationSample/Views/QPay/AppPay.cshtml

@@ -1,57 +0,0 @@
-@model QPayUnifiedOrderViewModel
-@{
-    ViewData["Title"] = "APP支付-统一下单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="QPay" asp-action="Index">QQ钱包</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="QPay" asp-action="AppPay">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="OutTradeNo"></label>
-                <input type="text" class="form-control" asp-for="OutTradeNo" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Body"></label>
-                <input type="text" class="form-control" asp-for="Body" value="APP支付测试" />
-            </div>
-            <div class="form-group">
-                <label asp-for="FeeType"></label>
-                <input type="text" class="form-control" asp-for="FeeType" value="CNY" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TotalFee"></label>
-                <input type="text" class="form-control" asp-for="TotalFee" value="1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="SpBillCreateIp"></label>
-                <input type="text" class="form-control" asp-for="SpBillCreateIp" value="127.0.0.1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeType"></label>
-                <input type="text" class="form-control" asp-for="TradeType" value="APP" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/qpay/unifiedorder" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 69
samples/WebApplicationSample/Views/QPay/B2CPay.cshtml

@@ -1,69 +0,0 @@
-@model QPayB2CPayViewModel
-@{
-    ViewData["Title"] = "企业付款到余额";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="QPay" asp-action="Index">QQ钱包</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="QPay" asp-action="B2CPay">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="OpenId"></label>
-                <input type="text" class="form-control" asp-for="OpenId" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Uin"></label>
-                <input type="text" class="form-control" asp-for="Uin" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OutTradeNo"></label>
-                <input type="text" class="form-control" asp-for="OutTradeNo" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TotalFee"></label>
-                <input type="text" class="form-control" asp-for="TotalFee" value="1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Memo"></label>
-                <input type="text" class="form-control" asp-for="Memo" />
-            </div>
-            <div class="form-group">
-                <label asp-for="CheckRealName"></label>
-                <input type="text" class="form-control" asp-for="CheckRealName" value="0" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OpUserId"></label>
-                <input type="text" class="form-control" asp-for="OpUserId" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OpUserPasswd"></label>
-                <input type="text" class="form-control" asp-for="OpUserPasswd" />
-            </div>
-            <div class="form-group">
-                <label asp-for="SpBillCreateIp"></label>
-                <input type="text" class="form-control" asp-for="SpBillCreateIp" value="127.0.0.1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/qpay/b2cpay" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 33
samples/WebApplicationSample/Views/QPay/CloseOrder.cshtml

@@ -1,33 +0,0 @@
-@model QPayCloseOrderViewModel
-@{
-    ViewData["Title"] = "关闭订单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="QPay" asp-action="Index">QQ钱包</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="QPay" asp-action="CloseOrder">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="OutTradeNo"></label>
-                <input type="text" class="form-control" asp-for="OutTradeNo" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 88
samples/WebApplicationSample/Views/QPay/Index.cshtml

@@ -1,88 +0,0 @@
-@{
-    ViewData["Title"] = "QQ钱包";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Home" asp-action="Index">首页</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<table class="table table-bordered table-hover">
-    <thead>
-        <tr>
-            <th scope="col">#</th>
-            <th scope="col">产品</th>
-            <th scope="col">接口</th>
-            <th scope="col">#</th>
-        </tr>
-    </thead>
-    <tbody>
-        <tr>
-            <th scope="row">1</th>
-            <td>付款码支付-提交付款码支付</td>
-            <td><a href="https://qpay.qq.com/buss/wiki/1/1119" target="_blank">https://qpay.qq.com/cgi-bin/pay/qpay_micro_pay.cgi</a></td>
-            <td><a asp-controller="QPay" asp-action="MicroPay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">2</th>
-            <td>扫码支付-统一下单</td>
-            <td><a href="https://qpay.qq.com/buss/wiki/38/1198" target="_blank">https://qpay.qq.com/cgi-bin/pay/qpay_unified_order.cgi</a></td>
-            <td><a asp-controller="QPay" asp-action="QrCodePay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">3</th>
-            <td>公众号支付-统一下单</td>
-            <td><a href="https://qpay.qq.com/buss/wiki/38/1200" target="_blank">https://qpay.qq.com/cgi-bin/pay/qpay_unified_order.cgi</a></td>
-            <td><a asp-controller="QPay" asp-action="PubPay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">4</th>
-            <td>APP支付-统一下单</td>
-            <td><a href="https://qpay.qq.com/buss/wiki/38/1194" target="_blank">https://qpay.qq.com/cgi-bin/pay/qpay_unified_order.cgi</a></td>
-            <td><a asp-controller="QPay" asp-action="AppPay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">5</th>
-            <td>订单查询</td>
-            <td><a href="https://qpay.qq.com/buss/wiki/38/1205" target="_blank">https://qpay.qq.com/cgi-bin/pay/qpay_order_query.cgi</a></td>
-            <td><a asp-controller="QPay" asp-action="OrderQuery">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">6</th>
-            <td>撤销订单</td>
-            <td><a href="https://qpay.qq.com/qpaywiki/showdocument.php?pid=1&docid=168" target="_blank">https://api.qpay.qq.com/cgi-bin/pay/qpay_reverse.cgi</a></td>
-            <td><a asp-controller="QPay" asp-action="Reverse">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">7</th>
-            <td>关闭订单</td>
-            <td><a href="https://qpay.qq.com/buss/wiki/38/1206" target="_blank">https://qpay.qq.com/cgi-bin/pay/qpay_close_order.cgi</a></td>
-            <td><a asp-controller="QPay" asp-action="CloseOrder">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">8</th>
-            <td>申请退款</td>
-            <td><a href="https://qpay.qq.com/buss/wiki/38/1207" target="_blank">https://api.qpay.qq.com/cgi-bin/pay/qpay_refund.cgi</a></td>
-            <td><a asp-controller="QPay" asp-action="Refund">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">9</th>
-            <td>退款查询</td>
-            <td><a href="https://qpay.qq.com/buss/wiki/38/1208" target="_blank">https://qpay.qq.com/cgi-bin/pay/qpay_refund_query.cgi</a></td>
-            <td><a asp-controller="QPay" asp-action="RefundQuery">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">10</th>
-            <td>对账单下载</td>
-            <td><a href="https://qpay.qq.com/buss/wiki/38/1209" target="_blank">https://qpay.qq.com/cgi-bin/sp_download/qpay_mch_statement_down.cgi</a></td>
-            <td><a asp-controller="QPay" asp-action="StatementDown">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">11</th>
-            <td>企业付款</td>
-            <td><a href="https://qpay.qq.com/buss/wiki/206/1215" target="_blank">https://api.qpay.qq.com/cgi-bin/epay/qpay_epay_b2c.cgi</a></td>
-            <td><a asp-controller="QPay" asp-action="B2CPay">立即测试</a></td>
-        </tr>
-    </tbody>
-</table>

+ 0 - 65
samples/WebApplicationSample/Views/QPay/MicroPay.cshtml

@@ -1,65 +0,0 @@
-@model QPayMicroPayViewModel
-@{
-    ViewData["Title"] = "付款码支付-提交付款码支付";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="QPay" asp-action="Index">QQ钱包</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="QPay" asp-action="MicroPay">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="OutTradeNo"></label>
-                <input type="text" class="form-control" asp-for="OutTradeNo" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Body"></label>
-                <input type="text" class="form-control" asp-for="Body" value="付款码支付测试" />
-            </div>
-            <div class="form-group">
-                <label asp-for="FeeType"></label>
-                <input type="text" class="form-control" asp-for="FeeType" value="CNY" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TotalFee"></label>
-                <input type="text" class="form-control" asp-for="TotalFee" value="1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="SpBillCreateIp"></label>
-                <input type="text" class="form-control" asp-for="SpBillCreateIp" value="127.0.0.1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="DeviceInfo"></label>
-                <input type="text" class="form-control" asp-for="DeviceInfo" value="10001" />
-            </div>
-            <div class="form-group">
-                <label asp-for="AuthCode"></label>
-                <input type="text" class="form-control" asp-for="AuthCode" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeType"></label>
-                <input type="text" class="form-control" asp-for="TradeType" value="MICROPAY" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/qpay/micropay" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 34
samples/WebApplicationSample/Views/QPay/OrderQuery.cshtml

@@ -1,34 +0,0 @@
-@model QPayOrderQueryViewModel
-@{
-    ViewData["Title"] = "订单查询";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="QPay" asp-action="Index">QQ钱包</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="QPay" asp-action="OrderQuery">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="TransactionId"></label>
-                <input type="text" class="form-control" asp-for="TransactionId" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OutTradeNo"></label>
-                <input type="text" class="form-control" asp-for="OutTradeNo" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>

+ 0 - 57
samples/WebApplicationSample/Views/QPay/PubPay.cshtml

@@ -1,57 +0,0 @@
-@model QPayUnifiedOrderViewModel
-@{
-    ViewData["Title"] = "公众号支付-统一下单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="QPay" asp-action="Index">QQ钱包</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="QPay" asp-action="PubPay">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="OutTradeNo"></label>
-                <input type="text" class="form-control" asp-for="OutTradeNo" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Body"></label>
-                <input type="text" class="form-control" asp-for="Body" value="公众号支付测试" />
-            </div>
-            <div class="form-group">
-                <label asp-for="FeeType"></label>
-                <input type="text" class="form-control" asp-for="FeeType" value="CNY" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TotalFee"></label>
-                <input type="text" class="form-control" asp-for="TotalFee" value="1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="SpBillCreateIp"></label>
-                <input type="text" class="form-control" asp-for="SpBillCreateIp" value="127.0.0.1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeType"></label>
-                <input type="text" class="form-control" asp-for="TradeType" value="JSAPI" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/qpay/unifiedorder" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 64
samples/WebApplicationSample/Views/QPay/QrCodePay.cshtml

@@ -1,64 +0,0 @@
-@model QPayUnifiedOrderViewModel
-@{
-    ViewData["Title"] = "扫码支付-统一下单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="QPay" asp-action="Index">QQ钱包</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="QPay" asp-action="QrCodePay">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="OutTradeNo"></label>
-                <input type="text" class="form-control" asp-for="OutTradeNo" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Body"></label>
-                <input type="text" class="form-control" asp-for="Body" value="扫码支付测试" />
-            </div>
-            <div class="form-group">
-                <label asp-for="FeeType"></label>
-                <input type="text" class="form-control" asp-for="FeeType" value="CNY" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TotalFee"></label>
-                <input type="text" class="form-control" asp-for="TotalFee" value="1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="SpBillCreateIp"></label>
-                <input type="text" class="form-control" asp-for="SpBillCreateIp" value="127.0.0.1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeType"></label>
-                <input type="text" class="form-control" asp-for="TradeType" value="NATIVE" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/qpay/unifiedorder" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>QrCode:</label>
-                @if (!string.IsNullOrEmpty(ViewData["qrcode"] as string))
-                {
-                    <embed src="../Home/QrCode?size=168&data=@ViewData["qrcode"]" width="168" height="168" type="image/svg+xml" />
-                }
-            </div>
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 53
samples/WebApplicationSample/Views/QPay/Refund.cshtml

@@ -1,53 +0,0 @@
-@model QPayRefundViewModel
-@{
-    ViewData["Title"] = "申请退款";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="QPay" asp-action="Index">QQ钱包</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="QPay" asp-action="Refund">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="OutRefundNo"></label>
-                <input type="text" class="form-control" asp-for="OutRefundNo" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TransactionId"></label>
-                <input type="text" class="form-control" asp-for="TransactionId" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OutTradeNo"></label>
-                <input type="text" class="form-control" asp-for="OutTradeNo" />
-            </div>
-            <div class="form-group">
-                <label asp-for="RefundFee"></label>
-                <input type="text" class="form-control" asp-for="RefundFee" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OpUserId"></label>
-                <input type="text" class="form-control" asp-for="OpUserId" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OpUserPasswd"></label>
-                <input type="text" class="form-control" asp-for="OpUserPasswd" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 42
samples/WebApplicationSample/Views/QPay/RefundQuery.cshtml

@@ -1,42 +0,0 @@
-@model QPayRefundQueryViewModel
-@{
-    ViewData["Title"] = "退款查询";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="QPay" asp-action="Index">QQ钱包</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="QPay" asp-action="RefundQuery">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="RefundId"></label>
-                <input type="text" class="form-control" asp-for="RefundId" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OutRefundNo"></label>
-                <input type="text" class="form-control" asp-for="OutRefundNo" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TransactionId"></label>
-                <input type="text" class="form-control" asp-for="TransactionId" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OutTradeNo"></label>
-                <input type="text" class="form-control" asp-for="OutTradeNo" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>

+ 0 - 33
samples/WebApplicationSample/Views/QPay/Reverse.cshtml

@@ -1,33 +0,0 @@
-@model QPayReverseViewModel
-@{
-    ViewData["Title"] = "撤销订单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="QPay" asp-action="Index">QQ钱包</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="QPay" asp-action="Reverse">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="OutTradeNo"></label>
-                <input type="text" class="form-control" asp-for="OutTradeNo" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 41
samples/WebApplicationSample/Views/QPay/StatementDown.cshtml

@@ -1,41 +0,0 @@
-@model QPayStatementDownViewModel
-@{
-    ViewData["Title"] = "对账单下载";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="QPay" asp-action="Index">QQ钱包</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="QPay" asp-action="StatementDown">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="BillDate"></label>
-                <input type="text" class="form-control" asp-for="BillDate" />
-            </div>
-            <div class="form-group">
-                <label asp-for="BillType"></label>
-                <input type="text" class="form-control" asp-for="BillType" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TarType"></label>
-                <input type="text" class="form-control" asp-for="TarType" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <hr />
-        <form class="form-horizontal">
-            <div class="form-group">
-                <label>Response:</label>
-                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 12
samples/WebApplicationSample/Views/Shared/_Layout.cshtml

@@ -33,18 +33,6 @@
                     <li class="nav-item @Html.IsActive("WeChatPay")">
                         <a class="nav-link" asp-controller="WeChatPay" asp-action="Index">微信支付</a>
                     </li>
-                    <li class="nav-item @Html.IsActive("QPay")">
-                        <a class="nav-link" asp-controller="QPay" asp-action="Index">QQ钱包</a>
-                    </li>
-                    <li class="nav-item @Html.IsActive("JDPay")">
-                        <a class="nav-link" asp-controller="JDPay" asp-action="Index">京东支付</a>
-                    </li>
-                    <li class="nav-item @Html.IsActive("LianLianPay")">
-                        <a class="nav-link" asp-controller="LianLianPay" asp-action="Index">连连支付</a>
-                    </li>
-                    <li class="nav-item @Html.IsActive("UnionPay")">
-                        <a class="nav-link" asp-controller="UnionPay" asp-action="Index">银联支付</a>
-                    </li>
                 </ul>
                 <ul class="navbar-nav navbar-right">
                     <li class="nav-item @Html.IsActive("Home", "Gratuity")">

+ 0 - 50
samples/WebApplicationSample/Views/UnionPay/GatewayPayFrontConsume.cshtml

@@ -1,50 +0,0 @@
-@model GatewayPayFrontConsumeFrontConsumeViewModel
-@{
-    ViewData["Title"] = "跳转网关页面支付 - 消费接口";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="UnionPay" asp-action="Index">银联支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        <form asp-controller="UnionPay" asp-action="GatewayPayFrontConsume" target="_blank">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="OrderId"></label>
-                <input type="text" class="form-control" asp-for="OrderId" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TxnTime"></label>
-                <input type="text" class="form-control" asp-for="TxnTime" value="@DateTime.Now.ToString("yyyyMMddHHmmss")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TxnAmt"></label>
-                <input type="text" class="form-control" asp-for="TxnAmt" value="1" />
-            </div>
-            <div class="form-group">
-                <label asp-for="CurrencyCode"></label>
-                <input type="text" class="form-control" asp-for="CurrencyCode" value="156" />
-            </div>
-            <div class="form-group">
-                <label asp-for="PayTimeOut"></label>
-                <input type="text" class="form-control" asp-for="PayTimeOut" value="@DateTime.Now.AddDays(7).ToString("yyyyMMddHHmmss")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="FrontUrl"></label>
-                <input type="text" class="form-control" asp-for="FrontUrl" value="http://*/unionpay/gatewaypayfrontconsumereturn" />
-            </div>
-            <div class="form-group">
-                <label asp-for="BackUrl"></label>
-                <input type="text" class="form-control" asp-for="BackUrl" value="http://*/notify/unionpay/gatewaypayfrontconsume" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 15
samples/WebApplicationSample/Views/UnionPay/GatewayPayFrontConsumeReturn.cshtml

@@ -1,15 +0,0 @@
-@{
-    ViewData["Title"] = "网关页面支付 - 同步跳转";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="UnionPay" asp-action="Index">银联支付</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<div class="card">
-    <div class="card-body">
-        @ViewData["response"]
-    </div>
-</div>

+ 0 - 28
samples/WebApplicationSample/Views/UnionPay/Index.cshtml

@@ -1,28 +0,0 @@
-@{
-    ViewData["Title"] = "银联支付";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Home" asp-action="Index">首页</a></li>
-        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
-    </ol>
-</nav>
-<br />
-<table class="table table-bordered table-hover">
-    <thead>
-        <tr>
-            <th scope="col">#</th>
-            <th scope="col">产品</th>
-            <th scope="col">接口</th>
-            <th scope="col">#</th>
-        </tr>
-    </thead>
-    <tbody>
-        <tr>
-            <th scope="row">1</th>
-            <td>网关支付-跳转网关页面支付</td>
-            <td><a href="https://open.unionpay.com/tjweb/acproduct/APIList?acpAPIId=275&&apiservId=448&&version=V2.2" target="_blank">消费接口</a></td>
-            <td><a asp-controller="UnionPay" asp-action="GatewayPayFrontConsume">立即测试</a></td>
-        </tr>
-    </tbody>
-</table>

+ 0 - 4
samples/WebApplicationSample/WebApplicationSample.csproj

@@ -11,10 +11,6 @@
 
   <ItemGroup>
     <ProjectReference Include="..\..\src\Essensoft.AspNetCore.Payment.Alipay\Essensoft.AspNetCore.Payment.Alipay.csproj" />
-    <ProjectReference Include="..\..\src\Essensoft.AspNetCore.Payment.JDPay\Essensoft.AspNetCore.Payment.JDPay.csproj" />
-    <ProjectReference Include="..\..\src\Essensoft.AspNetCore.Payment.LianLianPay\Essensoft.AspNetCore.Payment.LianLianPay.csproj" />
-    <ProjectReference Include="..\..\src\Essensoft.AspNetCore.Payment.QPay\Essensoft.AspNetCore.Payment.QPay.csproj" />
-    <ProjectReference Include="..\..\src\Essensoft.AspNetCore.Payment.UnionPay\Essensoft.AspNetCore.Payment.UnionPay.csproj" />
     <ProjectReference Include="..\..\src\Essensoft.AspNetCore.Payment.WeChatPay\Essensoft.AspNetCore.Payment.WeChatPay.csproj" />
   </ItemGroup>
 

+ 0 - 55
src/Essensoft.AspNetCore.Payment.JDPay/Domain/PayTradeDetail.cs

@@ -1,55 +0,0 @@
-using System.Xml.Serialization;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Domain
-{
-    public class PayTradeDetail
-    {
-        /// <summary>
-        /// 持卡人人姓名
-        /// </summary>
-        [XmlElement("cardHolderName")]
-        public string CardHolderName { get; set; }
-
-        /// <summary>
-        /// 持卡人手机号
-        /// </summary>
-        [XmlElement("cardHolderMobile")]
-        public string CardHolderMobile { get; set; }
-
-        /// <summary>
-        /// 证件类型
-        /// </summary>
-        [XmlElement("cardHolderType")]
-        public string CardHolderType { get; set; }
-
-        /// <summary>
-        /// 身份证号
-        /// </summary>
-        [XmlElement("cardHolderId")]
-        public string CardHolderId { get; set; }
-
-        /// <summary>
-        /// 卡号
-        /// </summary>
-        [XmlElement("cardNo")]
-        public string CardNo { get; set; }
-
-        /// <summary>
-        /// 银行编码
-        /// </summary>
-        [XmlElement("bankCode")]
-        public string BankCode { get; set; }
-
-        /// <summary>
-        /// 银行卡类型
-        /// </summary>
-        [XmlElement("cardType")]
-        public string CardType { get; set; }
-
-        /// <summary>
-        /// 支付金额
-        /// </summary>
-        [XmlElement("payMoney")]
-        public string PayMoney { get; set; }
-    }
-}

+ 0 - 37
src/Essensoft.AspNetCore.Payment.JDPay/Domain/PayTradeVo.cs

@@ -1,37 +0,0 @@
-using System.Xml.Serialization;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Domain
-{
-    public class PayTradeVo
-    {
-        /// <summary>
-        /// 支付方式
-        /// </summary>
-        [XmlElement("payType")]
-        public string PayType { get; set; }
-
-        /// <summary>
-        /// 交易金额
-        /// </summary>
-        [XmlElement("amount")]
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 交易币种
-        /// </summary>
-        [XmlElement("currency")]
-        public string Currency { get; set; }
-
-        /// <summary>
-        /// 交易时间
-        /// </summary>
-        [XmlElement("tradeTime")]
-        public string TradeTime { get; set; }
-
-        /// <summary>
-        /// 支付明细
-        /// </summary>
-        [XmlElement("detail")]
-        public PayTradeDetail Detail { get; set; }
-    }
-}

+ 0 - 55
src/Essensoft.AspNetCore.Payment.JDPay/Domain/Refund.cs

@@ -1,55 +0,0 @@
-using System.Xml.Serialization;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Domain
-{
-    public class Refund
-    {
-        /// <summary>
-        /// 交易类型
-        /// </summary>
-        [XmlElement("tradeType")]
-        public string TradeType { get; set; }
-
-        /// <summary>
-        /// 交易流水
-        /// </summary>
-        [XmlElement("tradeNum")]
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 原交易流水号
-        /// </summary>
-        [XmlElement("oTradeNum")]
-        public string OTradeNum { get; set; }
-
-        /// <summary>
-        /// 交易金额
-        /// </summary>
-        [XmlElement("amount")]
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 交易币种
-        /// </summary>
-        [XmlElement("currency")]
-        public string Currency { get; set; }
-
-        /// <summary>
-        /// 交易时间	
-        /// </summary>
-        [XmlElement("tradeTime")]
-        public string TradeTime { get; set; }
-
-        /// <summary>
-        /// 交易备注
-        /// </summary>
-        [XmlElement("note")]
-        public string Note { get; set; }
-
-        /// <summary>
-        /// 交易状态
-        /// </summary>
-        [XmlElement("status")]
-        public string Status { get; set; }
-    }
-}

+ 0 - 13
src/Essensoft.AspNetCore.Payment.JDPay/Domain/Result.cs

@@ -1,13 +0,0 @@
-using System.Xml.Serialization;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Domain
-{
-    public class Result
-    {
-        [XmlElement("code")]
-        public string Code { get; set; }
-
-        [XmlElement("desc")]
-        public string Desc { get; set; }
-    }
-}

+ 0 - 22
src/Essensoft.AspNetCore.Payment.JDPay/Essensoft.AspNetCore.Payment.JDPay.csproj

@@ -1,22 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFrameworks>netstandard2.1;netcoreapp3.1</TargetFrameworks>
-    <PackageId>Essensoft.AspNetCore.Payment.JDPay</PackageId>
-    <PackageTags>Essensoft;AspNetCore;Payment;JDPay;京东支付;</PackageTags>
-  </PropertyGroup>
-
-  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.1' OR '$(TargetFramework)' == 'netcoreapp3.1'">
-    <PackageReference Include="Microsoft.Extensions.Http" Version="3.1.0" />
-    <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
-  </ItemGroup>
-  
-  <ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.1' ">
-    <FrameworkReference Include="Microsoft.AspNetCore.App" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\Essensoft.AspNetCore.Payment.Security\Essensoft.AspNetCore.Payment.Security.csproj" />
-  </ItemGroup>
-
-</Project>

+ 0 - 35
src/Essensoft.AspNetCore.Payment.JDPay/IJDPayClient.cs

@@ -1,35 +0,0 @@
-using System.Threading.Tasks;
-
-namespace Essensoft.AspNetCore.Payment.JDPay
-{
-    /// <summary>
-    /// JDPay 客户端。
-    /// </summary>
-    public interface IJDPayClient
-    {
-        /// <summary>
-        /// 执行JDPay API请求。
-        /// </summary>
-        /// <param name="request">具体的JDPay API请求</param>
-        /// <param name="options">配置选项</param>
-        /// <returns>领域对象</returns>
-        Task<T> ExecuteAsync<T>(IJDPayRequest<T> request, JDPayOptions options) where T : JDPayResponse;
-
-        /// <summary>
-        /// 执行JDPay API请求。
-        /// </summary>
-        /// <typeparam name="T"></typeparam>
-        /// <param name="request">具体的JDPay API请求</param>
-        /// <param name="options">配置选项</param>
-        /// <returns></returns>
-        Task<T> PageExecuteAsync<T>(IJDPayRequest<T> request, JDPayOptions options) where T : JDPayResponse;
-
-        /// <summary>
-        /// 执行JDPay API请求。
-        /// </summary>
-        /// <param name="request">具体的JDPay API请求</param>
-        /// <param name="options">配置选项</param>
-        /// <returns>领域对象</returns>
-        Task<T> ExecuteAsync<T>(IJDPayNPP10Request<T> request, JDPayOptions options) where T : JDPayResponse;
-    }
-}

+ 0 - 25
src/Essensoft.AspNetCore.Payment.JDPay/IJDPayNPP10Request.cs

@@ -1,25 +0,0 @@
-using System.Collections.Generic;
-
-namespace Essensoft.AspNetCore.Payment.JDPay
-{
-    /// <summary>
-    /// JDPay NPP10 接口请求。
-    /// </summary>
-    /// <typeparam name="T"></typeparam>
-    public interface IJDPayNPP10Request<T> where T : JDPayResponse
-    {
-        /// <summary>
-        /// API接口地址
-        /// </summary>
-        /// <returns></returns>
-        string GetRequestUrl();
-
-        /// <summary>
-        /// 获取所有的Key-Value形式的文本请求参数字典。其中:
-        /// Key: 请求参数名
-        /// Value: 请求参数文本值
-        /// </summary>
-        /// <returns>文本请求参数字典</returns>
-        IDictionary<string, string> GetParameters();
-    }
-}

+ 0 - 24
src/Essensoft.AspNetCore.Payment.JDPay/IJDPayNotifyClient.cs

@@ -1,24 +0,0 @@
-#if NETCOREAPP3_1
-
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Http;
-
-namespace Essensoft.AspNetCore.Payment.JDPay
-{
-    /// <summary>
-    /// JDPay 通知解析客户端。
-    /// </summary>
-    public interface IJDPayNotifyClient
-    {
-        /// <summary>
-        /// 执行JDPay通知请求解析。
-        /// </summary>
-        /// <typeparam name="T">领域对象</typeparam>
-        /// <param name="request">控制器的请求</param>
-        /// <param name="options">配置选项</param>
-        /// <returns>领域对象</returns>
-        Task<T> ExecuteAsync<T>(HttpRequest request, JDPayOptions options) where T : JDPayNotify;
-    }
-}
-
-#endif

+ 0 - 37
src/Essensoft.AspNetCore.Payment.JDPay/IJDPayRequest.cs

@@ -1,37 +0,0 @@
-using System.Collections.Generic;
-
-namespace Essensoft.AspNetCore.Payment.JDPay
-{
-    /// <summary>
-    /// JDPay 请求接口。
-    /// </summary>
-    /// <typeparam name="T"></typeparam>
-    public interface IJDPayRequest<T> where T : JDPayResponse
-    {
-        /// <summary>
-        /// API接口地址
-        /// </summary>
-        /// <returns></returns>
-        string GetRequestUrl();
-
-        /// <summary>
-        /// 获取API版本
-        /// </summary>
-        /// <returns></returns>
-        string GetApiVersion();
-
-        /// <summary>
-        /// 设置API版本
-        /// </summary>
-        /// <param name="apiVersion"></param>
-        void SetApiVersion(string apiVersion);
-
-        /// <summary>
-        /// 获取所有的Key-Value形式的文本请求参数字典。其中:
-        /// Key: 请求参数名
-        /// Value: 请求参数文本值
-        /// </summary>
-        /// <returns>文本请求参数字典</returns>
-        IDictionary<string, string> GetParameters();
-    }
-}

+ 0 - 210
src/Essensoft.AspNetCore.Payment.JDPay/JDPayClient.cs

@@ -1,210 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Net.Http;
-using System.Text;
-using System.Threading.Tasks;
-using System.Xml;
-using Essensoft.AspNetCore.Payment.JDPay.Parser;
-using Essensoft.AspNetCore.Payment.JDPay.Request;
-using Essensoft.AspNetCore.Payment.JDPay.Utility;
-using Essensoft.AspNetCore.Payment.Security;
-using Newtonsoft.Json;
-
-namespace Essensoft.AspNetCore.Payment.JDPay
-{
-    /// <summary>
-    /// JDPay 客户端。
-    /// </summary>
-    public class JDPayClient : IJDPayClient
-    {
-        private readonly IHttpClientFactory _httpClientFactory;
-
-        #region JDPayClient Constructors
-
-        public JDPayClient(
-            IHttpClientFactory httpClientFactory)
-        {
-            _httpClientFactory = httpClientFactory;
-        }
-
-        #endregion
-
-        #region IJDPayClient Members
-
-        public async Task<T> ExecuteAsync<T>(IJDPayRequest<T> request, JDPayOptions options) where T : JDPayResponse
-        {
-            // 字典排序
-            var sortedTxtParams = new JDPayDictionary(request.GetParameters());
-
-            var content = BuildEncryptXml(request, sortedTxtParams, options);
-
-            using (var client = _httpClientFactory.CreateClient(nameof(JDPayClient)))
-            {
-                var body = await client.DoPostAsync(request.GetRequestUrl(), content);
-
-                var parser = new JDPayXmlParser<T>();
-                var rsp = parser.Parse(JDPayUtility.FotmatXmlString(body));
-                if (!string.IsNullOrEmpty(rsp.Encrypt))
-                {
-                    var encrypt = rsp.Encrypt;
-                    var base64EncryptStr = Encoding.UTF8.GetString(Convert.FromBase64String(encrypt));
-                    var reqBody = JDPaySecurity.DecryptECB(base64EncryptStr, options.DesKeyBase64);
-
-                    var reqBodyDoc = new XmlDocument();
-                    reqBodyDoc.LoadXml(reqBody);
-
-                    var sign = JDPayUtility.GetValue(reqBodyDoc, "sign");
-                    var rootNode = reqBodyDoc.SelectSingleNode("jdpay");
-                    var signNode = rootNode.SelectSingleNode("sign");
-                    rootNode.RemoveChild(signNode);
-
-                    var reqBodyStr = JDPayUtility.ConvertXmlToString(reqBodyDoc);
-                    var xmlh = rsp.Body.Substring(0, rsp.Body.IndexOf("<jdpay>"));
-                    if (!string.IsNullOrEmpty(xmlh))
-                    {
-                        reqBodyStr = reqBodyStr.Replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", xmlh);
-                    }
-                    var sha256SourceSignString = SHA256.Compute(reqBodyStr);
-                    var decryptByte = RSA_ECB_PKCS1Padding.Decrypt(Convert.FromBase64String(sign), options.PublicKey);
-                    var decryptStr = JDPaySecurity.BytesToString(decryptByte);
-                    if (sha256SourceSignString == decryptStr)
-                    {
-                        rsp = parser.Parse(reqBody);
-                        rsp.Encrypt = encrypt;
-                    }
-                    else
-                    {
-                        throw new JDPayException("sign check fail: check Sign and Data Fail!");
-                    }
-                }
-                return rsp;
-            }
-        }
-
-        #endregion
-
-        #region IJDPayClient Members
-
-        public Task<T> PageExecuteAsync<T>(IJDPayRequest<T> request, JDPayOptions options) where T : JDPayResponse
-        {
-            // 字典排序
-            var sortedTxtParams = new JDPayDictionary(request.GetParameters());
-            var encyptParams = BuildEncryptDic(request, sortedTxtParams, options);
-            var rsp = Activator.CreateInstance<T>();
-
-            //输出post表单
-            rsp.Body = BuildHtmlRequest(request, encyptParams);
-            return Task.FromResult(rsp);
-        }
-
-        #endregion
-
-        #region IJDPayClient Members
-
-        public async Task<T> ExecuteAsync<T>(IJDPayNPP10Request<T> request, JDPayOptions options) where T : JDPayResponse
-        {
-            var sortedTxtParams = new JDPayDictionary(request.GetParameters())
-            {
-                { JDPayContants.CUSTOMER_NO, options.CustomerNo },
-                { JDPayContants.SIGN_TYPE, options.SignType }
-            };
-
-            var isEncrypt = false;
-
-            if (request is JDPayDefrayPayRequest)
-            {
-                isEncrypt = true;
-            }
-
-            var encryptDic = JDPaySecurity.EncryptData(options.PrivateCret, options.Password, options.PublicCert, sortedTxtParams, options.SingKey, options.EncryptType, isEncrypt);
-
-            var content = JDPayUtility.BuildQuery(encryptDic);
-
-            using (var client = _httpClientFactory.CreateClient(nameof(JDPayClient)))
-            {
-                var body = await client.DoPostAsync(request.GetRequestUrl(), content, "application/x-www-form-urlencoded");
-
-                // 验签
-                var dictionary = JsonConvert.DeserializeObject<JDPayDictionary>(body);
-                if (!JDPaySecurity.VerifySign(dictionary, options.SingKey))
-                {
-                    throw new JDPayException("sign check fail: check Sign and Data Fail!");
-                }
-
-                var rsp = JsonConvert.DeserializeObject<T>(body);
-                rsp.Body = body;
-                return rsp;
-            }
-        }
-
-        #endregion
-
-        #region Common Method
-
-        private string BuildEncryptXml<T>(IJDPayRequest<T> request, JDPayDictionary dictionary, JDPayOptions options) where T : JDPayResponse
-        {
-            var xmldoc = JDPayUtility.SortedDictionary2AllXml(dictionary);
-            var smlStr = JDPayUtility.ConvertXmlToString(xmldoc);
-            var sha256SourceSignString = SHA256.Compute(smlStr);
-            var encyptBytes = RSA_ECB_PKCS1Padding.Encrypt(Encoding.UTF8.GetBytes(sha256SourceSignString), options.PrivateKey);
-            var sign = Convert.ToBase64String(encyptBytes, Base64FormattingOptions.InsertLineBreaks);
-            var data = smlStr.Replace("</jdpay>", "<sign>" + sign + "</sign></jdpay>");
-            var encrypt = JDPaySecurity.EncryptECB(data, options.DesKeyBase64);
-            // 字典排序
-            var reqdic = new JDPayDictionary
-            {
-                { JDPayContants.VERSION, request.GetApiVersion() },
-                { JDPayContants.MERCHANT, options.Merchant },
-                { JDPayContants.ENCRYPT, Convert.ToBase64String(Encoding.UTF8.GetBytes(encrypt)) }
-            };
-
-            return JDPayUtility.SortedDictionary2XmlStr(reqdic);
-        }
-
-        private JDPayDictionary BuildEncryptDic<T>(IJDPayRequest<T> request, IDictionary<string, string> dictionary, JDPayOptions options) where T : JDPayResponse
-        {
-            var signDic = new JDPayDictionary(dictionary)
-            {
-                { JDPayContants.VERSION, request.GetApiVersion() },
-                { JDPayContants.MERCHANT, options.Merchant }
-            };
-
-            var signContent = JDPaySecurity.GetSignContent(signDic);
-            var sign = JDPaySecurity.RSASign(signContent, options.PrivateKey);
-
-            var encyptDic = new JDPayDictionary
-            {
-                { JDPayContants.VERSION, request.GetApiVersion() },
-                { JDPayContants.MERCHANT, options.Merchant },
-                { JDPayContants.SIGN, sign }
-            };
-
-            foreach (var iter in dictionary)
-            {
-                if (!string.IsNullOrEmpty(iter.Value))
-                {
-                    encyptDic.Add(iter.Key, JDPaySecurity.EncryptECB(iter.Value, options.DesKeyBase64));
-                }
-            }
-            return encyptDic;
-        }
-
-        private string BuildHtmlRequest<T>(IJDPayRequest<T> request, IDictionary<string, string> dictionary) where T : JDPayResponse
-        {
-            var sb = new StringBuilder();
-            sb.Append("<form id='submit' name='submit' action='" + request.GetRequestUrl() + "' method='post' style='display:none;'>");
-            foreach (var iter in dictionary)
-            {
-                if (!string.IsNullOrEmpty(iter.Value))
-                {
-                    sb.Append("<input  name='" + iter.Key + "' value='" + iter.Value + "'/>");
-                }
-            }
-            sb.Append("<input type='submit' style='display:none;'></form>");
-            sb.Append("<script>document.forms['submit'].submit();</script>");
-            return sb.ToString();
-        }
-
-        #endregion
-    }
-}

+ 0 - 65
src/Essensoft.AspNetCore.Payment.JDPay/JDPayDictionary.cs

@@ -1,65 +0,0 @@
-using System.Collections.Generic;
-
-namespace Essensoft.AspNetCore.Payment.JDPay
-{
-    /// <summary>
-    /// JDPay 字典类。
-    /// </summary>
-    public class JDPayDictionary : SortedDictionary<string, string>
-    {
-        public JDPayDictionary() { }
-
-        public JDPayDictionary(IDictionary<string, string> dictionary)
-            : base(dictionary)
-        { }
-
-        public void Add(string key, object value)
-        {
-            string strValue;
-
-            if (value == null)
-            {
-                strValue = null;
-            }
-            else if (value is string)
-            {
-                strValue = (string)value;
-            }
-            else if (value is int?)
-            {
-                strValue = (value as int?).Value.ToString();
-            }
-            else if (value is long?)
-            {
-                strValue = (value as long?).Value.ToString();
-            }
-            else if (value is double?)
-            {
-                strValue = (value as double?).Value.ToString();
-            }
-            else if (value is bool?)
-            {
-                strValue = (value as bool?).Value.ToString().ToLower();
-            }
-            else
-            {
-                strValue = value.ToString();
-            }
-
-            Add(key, strValue);
-        }
-
-        public new void Add(string key, string value)
-        {
-            if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
-            {
-                base.Add(key, value);
-            }
-        }
-
-        public string GetValue(string key)
-        {
-            return TryGetValue(key, out var o) ? o : null;
-        }
-    }
-}

+ 0 - 22
src/Essensoft.AspNetCore.Payment.JDPay/JDPayException.cs

@@ -1,22 +0,0 @@
-using System;
-
-namespace Essensoft.AspNetCore.Payment.JDPay
-{
-    /// <summary>
-    /// JDPay 异常。
-    /// </summary>
-    public class JDPayException : Exception
-    {
-        public JDPayException()
-        {
-        }
-
-        public JDPayException(string messages) : base(messages)
-        {
-        }
-
-        public JDPayException(string message, Exception innerException) : base(message, innerException)
-        {
-        }
-    }
-}

+ 0 - 16
src/Essensoft.AspNetCore.Payment.JDPay/JDPayNotify.cs

@@ -1,16 +0,0 @@
-using System.Xml.Serialization;
-
-namespace Essensoft.AspNetCore.Payment.JDPay
-{
-    /// <summary>
-    /// JDPay 通知。
-    /// </summary>
-    public abstract class JDPayNotify : JDPayObject
-    {
-        /// <summary>
-        /// 原始参数
-        /// </summary>
-        [XmlIgnore]
-        public JDPayDictionary Parameters { get; internal set; }
-    }
-}

+ 0 - 181
src/Essensoft.AspNetCore.Payment.JDPay/JDPayNotifyClient.cs

@@ -1,181 +0,0 @@
-#if NETCOREAPP3_1
-
-using System;
-using System.IO;
-using System.Text;
-using System.Threading.Tasks;
-using System.Xml;
-using Essensoft.AspNetCore.Payment.JDPay.Notify;
-using Essensoft.AspNetCore.Payment.JDPay.Parser;
-using Essensoft.AspNetCore.Payment.JDPay.Utility;
-using Essensoft.AspNetCore.Payment.Security;
-using Microsoft.AspNetCore.Http;
-
-namespace Essensoft.AspNetCore.Payment.JDPay
-{
-    /// <summary>
-    /// JDPay 通知解析客户端。
-    /// </summary>
-    public class JDPayNotifyClient : IJDPayNotifyClient
-    {
-        #region JDPayNotifyClient Constructors
-
-        public JDPayNotifyClient()
-        {
-        }
-
-        #endregion
-
-        #region IJDPayNotifyClient Members
-
-        public async Task<T> ExecuteAsync<T>(HttpRequest request, JDPayOptions options) where T : JDPayNotify
-        {
-            if (request.HasFormContentType || request.Method == "GET")
-            {
-                var rspInstance = Activator.CreateInstance<T>();
-
-                var parameters = GetParameters(request, options, !(rspInstance is JDPayDefrayPayNotify));
-
-                var parser = new JDPayDictionaryParser<T>();
-                var rsp = parser.Parse(parameters);
-
-                if (rsp is JDPayDefrayPayNotify)
-                {
-                    CheckNotifyDefrayPaySign(rsp.Parameters, options);
-                }
-                else
-                {
-                    CheckNotifySign(rsp.Parameters, options);
-                }
-
-                return rsp;
-            }
-
-            if (request.HasTextXmlContentType())
-            {
-                var body = await new StreamReader(request.Body).ReadToEndAsync();
-                var parser = new JDPayXmlParser<T>();
-                var rsp = parser.Parse(JDPayUtility.FotmatXmlString(body));
-                if (!string.IsNullOrEmpty(rsp.Encrypt))
-                {
-                    var encrypt = rsp.Encrypt;
-                    var base64EncryptStr = Encoding.UTF8.GetString(Convert.FromBase64String(encrypt));
-                    var reqBody = JDPaySecurity.DecryptECB(base64EncryptStr, options.DesKeyBase64);
-
-                    var reqBodyDoc = new XmlDocument();
-                    reqBodyDoc.LoadXml(reqBody);
-
-                    var sign = JDPayUtility.GetValue(reqBodyDoc, "sign");
-                    var rootNode = reqBodyDoc.SelectSingleNode("jdpay");
-                    var signNode = rootNode.SelectSingleNode("sign");
-                    rootNode.RemoveChild(signNode);
-
-                    var reqBodyStr = JDPayUtility.ConvertXmlToString(reqBodyDoc);
-                    var xmlh = rsp.Body.Substring(0, rsp.Body.IndexOf("<jdpay>"));
-                    if (!string.IsNullOrEmpty(xmlh))
-                    {
-                        reqBodyStr = reqBodyStr.Replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", xmlh);
-                    }
-
-                    var sha256SourceSignString = SHA256.Compute(reqBodyStr);
-                    var decryptByte = RSA_ECB_PKCS1Padding.Decrypt(Convert.FromBase64String(sign), options.PublicKey);
-                    var decryptStr = JDPaySecurity.BytesToString(decryptByte);
-                    if (sha256SourceSignString == decryptStr)
-                    {
-                        rsp = parser.Parse(reqBody);
-                        rsp.Encrypt = encrypt;
-                        return rsp;
-                    }
-
-                    throw new JDPayException("sign check fail: check Sign and Data Fail!");
-                }
-
-                throw new JDPayException("encrypt is Empty!");
-            }
-
-            throw new JDPayException("content type is not supported!");
-        }
-
-        #endregion
-
-        #region Common Method
-
-        private JDPayDictionary GetParameters(HttpRequest request, JDPayOptions options, bool isDecrypt = true)
-        {
-            var dictionary = new JDPayDictionary();
-
-            if (request.Method == "POST")
-            {
-                foreach (var iter in request.Form)
-                {
-                    if (!string.IsNullOrEmpty(iter.Value))
-                    {
-                        var value = iter.Value.ToString();
-                        if (isDecrypt)
-                        {
-                            value = iter.Key == JDPayContants.SIGN ? iter.Value.ToString() : JDPaySecurity.DecryptECB(iter.Value, options.DesKeyBase64);
-                        }
-                        dictionary.Add(iter.Key, value);
-                    }
-                }
-            }
-            else
-            {
-                foreach (var iter in request.Query)
-                {
-                    if (!string.IsNullOrEmpty(iter.Value))
-                    {
-                        var value = iter.Value.ToString();
-                        if (isDecrypt)
-                        {
-                            value = iter.Key == JDPayContants.SIGN ? iter.Value.ToString() : JDPaySecurity.DecryptECB(iter.Value, options.DesKeyBase64);
-                        }
-                        dictionary.Add(iter.Key, value);
-                    }
-                }
-            }
-            return dictionary;
-        }
-
-        private void CheckNotifySign(JDPayDictionary dictionary, JDPayOptions options)
-        {
-            if (dictionary.Count == 0)
-            {
-                throw new JDPayException("sign check fail: dictionary is Empty!");
-            }
-
-            if (!dictionary.TryGetValue(JDPayContants.SIGN, out var sign))
-            {
-                throw new JDPayException("sign check fail: sign is Empty!");
-            }
-
-            var signContent = JDPaySecurity.GetSignContent(dictionary);
-            if (!JDPaySecurity.RSACheckContent(signContent, sign, options.PublicKey))
-            {
-                throw new JDPayException("sign check fail: check Sign and Data Fail");
-            }
-        }
-
-        private void CheckNotifyDefrayPaySign(JDPayDictionary dictionary, JDPayOptions options)
-        {
-            if (dictionary.Count == 0)
-            {
-                throw new JDPayException("sign check fail: dictionary is Empty!");
-            }
-
-            if (!dictionary.TryGetValue(JDPayContants.SIGN_DATA, out _))
-            {
-                throw new JDPayException("sign check fail: sign is Empty!");
-            }
-
-            if (!JDPaySecurity.VerifySign(dictionary, options.SingKey))
-            {
-                throw new JDPayException("sign check fail: check Sign and Data Fail!");
-            }
-        }
-
-        #endregion
-    }
-}
-
-#endif

+ 0 - 33
src/Essensoft.AspNetCore.Payment.JDPay/JDPayNotifyResult.cs

@@ -1,33 +0,0 @@
-#if NETCOREAPP3_1
-
-using Microsoft.AspNetCore.Mvc;
-
-namespace Essensoft.AspNetCore.Payment.JDPay
-{
-    /// <summary>
-    /// JDPay 通知应答。
-    /// </summary>
-    public static class JDPayNotifyResult
-    {
-        private static readonly ContentResult _success = new ContentResult { Content = "success", ContentType = "text/plain", StatusCode = 200 };
-        private static readonly ContentResult _ok = new ContentResult { Content = "ok", ContentType = "text/plain", StatusCode = 200 };
-        private static readonly ContentResult _failure = new ContentResult { Content = "failure", ContentType = "text/plain", StatusCode = 200 };
-
-        /// <summary>
-        /// 成功
-        /// </summary>
-        public static IActionResult Success => _success;
-
-        /// <summary>
-        /// 成功
-        /// </summary>
-        public static IActionResult Ok => _ok;
-
-        /// <summary>
-        /// 失败
-        /// </summary>
-        public static IActionResult Failure => _failure;
-    }
-}
-
-#endif

+ 0 - 22
src/Essensoft.AspNetCore.Payment.JDPay/JDPayObject.cs

@@ -1,22 +0,0 @@
-using System.Xml.Serialization;
-
-namespace Essensoft.AspNetCore.Payment.JDPay
-{
-    /// <summary>
-    /// JDPay 基础对象。
-    /// </summary>
-    public abstract class JDPayObject
-    {
-        /// <summary>
-        /// 原始内容
-        /// </summary>
-        [XmlIgnore]
-        public string Body { get; set; }
-
-        /// <summary>
-        /// 加密报文
-        /// </summary>
-        [XmlElement("encrypt")]
-        public string Encrypt { get; set; }
-    }
-}

+ 0 - 108
src/Essensoft.AspNetCore.Payment.JDPay/JDPayOptions.cs

@@ -1,108 +0,0 @@
-using System;
-using Essensoft.AspNetCore.Payment.Security;
-using Org.BouncyCastle.Crypto;
-
-namespace Essensoft.AspNetCore.Payment.JDPay
-{
-    /// <summary>
-    /// JDPay 选项。
-    /// </summary>
-    public class JDPayOptions
-    {
-        internal byte[] DesKeyBase64;
-        internal ICipherParameters PrivateKey;
-        internal ICipherParameters PublicKey;
-
-        private string desKey;
-        private string rsaPrivateKey;
-        private string rsaPublicKey;
-
-        /// <summary>
-        /// 商户号
-        /// </summary>
-        public string Merchant { get; set; }
-
-        /// <summary>
-        /// 京东DES秘钥
-        /// </summary>
-        public string DesKey
-        {
-            get => desKey;
-            set
-            {
-                desKey = value;
-                if (!string.IsNullOrEmpty(desKey))
-                {
-                    DesKeyBase64 = Convert.FromBase64String(desKey);
-                }
-            }
-        }
-
-        /// <summary>
-        /// 京东RSA公钥
-        /// </summary>
-        public string RsaPublicKey
-        {
-            get => rsaPublicKey;
-            set
-            {
-                rsaPublicKey = value;
-                if (!string.IsNullOrEmpty(rsaPublicKey))
-                {
-                    PublicKey = RSAUtilities.GetKeyParameterFormPublicKey(rsaPublicKey);
-                }
-            }
-        }
-
-        /// <summary>
-        /// 商户RSA私钥
-        /// </summary>
-        public string RsaPrivateKey
-        {
-            get => rsaPrivateKey;
-            set
-            {
-                rsaPrivateKey = value;
-                if (!string.IsNullOrEmpty(rsaPrivateKey))
-                {
-                    PrivateKey = RSAUtilities.GetKeyParameterFormPrivateKey(rsaPrivateKey);
-                }
-            }
-        }
-
-        /// <summary>
-        /// 京东代付 提交者会员号
-        /// </summary>
-        public string CustomerNo { get; set; }
-
-        /// <summary>
-        /// 京东代付 签名Key
-        /// </summary>
-        public string SingKey { get; set; }
-
-        /// <summary>
-        /// 京东代付 密钥文件密码
-        /// </summary>
-        public string Password { get; set; }
-
-        /// <summary>
-        /// 京东代付 密钥证书文件
-        /// </summary>
-        public string PrivateCret { get; set; }
-
-        /// <summary>
-        /// 京东代付 代付证书文件
-        /// </summary>
-        public string PublicCert { get; set; }
-
-        /// <summary>
-        /// 京东代付 加密类型 RSA
-        /// </summary>
-        public string EncryptType { get; set; } = "RSA";
-
-        /// <summary>
-        /// 京东代付 签名类型 SHA-256
-        /// </summary>
-        public string SignType { get; set; } = "SHA-256";
-    }
-}

+ 0 - 9
src/Essensoft.AspNetCore.Payment.JDPay/JDPayResponse.cs

@@ -1,9 +0,0 @@
-namespace Essensoft.AspNetCore.Payment.JDPay
-{
-    /// <summary>
-    /// JDPay 响应。
-    /// </summary>
-    public abstract class JDPayResponse : JDPayObject
-    {
-    }
-}

+ 0 - 100
src/Essensoft.AspNetCore.Payment.JDPay/Notify/JDPayAsyncNotify.cs

@@ -1,100 +0,0 @@
-using System.Collections.Generic;
-using System.Xml.Serialization;
-using Essensoft.AspNetCore.Payment.JDPay.Domain;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Notify
-{
-    /// <summary>
-    /// 异步通知接口
-    /// </summary>
-    [XmlRoot("jdpay")]
-    public class JDPayAsyncNotify : JDPayNotify
-    {
-        /// <summary>
-        /// 版本号
-        /// </summary>
-        [XmlElement("version")]
-        public string Version { get; set; }
-
-        /// <summary>
-        /// 商户号
-        /// </summary>
-        [XmlElement("merchant")]
-        public string Merchant { get; set; }
-
-        /// <summary>
-        /// 门店号
-        /// </summary>
-        [XmlElement("device")]
-        public string Device { get; set; }
-
-        /// <summary>
-        /// 交易流水
-        /// </summary>
-        [XmlElement("tradeNum")]
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 交易类型
-        /// </summary>
-        [XmlElement("tradeType")]
-        public string TradeType { get; set; }
-
-        /// <summary>
-        /// 返回信息
-        /// </summary>
-        [XmlElement("result")]
-        public Result Result { get; set; }
-
-        /// <summary>
-        /// 数据签名
-        /// </summary>
-        [XmlElement("sign")]
-        public string Sign { get; set; }
-
-        /// <summary>
-        /// 交易备注
-        /// </summary>
-        [XmlElement("note")]
-        public string Note { get; set; }
-
-        /// <summary>
-        /// 交易金额
-        /// </summary>
-        [XmlElement("amount")]
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 交易状态
-        /// </summary>
-        [XmlElement("status")]
-        public string Status { get; set; }
-
-        /// <summary>
-        /// 明细列表
-        /// </summary>
-        [XmlArray("payList")]
-        [XmlArrayItem("pay")]
-        public List<PayTradeVo> PayList { get; set; }
-
-        // 退款通知 部分数据
-
-        /// <summary>
-        /// 原交易流水号
-        /// </summary>
-        [XmlElement("oTradeNum")]
-        public string OTradeNum { get; set; }
-
-        /// <summary>
-        /// 交易币种
-        /// </summary>
-        [XmlElement("currency")]
-        public string Currency { get; set; }
-
-        /// <summary>
-        /// 交易时间
-        /// </summary>
-        [XmlElement("tradeTime")]
-        public string TradeTime { get; set; }
-    }
-}

+ 0 - 178
src/Essensoft.AspNetCore.Payment.JDPay/Notify/JDPayDefrayPayNotify.cs

@@ -1,178 +0,0 @@
-using System.Xml.Serialization;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Notify
-{
-    /// <summary>
-    /// 代付交易 - 异步通知接口
-    /// </summary>
-    public class JDPayDefrayPayNotify : JDPayNotify
-    {
-        /// <summary>
-        /// 提交者会员号
-        /// </summary>
-        [XmlElement("customer_no")]
-        public string CustomerNo { get; set; }
-
-        /// <summary>
-        /// 商户账户号
-        /// </summary>
-        [XmlElement("merchant_no")]
-        public string MerchantNo { get; set; }
-
-        /// <summary>
-        /// 签名方式
-        /// </summary>
-        [XmlElement("sign_type")]
-        public string SignType { get; set; }
-
-        /// <summary>
-        /// 签名数据
-        /// </summary>
-        [XmlElement("sign_data")]
-        public string SignData { get; set; }
-
-        /// <summary>
-        /// 商户订单流水号
-        /// </summary>
-        [XmlElement("out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        /// <summary>
-        /// 业务订单流水号
-        /// </summary>
-        [XmlElement("biz_trade_no")]
-        public string BizTradeNo { get; set; }
-
-        /// <summary>
-        /// 外部交易日
-        /// </summary>
-        [XmlElement("out_trade_date")]
-        public string OutTradeDate { get; set; }
-
-        /// <summary>
-        /// 交易类别
-        /// </summary>
-        [XmlElement("trade_class")]
-        public string TradeClass { get; set; }
-
-        /// <summary>
-        /// 订单摘要
-        /// </summary>
-        [XmlElement("trade_subject")]
-        public string TradeSubject { get; set; }
-
-        /// <summary>
-        /// 交易号
-        /// </summary>
-        [XmlElement("trade_no")]
-        public string TradeNo { get; set; }
-
-        /// <summary>
-        /// 卖方信息
-        /// </summary>
-        [XmlElement("seller_info")]
-        public string SellerInfo { get; set; }
-
-        /// <summary>
-        /// 买方信息
-        /// </summary>
-        [XmlElement("buyer_info")]
-        public string BuyerInfo { get; set; }
-
-        /// <summary>
-        /// 订单交易金额
-        /// </summary>
-        [XmlElement("trade_amount")]
-        public string TradeAmount { get; set; }
-
-        /// <summary>
-        /// 订单交易币种
-        /// </summary>
-        [XmlElement("trade_currency")]
-        public string TradeCurrency { get; set; }
-
-        /// <summary>
-        /// 已退款金额
-        /// </summary>
-        [XmlElement("refund_amount")]
-        public string RefundAmount { get; set; }
-
-        /// <summary>
-        /// 商户售卖的商品分类码
-        /// </summary>
-        [XmlElement("category_code")]
-        public string CategoryCode { get; set; }
-
-        /// <summary>
-        /// 已确认金额
-        /// </summary>
-        [XmlElement("confirm_amount")]
-        public string ConfirmAmount { get; set; }
-
-        /// <summary>
-        /// 交易响应码
-        /// </summary>
-        [XmlElement("trade_respcode")]
-        public string TradeRespcode { get; set; }
-
-        /// <summary>
-        /// 交易响应描述
-        /// </summary>
-        [XmlElement("trade_respmsg")]
-        public string TradeRespmsg { get; set; }
-
-        /// <summary>
-        /// 交易状态
-        /// </summary>
-        [XmlElement("trade_status")]
-        public string TradeStatus { get; set; }
-
-        /// <summary>
-        /// 支付完成日
-        /// </summary>
-        [XmlElement("trade_pay_date")]
-        public string TradePayDate { get; set; }
-
-        /// <summary>
-        /// 支付完时间
-        /// </summary>
-        [XmlElement("trade_pay_time")]
-        public string TradePayTime { get; set; }
-
-        /// <summary>
-        /// 支付工具
-        /// </summary>
-        [XmlElement("pay_tool")]
-        public string PayTool { get; set; }
-
-        /// <summary>
-        /// 支付银行
-        /// </summary>
-        [XmlElement("bank_code")]
-        public string BankCode { get; set; }
-
-        /// <summary>
-        /// 支付卡种
-        /// </summary>
-        [XmlElement("card_type")]
-        public string CardType { get; set; }
-
-        /// <summary>
-        /// 交易完成日
-        /// </summary>
-        [XmlElement("trade_finish_date")]
-        public string TradeFinishDate { get; set; }
-
-        /// <summary>
-        /// 交易完时间
-        /// </summary>
-        [XmlElement("trade_finish_time")]
-        public string TradeFinishTime { get; set; }
-
-        /// <summary>
-        /// 订单返回信息
-        /// </summary>
-        [XmlElement("return_params")]
-        public string ReturnParams { get; set; }
-    }
-}

+ 0 - 53
src/Essensoft.AspNetCore.Payment.JDPay/Notify/JDPaySyncReturn.cs

@@ -1,53 +0,0 @@
-using System.Xml.Serialization;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Notify
-{
-    /// <summary>
-    /// 支付成功页面跳转
-    /// </summary>
-    [XmlRoot("jdpay")]
-    public class JDPaySyncReturn : JDPayNotify
-    {
-        /// <summary>
-        /// 交易流水号
-        /// </summary>
-        [XmlElement("tradeNum")]
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 交易金额
-        /// </summary>
-        [XmlElement("amount")]
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 货币种类
-        /// </summary>
-        [XmlElement("currency")]
-        public string Currency { get; set; }
-
-        /// <summary>
-        /// 交易时间
-        /// </summary>
-        [XmlElement("tradeTime")]
-        public string TradeTime { get; set; }
-
-        /// <summary>
-        /// 交易备注
-        /// </summary>
-        [XmlElement("note")]
-        public string Note { get; set; }
-
-        /// <summary>
-        /// 交易状态
-        /// </summary>
-        [XmlElement("status")]
-        public string Status { get; set; }
-
-        /// <summary>
-        /// 交易信息签名
-        /// </summary>
-        [XmlElement("sign")]
-        public string Sign { get; set; }
-    }
-}

+ 0 - 10
src/Essensoft.AspNetCore.Payment.JDPay/Parser/IJDPayParser.cs

@@ -1,10 +0,0 @@
-namespace Essensoft.AspNetCore.Payment.JDPay.Parser
-{
-    /// <summary>
-    /// 京东支付结果解析
-    /// </summary>
-    public interface IJDPayParser<T> where T : JDPayObject
-    {
-        T Parse(string body);
-    }
-}

+ 0 - 69
src/Essensoft.AspNetCore.Payment.JDPay/Parser/JDPayDictionaryParser.cs

@@ -1,69 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-using System.Xml.Serialization;
-using Essensoft.AspNetCore.Payment.JDPay.Utility;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Parser
-{
-    /// <summary>
-    /// JDPay 字典解释器。
-    /// </summary>
-    /// <typeparam name="T"></typeparam>
-    public class JDPayDictionaryParser<T> where T : JDPayNotify
-    {
-        private static readonly Dictionary<Type, Dictionary<string, PropertyInfo>> DicProperties = new Dictionary<Type, Dictionary<string, PropertyInfo>>();
-
-        public T Parse(JDPayDictionary dictionary)
-        {
-            if (dictionary == null || dictionary.Count == 0)
-            {
-                throw new ArgumentNullException(nameof(dictionary));
-            }
-
-            if (!DicProperties.ContainsKey(typeof(T)))
-            {
-                DicProperties[typeof(T)] = GetPropertiesMap(typeof(T));
-            }
-
-            var propertiesMap = DicProperties[typeof(T)];
-
-            var rsp = Activator.CreateInstance<T>();
-
-            foreach (var item in dictionary)
-            {
-                if (propertiesMap.ContainsKey(item.Key))
-                {
-                    propertiesMap[item.Key].SetValue(rsp, item.Value.TryTo(propertiesMap[item.Key].PropertyType));
-                }
-            }
-
-            if (rsp != null)
-            {
-                rsp.Parameters = dictionary;
-            }
-
-            return rsp;
-        }
-
-        private Dictionary<string, PropertyInfo> GetPropertiesMap(Type type)
-        {
-            if (type == null)
-            {
-                throw new ArgumentNullException(nameof(type));
-            }
-
-            var propertiesMap = new Dictionary<string, PropertyInfo>();
-            var query = from e in typeof(T).GetProperties()
-                        where e.CanWrite && e.GetCustomAttributes(typeof(XmlElementAttribute), true).Any()
-                        select new { Property = e, Element = e.GetCustomAttributes(typeof(XmlElementAttribute), true).OfType<XmlElementAttribute>().First() };
-            foreach (var item in query)
-            {
-                propertiesMap.Add(item.Element.ElementName, item.Property);
-            }
-
-            return propertiesMap;
-        }
-    }
-}

+ 0 - 41
src/Essensoft.AspNetCore.Payment.JDPay/Parser/JDPayXmlParser.cs

@@ -1,41 +0,0 @@
-using System;
-using System.IO;
-using System.Xml.Serialization;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Parser
-{
-    /// <summary>
-    /// JDPay XML 解释器。
-    /// </summary>
-    /// <typeparam name="T"></typeparam>
-    public class JDPayXmlParser<T> : IJDPayParser<T> where T : JDPayObject
-    {
-        public T Parse(string body)
-        {
-            T rsp = null;
-
-            try
-            {
-                using (var sr = new StringReader(body))
-                {
-                    var xmldes = new XmlSerializer(typeof(T));
-                    rsp = (T)xmldes.Deserialize(sr);
-                }
-            }
-            catch
-            { }
-
-            if (rsp == null)
-            {
-                rsp = Activator.CreateInstance<T>();
-            }
-
-            if (rsp != null)
-            {
-                rsp.Body = body;
-            }
-
-            return rsp;
-        }
-    }
-}

+ 0 - 65
src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayAccountQueryRequest.cs

@@ -1,65 +0,0 @@
-using System.Collections.Generic;
-using Essensoft.AspNetCore.Payment.JDPay.Response;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Request
-{
-    /// <summary>
-    /// 余额查询接口
-    /// </summary>
-    public class JDPayAccountQueryRequest : IJDPayNPP10Request<JDPayAccountQueryResponse>
-    {
-        /// <summary>
-        /// 请求时间
-        /// </summary>
-        public string RequestDatetime { get; set; }
-
-        /// <summary>
-        /// 商户订单流水号
-        /// </summary>
-        public string OutTradeNo { get; set; }
-
-        /// <summary>
-        /// 外部订单日
-        /// </summary>
-        public string OutTradeDate { get; set; }
-
-        /// <summary>
-        /// 会员信息
-        /// </summary>
-        public string BuyerInfo { get; set; }
-
-        /// <summary>
-        /// 查询类型
-        /// </summary>
-        public string QueryType { get; set; }
-
-        /// <summary>
-        /// 账户类型码
-        /// </summary>
-        public string LedgerType { get; set; }
-
-        #region IJDPayNPP10Request
-
-        public IDictionary<string, string> GetParameters()
-        {
-            var parameters = new JDPayDictionary
-            {
-                { "request_datetime", RequestDatetime },
-                { "out_trade_no",  OutTradeNo },
-                { "out_trade_date", OutTradeDate },
-                { "buyer_info", BuyerInfo },
-                { "query_type", QueryType },
-                { "ledger_type", LedgerType }
-            };
-
-            return parameters;
-        }
-
-        public string GetRequestUrl()
-        {
-            return "https://mapi.jdpay.com/npp10/account_query";
-        }
-
-        #endregion
-    }
-}

+ 0 - 46
src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayCancelUserRelationRequest.cs

@@ -1,46 +0,0 @@
-using System.Collections.Generic;
-using Essensoft.AspNetCore.Payment.JDPay.Response;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Request
-{
-    /// <summary>
-    /// 用户关系解绑接口
-    /// </summary>
-    public class JDPayCancelUserRelationRequest : IJDPayRequest<JDPayCancelUserRelationResponse>
-    {
-        /// <summary>
-        /// 商户用户标识
-        /// </summary>
-        public string UserId { get; set; }
-
-        #region IJDPayRequest Members
-
-        private string ApiVersion = "V2.0";
-
-        public string GetRequestUrl()
-        {
-            return "https://paygate.jd.com/service/cancelUserRelation";
-        }
-
-        public void SetApiVersion(string apiVersion)
-        {
-            ApiVersion = apiVersion;
-        }
-
-        public string GetApiVersion()
-        {
-            return ApiVersion;
-        }
-
-        public IDictionary<string, string> GetParameters()
-        {
-            var parameters = new JDPayDictionary
-            {
-                { "userId", UserId }
-            };
-            return parameters;
-        }
-
-        #endregion
-    }
-}

+ 0 - 141
src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayCustomerPayRequest.cs

@@ -1,141 +0,0 @@
-using System.Collections.Generic;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Request
-{
-    /// <summary>
-    /// 商户二维码支付接口
-    /// </summary>
-    public class JDPayCustomerPayRequest : IJDPayRequest<JDPayResponse>
-    {
-        /// <summary>
-        /// 收款商户
-        /// </summary>
-        public string PayMerchant { get; set; }
-
-        /// <summary>
-        /// 门店号
-        /// </summary>
-        public string Device { get; set; }
-
-        /// <summary>
-        /// 交易流水号
-        /// </summary>
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 交易名称
-        /// </summary>
-        public string TradeName { get; set; }
-
-        /// <summary>
-        /// 交易描述
-        /// </summary>
-        public string TradeDesc { get; set; }
-
-        /// <summary>
-        /// 交易时间
-        /// </summary>
-        public string TradeTime { get; set; }
-
-        /// <summary>
-        /// 交易金额
-        /// </summary>
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 订单类型
-        /// </summary>
-        public string OrderType { get; set; }
-
-        /// <summary>
-        /// 业务类型
-        /// </summary>
-        public string IndustryCategoryCode { get; set; }
-
-        /// <summary>
-        /// 货币种类
-        /// </summary>
-        public string Currency { get; set; }
-
-
-        /// <summary>
-        /// 交易类型
-        /// </summary>
-        public string TradeType { get; set; }
-
-        /// <summary>
-        /// 商户备注
-        /// </summary>
-        public string Note { get; set; }
-
-        /// <summary>
-        /// 支付成功跳转路径
-        /// </summary>
-        public string CallbackUrl { get; set; }
-
-        /// <summary>
-        /// 异步通知页面地址
-        /// </summary>
-        public string NotifyUrl { get; set; }
-
-        /// <summary>
-        /// 用户IP
-        /// </summary>
-        public string Ip { get; set; }
-
-        /// <summary>
-        /// 订单失效时长
-        /// </summary>
-        public string ExpireTime { get; set; }
-
-        /// <summary>
-        /// 风控信息
-        /// </summary>
-        public string RiskInfo { get; set; }
-
-        #region IJDPayRequest Members
-
-        private string ApiVersion = "V2.0";
-
-        public string GetRequestUrl()
-        {
-            return "https://h5pay.jd.com/jdpay/customerPay";
-        }
-
-        public void SetApiVersion(string apiVersion)
-        {
-            ApiVersion = apiVersion;
-        }
-
-        public string GetApiVersion()
-        {
-            return ApiVersion;
-        }
-
-        public IDictionary<string, string> GetParameters()
-        {
-            var parameters = new JDPayDictionary
-            {
-                { "payMerchant", PayMerchant },
-                { "device", Device},
-                { "tradeNum",TradeNum },
-                { "tradeName", TradeName},
-                { "tradeDesc", TradeDesc },
-                { "tradeTime", TradeTime },
-                { "amount", Amount },
-                { "orderType", OrderType },
-                { "industryCategoryCode", IndustryCategoryCode },
-                { "currency", Currency },
-                { "tradeType", TradeType },
-                { "note", Note },
-                { "callbackUrl", CallbackUrl},
-                { "notifyUrl", NotifyUrl },
-                { "ip", Ip },
-                { "riskInfo", RiskInfo }
-            };
-            return parameters;
-        }
-
-        #endregion
-    }
-}

+ 0 - 203
src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayDefrayPayRequest.cs

@@ -1,203 +0,0 @@
-using System.Collections.Generic;
-using Essensoft.AspNetCore.Payment.JDPay.Response;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Request
-{
-    /// <summary>
-    /// 代付交易请求接口
-    /// </summary>
-    public class JDPayDefrayPayRequest : IJDPayNPP10Request<JDPayDefrayPayResponse>
-    {
-        /// <summary>
-        /// 请求时间
-        /// </summary>
-        public string RequestDatetime { get; set; }
-
-        /// <summary>
-        /// 商户订单流水号
-        /// </summary>
-        public string OutTradeNo { get; set; }
-
-        /// <summary>
-        /// 业务订单流水号
-        /// </summary>
-        public string BizTradeNo { get; set; }
-
-        /// <summary>
-        /// 外部订单日
-        /// </summary>
-        public string OutTradeDate { get; set; }
-
-        /// <summary>
-        /// 订单交易金额
-        /// </summary>
-        public string TradeAmount { get; set; }
-
-        /// <summary>
-        /// 币种
-        /// </summary>
-        public string TradeCurrency { get; set; }
-
-        /// <summary>
-        /// 卖方信息
-        /// </summary>
-        public string SellerInfo { get; set; }
-
-        /// <summary>
-        /// 订单摘要
-        /// </summary>
-        public string TradeSubject { get; set; }
-
-        /// <summary>
-        /// 商户售卖的商品分类码
-        /// </summary>
-        public string CategoryCode { get; set; }
-
-        /// <summary>
-        /// 支付工具
-        /// </summary>
-        public string PayTool { get; set; }
-
-        /// <summary>
-        /// 提交业务渠道
-        /// </summary>
-        public string TradeSource { get; set; }
-
-        /// <summary>
-        /// 收款银行编码
-        /// </summary>
-        public string PayeeBankCode { get; set; }
-
-        /// <summary>
-        /// 收款联行号
-        /// </summary>
-        public string PayeeBankAssociatedCode { get; set; }
-
-        /// <summary>
-        /// 收款银行全称
-        /// </summary>
-        public string PayeeBankFullname { get; set; }
-
-        /// <summary>
-        /// 收款行所在国家地区码
-        /// </summary>
-        public string PayeeBankCountryCode { get; set; }
-
-        /// <summary>
-        /// 收款行所在省编码
-        /// </summary>
-        public string PayeeBankProvinceCode { get; set; }
-
-        /// <summary>
-        /// 收款行所在市编码
-        /// </summary>
-        public string PayeeBankCityCode { get; set; }
-
-        /// <summary>
-        /// 收款卡种
-        /// </summary>
-        public string PayeeCardType { get; set; }
-
-        /// <summary>
-        /// 收款账户类型
-        /// </summary>
-        public string PayeeAccountType { get; set; }
-
-        /// <summary>
-        /// 收款账户号
-        /// </summary>
-        public string PayeeAccountNo { get; set; }
-
-        /// <summary>
-        /// 收款账户名称
-        /// </summary>
-        public string PayeeAccountName { get; set; }
-
-        /// <summary>
-        /// 持卡人证件类型
-        /// </summary>
-        public string PayeeIdType { get; set; }
-
-        /// <summary>
-        /// 持卡人证件号
-        /// </summary>
-        public string PayeeIdNo { get; set; }
-
-        /// <summary>
-        /// 持卡人手机
-        /// </summary>
-        public string PayeeMobile { get; set; }
-
-        /// <summary>
-        /// 服务器通知地址
-        /// </summary>
-        public string NotifyUrl { get; set; }
-
-        /// <summary>
-        /// 交易回传参数
-        /// </summary>
-        public string ReturnParams { get; set; }
-
-        /// <summary>
-        /// 扩展参数
-        /// </summary>
-        public string ExtendParams { get; set; }
-
-        /// <summary>
-        /// 银行卡信息类型
-        /// </summary>
-        public string BankCardInfoType { get; set; }
-
-        /// <summary>
-        /// 卡ID
-        /// </summary>
-        public string BankCardId { get; set; }
-
-        #region IJDPayNPP10Request
-
-        public IDictionary<string, string> GetParameters()
-        {
-            var parameters = new JDPayDictionary
-            {
-                { "request_datetime", RequestDatetime },
-                { "out_trade_no",  OutTradeNo },
-                { "biz_trade_no", BizTradeNo },
-                { "out_trade_date", OutTradeDate },
-                { "trade_amount", TradeAmount },
-                { "trade_currency", TradeCurrency },
-                { "seller_info", SellerInfo },
-                { "trade_subject", TradeSubject },
-                { "category_code", CategoryCode },
-                { "pay_tool", PayTool },
-                { "trade_source", TradeSource },
-                { "payee_bank_code", PayeeBankCode },
-                { "payee_bank_associated_code", PayeeBankAssociatedCode },
-                { "payee_bank_fullname", PayeeBankFullname },
-                { "payee_bank_country_code", PayeeBankCountryCode },
-                { "payee_bank_province_code", PayeeBankProvinceCode },
-                { "payee_bank_city_code", PayeeBankCityCode },
-                { "payee_card_type", PayeeCardType },
-                { "payee_account_type", PayeeAccountType },
-                { "payee_account_no", PayeeAccountNo },
-                { "payee_account_name", PayeeAccountName },
-                { "payee_id_type", PayeeIdType },
-                { "payee_id_no", PayeeIdNo },
-                { "payee_mobile", PayeeMobile },
-                { "notify_url", NotifyUrl },
-                { "return_params", ReturnParams },
-                { "extend_params", ExtendParams },
-                { "bank_card_info_type", BankCardInfoType },
-                { "bank_card_id", BankCardId }
-            };
-
-            return parameters;
-        }
-
-        public string GetRequestUrl()
-        {
-            return "https://mapi.jdpay.com/npp10/defray_pay";
-        }
-
-        #endregion
-    }
-}

+ 0 - 148
src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayFKMPayRequest.cs

@@ -1,148 +0,0 @@
-using System.Collections.Generic;
-using Essensoft.AspNetCore.Payment.JDPay.Response;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Request
-{
-    /// <summary>
-    /// 付款码支付接口
-    /// </summary>
-    public class JDPayFKMPayRequest : IJDPayRequest<JDPayFKMPayResponse>
-    {
-        /// <summary>
-        /// 付款码
-        /// </summary>
-        public string Token { get; set; }
-
-        /// <summary>
-        /// 门店号
-        /// </summary>
-        public string Device { get; set; }
-
-        /// <summary>
-        /// 交易流水号
-        /// </summary>
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 交易名称
-        /// </summary>
-        public string TradeName { get; set; }
-
-        /// <summary>
-        /// 交易描述
-        /// </summary>
-        public string TradeDesc { get; set; }
-
-        /// <summary>
-        /// 交易时间
-        /// </summary>
-        public string TradeTime { get; set; }
-
-        /// <summary>
-        /// 交易金额
-        /// </summary>
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 业务类型
-        /// </summary>
-        public string IndustryCategoryCode { get; set; }
-
-        /// <summary>
-        /// 货币种类
-        /// </summary>
-        public string Currency { get; set; }
-
-        /// <summary>
-        /// 商户备注
-        /// </summary>
-        public string Note { get; set; }
-
-        /// <summary>
-        /// 异步通知页面地址
-        /// </summary>
-        public string NotifyUrl { get; set; }
-
-        /// <summary>
-        /// 订单商品数量
-        /// </summary>
-        public string OrderGoodsNum { get; set; }
-
-        /// <summary>
-        /// 厂商编码
-        /// </summary>
-        public string VendorId { get; set; }
-
-        /// <summary>
-        /// 商品信息列表
-        /// </summary>
-        public string GoodsInfoList { get; set; }
-
-        /// <summary>
-        /// 收货信息
-        /// </summary>
-        public string ReceiverInfo { get; set; }
-
-        /// <summary>
-        /// 终端信息
-        /// </summary>
-        public string TermInfo { get; set; }
-
-        /// <summary>
-        /// 收款商户
-        /// </summary>
-        public string PayMerchant { get; set; }
-
-        /// <summary>
-        /// 风控信息
-        /// </summary>
-        public string RiskInfo { get; set; }
-
-        #region IJDPayRequest Members
-
-        private string ApiVersion = "V2.0";
-
-        public string GetRequestUrl()
-        {
-            return "https://paygate.jd.com/service/fkmPay";
-        }
-
-        public void SetApiVersion(string apiVersion)
-        {
-            ApiVersion = apiVersion;
-        }
-
-        public string GetApiVersion()
-        {
-            return ApiVersion;
-        }
-
-        public IDictionary<string, string> GetParameters()
-        {
-            var parameters = new JDPayDictionary
-            {
-                { "token", Token },
-                { "device", Device},
-                { "tradeNum",TradeNum },
-                { "tradeName", TradeName},
-                { "tradeDesc", TradeDesc },
-                { "tradeTime", TradeTime },
-                { "amount", Amount },
-                { "industryCategoryCode", IndustryCategoryCode },
-                { "currency", Currency },
-                { "note", Note },
-                { "notifyUrl", NotifyUrl },
-                { "orderGoodsNum", OrderGoodsNum },
-                { "vendorId", VendorId },
-                { "goodsInfoList", GoodsInfoList },
-                { "receiverInfo", ReceiverInfo },
-                { "termInfo", TermInfo },
-                { "payMerchant", PayMerchant },
-                { "riskInfo", RiskInfo }
-            };
-            return parameters;
-        }
-
-        #endregion
-    }
-}

+ 0 - 46
src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayGetUserRelationRequest.cs

@@ -1,46 +0,0 @@
-using System.Collections.Generic;
-using Essensoft.AspNetCore.Payment.JDPay.Response;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Request
-{
-    /// <summary>
-    /// 用户关系查询接口
-    /// </summary>
-    public class JDPayGetUserRelationRequest : IJDPayRequest<JDPayGetUserRelationResponse>
-    {
-        /// <summary>
-        /// 商户用户标识
-        /// </summary>
-        public string UserId { get; set; }
-
-        #region IJDPayRequest Members
-
-        private string ApiVersion = "V2.0";
-
-        public string GetRequestUrl()
-        {
-            return "https://paygate.jd.com/service/getUserRelation";
-        }
-
-        public void SetApiVersion(string apiVersion)
-        {
-            ApiVersion = apiVersion;
-        }
-
-        public string GetApiVersion()
-        {
-            return ApiVersion;
-        }
-
-        public IDictionary<string, string> GetParameters()
-        {
-            var parameters = new JDPayDictionary
-            {
-                { "userId", UserId }
-            };
-            return parameters;
-        }
-
-        #endregion
-    }
-}

+ 0 - 59
src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayQueryRefundRequest.cs

@@ -1,59 +0,0 @@
-using System.Collections.Generic;
-using Essensoft.AspNetCore.Payment.JDPay.Response;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Request
-{
-    /// <summary>
-    /// 正单号退款查询接口
-    /// </summary>
-    public class JDPayQueryRefundRequest : IJDPayRequest<JDPayQueryRefundResponse>
-    {
-        /// <summary>
-        /// 交易流水号
-        /// </summary>
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 原交易流水号
-        /// </summary>
-        public string OTradeNum { get; set; }
-
-        /// <summary>
-        /// 交易类型
-        /// </summary>
-        public string TradeType { get; set; }
-
-
-        #region IJDPayRequest Members
-
-        private string ApiVersion = "V2.0";
-
-        public string GetRequestUrl()
-        {
-            return "https://paygate.jd.com/service/queryRefund";
-        }
-
-        public void SetApiVersion(string apiVersion)
-        {
-            ApiVersion = apiVersion;
-        }
-
-        public string GetApiVersion()
-        {
-            return ApiVersion;
-        }
-
-        public IDictionary<string, string> GetParameters()
-        {
-            var parameters = new JDPayDictionary
-            {
-                { "tradeNum", TradeNum },
-                { "oTradeNum", OTradeNum },
-                { "tradeType", TradeType }
-            };
-            return parameters;
-        }
-
-        #endregion
-    }
-}

+ 0 - 58
src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayQueryRequest.cs

@@ -1,58 +0,0 @@
-using System.Collections.Generic;
-using Essensoft.AspNetCore.Payment.JDPay.Response;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Request
-{
-    /// <summary>
-    /// 交易查询接口
-    /// </summary>
-    public class JDPayQueryRequest : IJDPayRequest<JDPayQueryResponse>
-    {
-        /// <summary>
-        /// 交易流水号
-        /// </summary>
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 原交易流水号
-        /// </summary>
-        public string OTradeNum { get; set; }
-
-        /// <summary>
-        /// 交易类型
-        /// </summary>
-        public string TradeType { get; set; }
-
-        #region IJDPayRequest Members
-
-        private string ApiVersion = "V2.0";
-
-        public string GetRequestUrl()
-        {
-            return "https://paygate.jd.com/service/query";
-        }
-
-        public void SetApiVersion(string apiVersion)
-        {
-            ApiVersion = apiVersion;
-        }
-
-        public string GetApiVersion()
-        {
-            return ApiVersion;
-        }
-
-        public IDictionary<string, string> GetParameters()
-        {
-            var parameters = new JDPayDictionary
-            {
-                { "tradeNum", TradeNum },
-                { "oTradeNum", OTradeNum },
-                { "tradeType", TradeType }
-            };
-            return parameters;
-        }
-
-        #endregion
-    }
-}

+ 0 - 94
src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayRefundRequest.cs

@@ -1,94 +0,0 @@
-using System.Collections.Generic;
-using Essensoft.AspNetCore.Payment.JDPay.Response;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Request
-{
-    /// <summary>
-    /// 退款申请接口
-    /// </summary>
-    public class JDPayRefundRequest : IJDPayRequest<JDPayRefundResponse>
-    {
-        /// <summary>
-        /// 交易流水号
-        /// </summary>
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 原交易流水号
-        /// </summary>
-        public string OTradeNum { get; set; }
-
-        /// <summary>
-        /// 交易金额
-        /// </summary>
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 交易币种
-        /// </summary>
-        public string Currency { get; set; }
-
-        /// <summary>
-        /// 交易时间
-        /// </summary>
-        public string TradeTime { get; set; }
-
-        /// <summary>
-        /// 交易通知地址
-        /// </summary>
-        public string NotifyUrl { get; set; }
-
-        /// <summary>
-        /// 交易备注
-        /// </summary>
-        public string Note { get; set; }
-
-        /// <summary>
-        /// 门店号
-        /// </summary>
-        public string Device { get; set; }
-
-        /// <summary>
-        /// 终端号
-        /// </summary>
-        public string TermInfoId { get; set; }
-
-        #region IJDPayRequest Members
-
-        private string ApiVersion = "V2.0";
-
-        public string GetRequestUrl()
-        {
-            return "https://paygate.jd.com/service/refund";
-        }
-
-        public void SetApiVersion(string apiVersion)
-        {
-            ApiVersion = apiVersion;
-        }
-
-        public string GetApiVersion()
-        {
-            return ApiVersion;
-        }
-
-        public IDictionary<string, string> GetParameters()
-        {
-            var parameters = new JDPayDictionary
-            {
-                { "tradeNum", TradeNum },
-                { "oTradeNum", OTradeNum },
-                { "amount", Amount },
-                { "currency", Currency },
-                { "tradeTime", TradeTime },
-                { "notifyUrl", NotifyUrl },
-                { "note", Note },
-                { "device", Device },
-                { "termInfoId", TermInfoId }
-            };
-            return parameters;
-        }
-
-        #endregion
-    }
-}

+ 0 - 76
src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayRevokeRequest.cs

@@ -1,76 +0,0 @@
-using System.Collections.Generic;
-using Essensoft.AspNetCore.Payment.JDPay.Response;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Request
-{
-    /// <summary>
-    /// 撤销申请接口
-    /// </summary>
-    public class JDPayRevokeRequest : IJDPayRequest<JDPayRevokeResponse>
-    {
-        /// <summary>
-        /// 交易流水号
-        /// </summary>
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 原交易流水号
-        /// </summary>
-        public string OTradeNum { get; set; }
-
-        /// <summary>
-        /// 交易金额
-        /// </summary>
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 交易币种
-        /// </summary>
-        public string Currency { get; set; }
-
-        /// <summary>
-        /// 交易时间
-        /// </summary>
-        public string TradeTime { get; set; }
-
-        /// <summary>
-        /// 交易备注
-        /// </summary>
-        public string Note { get; set; }
-
-        #region IJDPayRequest Members
-
-        private string ApiVersion = "V2.0";
-
-        public string GetRequestUrl()
-        {
-            return "https://paygate.jd.com/service/revoke";
-        }
-
-        public void SetApiVersion(string apiVersion)
-        {
-            ApiVersion = apiVersion;
-        }
-
-        public string GetApiVersion()
-        {
-            return ApiVersion;
-        }
-
-        public IDictionary<string, string> GetParameters()
-        {
-            var parameters = new JDPayDictionary
-            {
-                { "tradeNum", TradeNum },
-                { "oTradeNum", OTradeNum },
-                { "amount", Amount },
-                { "currency", Currency },
-                { "tradeTime", TradeTime },
-                { "note", Note }
-            };
-            return parameters;
-        }
-
-        #endregion
-    }
-}

+ 0 - 196
src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPaySaveOrderH5Request.cs

@@ -1,196 +0,0 @@
-using System.Collections.Generic;
-using Essensoft.AspNetCore.Payment.JDPay.Response;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Request
-{
-    /// <summary>
-    /// H5在线支付接口
-    /// </summary>
-    public class JDPaySaveOrderH5Request : IJDPayRequest<JDPaySaveOrderResponse>
-    {
-        /// <summary>
-        /// 门店号
-        /// </summary>
-        public string Device { get; set; }
-
-        /// <summary>
-        /// 交易流水号
-        /// </summary>
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 交易名称
-        /// </summary>
-        public string TradeName { get; set; }
-
-        /// <summary>
-        /// 交易描述
-        /// </summary>
-        public string TradeDesc { get; set; }
-
-        /// <summary>
-        /// 交易时间
-        /// </summary>
-        public string TradeTime { get; set; }
-
-        /// <summary>
-        /// 交易金额
-        /// </summary>
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 订单类型
-        /// </summary>
-        public string OrderType { get; set; }
-
-        /// <summary>
-        /// 业务类型
-        /// </summary>
-        public string IndustryCategoryCode { get; set; }
-
-        /// <summary>
-        /// 货币种类
-        /// </summary>
-        public string Currency { get; set; }
-
-        /// <summary>
-        /// 商户备注
-        /// </summary>
-        public string Note { get; set; }
-
-        /// <summary>
-        /// 支付成功跳转路径
-        /// </summary>
-        public string CallbackUrl { get; set; }
-
-        /// <summary>
-        /// 异步通知页面地址
-        /// </summary>
-        public string NotifyUrl { get; set; }
-
-        /// <summary>
-        /// 用户IP
-        /// </summary>
-        public string IP { get; set; }
-
-        /// <summary>
-        /// 用户指定卡号
-        /// </summary>
-        public string SpecCardNo { get; set; }
-
-        /// <summary>
-        /// 用户指定身份证
-        /// </summary>
-        public string SpecId { get; set; }
-
-        /// <summary>
-        /// 用户指定姓名
-        /// </summary>
-        public string SpecName { get; set; }
-
-        /// <summary>
-        /// 用户账号
-        /// </summary>
-        public string UserId { get; set; }
-
-        /// <summary>
-        /// 订单失效时长
-        /// </summary>
-        public string ExpireTime { get; set; }
-
-        /// <summary>
-        /// 订单商品数量
-        /// </summary>
-        public string OrderGoodsNum { get; set; }
-
-        /// <summary>
-        /// 厂商编码
-        /// </summary>
-        public string VendorId { get; set; }
-
-        /// <summary>
-        /// 商品信息
-        /// </summary>
-        public string GoodsInfo { get; set; }
-
-        /// <summary>
-        /// 收货信息
-        /// </summary>
-        public string ReceiverInfo { get; set; }
-
-        /// <summary>
-        /// 终端信息
-        /// </summary>
-        public string TermInfo { get; set; }
-
-        /// <summary>
-        /// 风控信息
-        /// </summary>
-        public string RiskInfo { get; set; }
-
-        /// <summary>
-        /// 结算币种
-        /// </summary>
-        public string SettleCurrency { get; set; }
-
-        /// <summary>
-        /// 业务信息
-        /// </summary>
-        public string KJInfo { get; set; }
-
-        #region IJDPayRequest Members
-
-        private string ApiVersion = "V2.0";
-
-        public string GetRequestUrl()
-        {
-            return "https://h5pay.jd.com/jdpay/saveOrder";
-        }
-
-        public void SetApiVersion(string apiVersion)
-        {
-            ApiVersion = apiVersion;
-        }
-
-        public string GetApiVersion()
-        {
-            return ApiVersion;
-        }
-
-        public IDictionary<string, string> GetParameters()
-        {
-            var parameters = new JDPayDictionary
-            {
-                { "device", Device },
-                { "tradeNum", TradeNum },
-                { "tradeName", TradeName },
-                { "tradeDesc", TradeDesc },
-                { "tradeTime", TradeTime },
-                { "amount", Amount },
-                { "orderType", OrderType },
-                { "industryCategoryCode", IndustryCategoryCode },
-                { "currency", Currency },
-                { "note", Note },
-                { "callbackUrl", CallbackUrl },
-                { "notifyUrl", NotifyUrl },
-                { "ip", IP },
-                { "specCardNo", SpecCardNo },
-                { "specId", SpecId },
-                { "specName", SpecName },
-                { "userId", UserId },
-                { "expireTime", ExpireTime },
-                { "orderGoodsNum", OrderGoodsNum },
-                { "vendorId", VendorId },
-                { "goodsInfo", GoodsInfo },
-                { "receiverInfo", ReceiverInfo },
-                { "termInfo", TermInfo },
-                { "riskInfo", RiskInfo },
-                { "settleCurrency", SettleCurrency },
-                { "kjInfo", KJInfo }
-            };
-            return parameters;
-        }
-
-        #endregion
-    }
-}

+ 0 - 196
src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPaySaveOrderPCRequest.cs

@@ -1,196 +0,0 @@
-using System.Collections.Generic;
-using Essensoft.AspNetCore.Payment.JDPay.Response;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Request
-{
-    /// <summary>
-    /// PC在线支付接口
-    /// </summary>
-    public class JDPaySaveOrderPCRequest : IJDPayRequest<JDPaySaveOrderResponse>
-    {
-        /// <summary>
-        /// 门店号
-        /// </summary>
-        public string Device { get; set; }
-
-        /// <summary>
-        /// 交易流水号
-        /// </summary>
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 交易名称
-        /// </summary>
-        public string TradeName { get; set; }
-
-        /// <summary>
-        /// 交易描述
-        /// </summary>
-        public string TradeDesc { get; set; }
-
-        /// <summary>
-        /// 交易时间
-        /// </summary>
-        public string TradeTime { get; set; }
-
-        /// <summary>
-        /// 交易金额
-        /// </summary>
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 订单类型
-        /// </summary>
-        public string OrderType { get; set; }
-
-        /// <summary>
-        /// 业务类型
-        /// </summary>
-        public string IndustryCategoryCode { get; set; }
-
-        /// <summary>
-        /// 货币种类
-        /// </summary>
-        public string Currency { get; set; }
-
-        /// <summary>
-        /// 商户备注
-        /// </summary>
-        public string Note { get; set; }
-
-        /// <summary>
-        /// 支付成功跳转路径
-        /// </summary>
-        public string CallbackUrl { get; set; }
-
-        /// <summary>
-        /// 异步通知页面地址
-        /// </summary>
-        public string NotifyUrl { get; set; }
-
-        /// <summary>
-        /// 用户IP
-        /// </summary>
-        public string IP { get; set; }
-
-        /// <summary>
-        /// 用户指定卡号
-        /// </summary>
-        public string SpecCardNo { get; set; }
-
-        /// <summary>
-        /// 用户指定身份证
-        /// </summary>
-        public string SpecId { get; set; }
-
-        /// <summary>
-        /// 用户指定姓名
-        /// </summary>
-        public string SpecName { get; set; }
-
-        /// <summary>
-        /// 用户账号
-        /// </summary>
-        public string UserId { get; set; }
-
-        /// <summary>
-        /// 订单失效时长
-        /// </summary>
-        public string ExpireTime { get; set; }
-
-        /// <summary>
-        /// 订单商品数量
-        /// </summary>
-        public string OrderGoodsNum { get; set; }
-
-        /// <summary>
-        /// 厂商编码
-        /// </summary>
-        public string VendorId { get; set; }
-
-        /// <summary>
-        /// 商品信息
-        /// </summary>
-        public string GoodsInfo { get; set; }
-
-        /// <summary>
-        /// 收货信息
-        /// </summary>
-        public string ReceiverInfo { get; set; }
-
-        /// <summary>
-        /// 终端信息
-        /// </summary>
-        public string TermInfo { get; set; }
-
-        /// <summary>
-        /// 风控信息
-        /// </summary>
-        public string RiskInfo { get; set; }
-
-        /// <summary>
-        /// 结算币种
-        /// </summary>
-        public string SettleCurrency { get; set; }
-
-        /// <summary>
-        /// 业务信息
-        /// </summary>
-        public string KJInfo { get; set; }
-
-        #region IJDPayRequest Members
-
-        private string ApiVersion = "V2.0";
-
-        public string GetRequestUrl()
-        {
-            return "https://wepay.jd.com/jdpay/saveOrder";
-        }
-
-        public void SetApiVersion(string apiVersion)
-        {
-            ApiVersion = apiVersion;
-        }
-
-        public string GetApiVersion()
-        {
-            return ApiVersion;
-        }
-
-        public IDictionary<string, string> GetParameters()
-        {
-            var parameters = new JDPayDictionary
-            {
-                { "device", Device },
-                { "tradeNum", TradeNum },
-                { "tradeName", TradeName },
-                { "tradeDesc", TradeDesc },
-                { "tradeTime", TradeTime },
-                { "amount", Amount },
-                { "orderType", OrderType },
-                { "industryCategoryCode", IndustryCategoryCode },
-                { "currency", Currency },
-                { "note", Note },
-                { "callbackUrl", CallbackUrl },
-                { "notifyUrl", NotifyUrl },
-                { "ip", IP },
-                { "specCardNo", SpecCardNo },
-                { "specId", SpecId },
-                { "specName", SpecName },
-                { "userId", UserId },
-                { "expireTime", ExpireTime },
-                { "orderGoodsNum", OrderGoodsNum },
-                { "vendorId", VendorId },
-                { "goodsInfo", GoodsInfo },
-                { "receiverInfo", ReceiverInfo },
-                { "termInfo", TermInfo },
-                { "riskInfo", RiskInfo },
-                { "settleCurrency", SettleCurrency },
-                { "kjInfo", KJInfo }
-            };
-            return parameters;
-        }
-
-        #endregion
-    }
-}

+ 0 - 53
src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayTradeQueryRequest.cs

@@ -1,53 +0,0 @@
-using System.Collections.Generic;
-using Essensoft.AspNetCore.Payment.JDPay.Response;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Request
-{
-    /// <summary>
-    /// 交易查询接口
-    /// </summary>
-    public class JDPayTradeQueryRequest : IJDPayNPP10Request<JDPayTradeQueryResponse>
-    {
-        /// <summary>
-        /// 请求时间
-        /// </summary>
-        public string RequestDatetime { get; set; }
-
-        /// <summary>
-        /// 商户订单流水号
-        /// </summary>
-        public string OutTradeNo { get; set; }
-
-        /// <summary>
-        /// 交易号
-        /// </summary>
-        public string TradeNo { get; set; }
-
-        /// <summary>
-        /// 查询类型
-        /// </summary>
-        public string TradeType { get; set; }
-
-        #region IJDPayNPP10Request
-
-        public IDictionary<string, string> GetParameters()
-        {
-            var parameters = new JDPayDictionary
-            {
-                { "request_datetime", RequestDatetime },
-                { "out_trade_no",  OutTradeNo },
-                { "trade_no", TradeNo },
-                { "trade_type", TradeType }
-            };
-
-            return parameters;
-        }
-
-        public string GetRequestUrl()
-        {
-            return "https://mapi.jdpay.com/npp10/trade_query";
-        }
-
-        #endregion
-    }
-}

+ 0 - 196
src/Essensoft.AspNetCore.Payment.JDPay/Request/JDPayUnifiedOrderRequest.cs

@@ -1,196 +0,0 @@
-using System.Collections.Generic;
-using Essensoft.AspNetCore.Payment.JDPay.Response;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Request
-{
-    /// <summary>
-    /// 统一下单接口
-    /// </summary>
-    public class JDPayUnifiedOrderRequest : IJDPayRequest<JDPayUnifiedOrderResponse>
-    {
-        /// <summary>
-        /// 收款商户
-        /// </summary>
-        public string PayMerchant { get; set; }
-
-        /// <summary>
-        /// 门店号
-        /// </summary>
-        public string Device { get; set; }
-
-        /// <summary>
-        /// 交易流水号
-        /// </summary>
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 交易名称
-        /// </summary>
-        public string TradeName { get; set; }
-
-        /// <summary>
-        /// 交易描述
-        /// </summary>
-        public string TradeDesc { get; set; }
-
-        /// <summary>
-        /// 交易时间
-        /// </summary>
-        public string TradeTime { get; set; }
-
-        /// <summary>
-        /// 交易金额
-        /// </summary>
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 订单类型
-        /// </summary>
-        public string OrderType { get; set; }
-
-        /// <summary>
-        /// 业务类型
-        /// </summary>
-        public string IndustryCategoryCode { get; set; }
-
-        /// <summary>
-        /// 货币种类
-        /// </summary>
-        public string Currency { get; set; }
-
-        /// <summary>
-        /// 商户备注
-        /// </summary>
-        public string Note { get; set; }
-
-        /// <summary>
-        /// 同步通知页面
-        /// </summary>
-        public string CallbackUrl { get; set; }
-
-        /// <summary>
-        /// 异步通知页面地址
-        /// </summary>
-        public string NotifyUrl { get; set; }
-
-        /// <summary>
-        /// 用户IP
-        /// </summary>
-        public string Ip { get; set; }
-
-        /// <summary>
-        /// 用户指定卡号
-        /// </summary>
-        public string SpecCardNo { get; set; }
-
-        /// <summary>
-        /// 用户指定身份证
-        /// </summary>
-        public string SpecId { get; set; }
-
-        /// <summary>
-        /// 用户指定姓名
-        /// </summary>
-        public string SpecName { get; set; }
-
-        /// <summary>
-        /// 交易类型
-        /// </summary>
-        public string TradeType { get; set; }
-
-        /// <summary>
-        /// 用户账号
-        /// </summary>
-        public string UserId { get; set; }
-
-        /// <summary>
-        /// 订单失效时长
-        /// </summary>
-        public string ExpireTime { get; set; }
-
-        /// <summary>
-        /// 订单商品数量
-        /// </summary>
-        public string OrderGoodsNum { get; set; }
-
-        /// <summary>
-        /// 厂商编码
-        /// </summary>
-        public string VendorId { get; set; }
-
-        /// <summary>
-        /// 商品信息
-        /// </summary>
-        public string GoodsInfo { get; set; }
-
-        /// <summary>
-        /// 收货信息
-        /// </summary>
-        public string ReceiverInfo { get; set; }
-
-        /// <summary>
-        /// 终端信息
-        /// </summary>
-        public string TermInfo { get; set; }
-
-        /// <summary>
-        /// 风控信息
-        /// </summary>
-        public string RiskInfo { get; set; }
-
-        #region IJDPayRequest Members
-
-        private string ApiVersion = "V2.0";
-
-        public string GetRequestUrl()
-        {
-            return "http://paygate.jd.com/service/uniorder";
-        }
-
-        public void SetApiVersion(string apiVersion)
-        {
-            ApiVersion = apiVersion;
-        }
-
-        public string GetApiVersion()
-        {
-            return ApiVersion;
-        }
-
-        public IDictionary<string, string> GetParameters()
-        {
-            var parameters = new JDPayDictionary
-            {
-                { "payMerchant", PayMerchant },
-                { "device", Device},
-                { "tradeNum",TradeNum },
-                { "tradeName", TradeName},
-                { "tradeDesc", TradeDesc },
-                { "tradeTime", TradeTime },
-                { "amount", Amount },
-                { "orderType", OrderType },
-                { "industryCategoryCode", IndustryCategoryCode },
-                { "currency", Currency },
-                { "note", Note },
-                { "callbackUrl", CallbackUrl},
-                { "notifyUrl", NotifyUrl },
-                { "ip", Ip },
-                { "specCardNo", SpecCardNo },
-                { "specId", SpecId },
-                { "specName", SpecName },
-                { "tradeType", TradeType },
-                { "userId", UserId },
-                { "expireTime", ExpireTime },
-                { "orderGoodsNum", OrderGoodsNum },
-                { "vendorId", VendorId },
-                { "goodsInfo", GoodsInfo },
-                { "receiverInfo", ReceiverInfo },
-                { "termInfo", TermInfo },
-                { "riskInfo", RiskInfo }
-            };
-            return parameters;
-        }
-
-        #endregion
-    }
-}

+ 0 - 73
src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayAccountQueryResponse.cs

@@ -1,73 +0,0 @@
-using Newtonsoft.Json;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Response
-{
-    public class JDPayAccountQueryResponse : JDPayResponse
-    {
-        /// <summary>
-        /// 提交者会员号
-        /// </summary>
-        [JsonProperty("customer_no")]
-        public string CustomerNo { get; set; }
-
-        /// <summary>
-        /// 响应时间
-        /// </summary>
-        [JsonProperty("response_datetime")]
-        public string ResponseDatetime { get; set; }
-
-        /// <summary>
-        /// 响应编码
-        /// </summary>
-        [JsonProperty("response_code")]
-        public string ResponseCode { get; set; }
-
-        /// <summary>
-        /// 响应描述
-        /// </summary>
-        [JsonProperty("response_message")]
-        public string ResponseMessage { get; set; }
-
-        /// <summary>
-        /// 签名方式
-        /// </summary>
-        [JsonProperty("sign_type")]
-        public string SignType { get; set; }
-
-        /// <summary>
-        /// 签名数据
-        /// </summary>
-        [JsonProperty("sign_data")]
-        public string SignData { get; set; }
-
-        /// <summary>
-        /// 会员信息
-        /// </summary>
-        [JsonProperty("buyer_info")]
-        public string BuyerInfo { get; set; }
-
-        /// <summary>
-        /// 账户总金额
-        /// </summary>
-        [JsonProperty("account_amount")]
-        public string AccountAmount { get; set; }
-
-        /// <summary>
-        /// 冻结总余额
-        /// </summary>
-        [JsonProperty("frozen_amount")]
-        public string FrozenAmount { get; set; }
-
-        /// <summary>
-        /// 账户余额币种
-        /// </summary>
-        [JsonProperty("account_currency")]
-        public string AccountCurrency { get; set; }
-
-        /// <summary>
-        /// 商户请求流水号
-        /// </summary>
-        [JsonProperty("out_trade_no")]
-        public string OutTradeNo { get; set; }
-    }
-}

+ 0 - 33
src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayCancelUserRelationResponse.cs

@@ -1,33 +0,0 @@
-using System.Xml.Serialization;
-using Essensoft.AspNetCore.Payment.JDPay.Domain;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Response
-{
-    [XmlRoot("jdpay")]
-    public class JDPayCancelUserRelationResponse : JDPayResponse
-    {
-        /// <summary>
-        /// 版本号
-        /// </summary>
-        [XmlElement("version")]
-        public string Version { get; set; }
-
-        /// <summary>
-        /// 商户号
-        /// </summary>
-        [XmlElement("merchant")]
-        public string Merchant { get; set; }
-
-        /// <summary>
-        /// 数据签名
-        /// </summary>
-        [XmlElement("sign")]
-        public string Sign { get; set; }
-
-        /// <summary>
-        /// 返回信息
-        /// </summary>
-        [XmlElement("result")]
-        public Result Result { get; set; }
-    }
-}

+ 0 - 79
src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayDefrayPayResponse.cs

@@ -1,79 +0,0 @@
-using Newtonsoft.Json;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Response
-{
-    public class JDPayDefrayPayResponse : JDPayResponse
-    {
-        /// <summary>
-        /// 提交者会员号
-        /// </summary>
-        [JsonProperty("customer_no")]
-        public string CustomerNo { get; set; }
-
-        /// <summary>
-        /// 响应时间
-        /// </summary>
-        [JsonProperty("response_datetime")]
-        public string ResponseDatetime { get; set; }
-
-        /// <summary>
-        /// 签名方式
-        /// </summary>
-        [JsonProperty("sign_type")]
-        public string SignType { get; set; }
-
-        /// <summary>
-        /// 签名数据
-        /// </summary>
-        [JsonProperty("sign_data")]
-        public string SignData { get; set; }
-
-        /// <summary>
-        /// 响应编码
-        /// </summary>
-        [JsonProperty("response_code")]
-        public string ResponseCode { get; set; }
-
-        /// <summary>
-        /// 响应描述
-        /// </summary>
-        [JsonProperty("response_message")]
-        public string ResponseMessage { get; set; }
-
-        /// <summary>
-        /// 商户订单流水号
-        /// </summary>
-        [JsonProperty("out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        /// <summary>
-        /// 交易号
-        /// </summary>
-        [JsonProperty("trade_no")]
-        public string TradeNo { get; set; }
-
-        /// <summary>
-        /// 交易状态
-        /// </summary>
-        [JsonProperty("trade_status")]
-        public string TradeStatus { get; set; }
-
-        /// <summary>
-        /// 订单交易金额
-        /// </summary>
-        [JsonProperty("trade_amount")]
-        public string TradeAmount { get; set; }
-
-        /// <summary>
-        /// 币种
-        /// </summary>
-        [JsonProperty("trade_currency")]
-        public string TradeCurrency { get; set; }
-
-        /// <summary>
-        /// 交易回传参数
-        /// </summary>
-        [JsonProperty("return_params")]
-        public string ReturnParams { get; set; }
-    }
-}

+ 0 - 69
src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayFKMPayResponse.cs

@@ -1,69 +0,0 @@
-using System.Xml.Serialization;
-using Essensoft.AspNetCore.Payment.JDPay.Domain;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Response
-{
-    [XmlRoot("jdpay")]
-    public class JDPayFKMPayResponse : JDPayResponse
-    {
-        /// <summary>
-        /// 版本号
-        /// </summary>
-        [XmlElement("version")]
-        public string Version { get; set; }
-
-        /// <summary>
-        /// 商户号
-        /// </summary>
-        [XmlElement("merchant")]
-        public string Merchant { get; set; }
-
-        /// <summary>
-        /// 返回信息
-        /// </summary>
-        [XmlElement("result")]
-        public Result Result { get; set; }
-
-        /// <summary>
-        /// 交易流水号
-        /// </summary>
-        [XmlElement("tradeNum")]
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 交易金额
-        /// </summary>
-        [XmlElement("amount")]
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 货币种类
-        /// </summary>
-        [XmlElement("currency")]
-        public string Currency { get; set; }
-
-        /// <summary>
-        /// 交易时间	
-        /// </summary>
-        [XmlElement("tradeTime")]
-        public string TradeTime { get; set; }
-
-        /// <summary>
-        /// 交易备注
-        /// </summary>
-        [XmlElement("note")]
-        public string Note { get; set; }
-
-        /// <summary>
-        /// 交易状态
-        /// </summary>
-        [XmlElement("status")]
-        public string Status { get; set; }
-
-        /// <summary>
-        /// 数据签名
-        /// </summary>
-        [XmlElement("sign")]
-        public string Sign { get; set; }
-    }
-}

+ 0 - 39
src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayGetUserRelationResponse.cs

@@ -1,39 +0,0 @@
-using System.Xml.Serialization;
-using Essensoft.AspNetCore.Payment.JDPay.Domain;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Response
-{
-    [XmlRoot("jdpay")]
-    public class JDPayGetUserRelationResponse : JDPayResponse
-    {
-        /// <summary>
-        /// 版本号
-        /// </summary>
-        [XmlElement("version")]
-        public string Version { get; set; }
-
-        /// <summary>
-        /// 商户号
-        /// </summary>
-        [XmlElement("merchant")]
-        public string Merchant { get; set; }
-
-        /// <summary>
-        /// 数据签名
-        /// </summary>
-        [XmlElement("sign")]
-        public string Sign { get; set; }
-
-        /// <summary>
-        /// 是否存在关系	
-        /// </summary>
-        [XmlElement("isHas")]
-        public string IsHas { get; set; }
-
-        /// <summary>
-        /// 返回信息
-        /// </summary>
-        [XmlElement("result")]
-        public Result Result { get; set; }
-    }
-}

+ 0 - 47
src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayQueryRefundResponse.cs

@@ -1,47 +0,0 @@
-using System.Collections.Generic;
-using System.Xml.Serialization;
-using Essensoft.AspNetCore.Payment.JDPay.Domain;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Response
-{
-    [XmlRoot("jdpay")]
-    public class JDPayQueryRefundResponse : JDPayResponse
-    {
-        /// <summary>
-        /// 版本号
-        /// </summary>
-        [XmlElement("version")]
-        public string Version { get; set; }
-
-        /// <summary>
-        /// 商户号
-        /// </summary>
-        [XmlElement("merchant")]
-        public string Merchant { get; set; }
-
-        /// <summary>
-        /// 门店号
-        /// </summary>
-        [XmlElement("device")]
-        public string Device { get; set; }
-
-        /// <summary>
-        /// 数据签名
-        /// </summary>
-        [XmlElement("sign")]
-        public string Sign { get; set; }
-
-        /// <summary>
-        /// 返回信息
-        /// </summary>
-        [XmlElement("result")]
-        public Result Result { get; set; }
-
-        /// <summary>
-        /// 明细列表
-        /// </summary>
-        [XmlArray("refList")]
-        [XmlArrayItem("refund")]
-        public List<Refund> RefundList { get; set; }
-    }
-}

+ 0 - 145
src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayQueryResponse.cs

@@ -1,145 +0,0 @@
-using System.Collections.Generic;
-using System.Xml.Serialization;
-using Essensoft.AspNetCore.Payment.JDPay.Domain;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Response
-{
-    [XmlRoot("jdpay")]
-    public class JDPayQueryResponse : JDPayResponse
-    {
-        /// <summary>
-        /// 版本号
-        /// </summary>
-        [XmlElement("version")]
-        public string Version { get; set; }
-
-        /// <summary>
-        /// 商户号
-        /// </summary>
-        [XmlElement("merchant")]
-        public string Merchant { get; set; }
-
-        /// <summary>
-        /// 门店号
-        /// </summary>
-        [XmlElement("device")]
-        public string Device { get; set; }
-
-        /// <summary>
-        /// 交易流水
-        /// </summary>
-        [XmlElement("tradeNum")]
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 交易类型
-        /// </summary>
-        [XmlElement("tradeType")]
-        public string TradeType { get; set; }
-
-        /// <summary>
-        /// 返回信息
-        /// </summary>
-        [XmlElement("result")]
-        public Result Result { get; set; }
-
-        /// <summary>
-        /// 数据签名
-        /// </summary>
-        [XmlElement("sign")]
-        public string Sign { get; set; }
-
-        /// <summary>
-        /// 交易备注
-        /// </summary>
-        [XmlElement("note")]
-        public string Note { get; set; }
-
-        /// <summary>
-        /// 支付总金额
-        /// </summary>
-        [XmlElement("amount")]
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 交易状态
-        /// </summary>
-        [XmlElement("status")]
-        public string Status { get; set; }
-
-        /// <summary>
-        /// 明细列表
-        /// </summary>
-        [XmlArray("payList")]
-        [XmlArrayItem("pay")]
-        public List<PayTradeVo> PayList { get; set; }
-
-        /// <summary>
-        /// 支付方式金额
-        /// </summary>
-        [XmlElement("payMoney")]
-        public string PayMoney { get; set; }
-
-        /// <summary>
-        /// 持卡人人姓名
-        /// </summary>
-        [XmlElement("cardHolderName")]
-        public string CardHolderName { get; set; }
-
-        /// <summary>
-        /// 持卡人手机号
-        /// </summary>
-        [XmlElement("cardHolderMobile")]
-        public string CardHolderMobile { get; set; }
-
-        /// <summary>
-        /// 证件类型
-        /// </summary>
-        [XmlElement("cardHolderType")]
-        public string CardHolderType { get; set; }
-
-        /// <summary>
-        /// 身份证号
-        /// </summary>
-        [XmlElement("cardHolderId")]
-        public string CardHolderId { get; set; }
-
-        /// <summary>
-        /// 卡号
-        /// </summary>
-        [XmlElement("cardNo")]
-        public string CardNo { get; set; }
-
-        /// <summary>
-        /// 银行编码
-        /// </summary>
-        [XmlElement("bankCode")]
-        public string BankCode { get; set; }
-
-        /// <summary>
-        /// 银行卡类型
-        /// </summary>
-        [XmlElement("cardType")]
-        public string CardType { get; set; }
-
-        // 退款交易查询 部分数据
-
-        /// <summary>
-        /// 原交易流水号
-        /// </summary>
-        [XmlElement("oTradeNum")]
-        public string OTradeNum { get; set; }
-
-        /// <summary>
-        /// 交易币种
-        /// </summary>
-        [XmlElement("currency")]
-        public string Currency { get; set; }
-
-        /// <summary>
-        /// 交易时间
-        /// </summary>
-        [XmlElement("tradeTime")]
-        public string TradeTime { get; set; }
-    }
-}

+ 0 - 87
src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayRefundResponse.cs

@@ -1,87 +0,0 @@
-using System.Xml.Serialization;
-using Essensoft.AspNetCore.Payment.JDPay.Domain;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Response
-{
-    [XmlRoot("jdpay")]
-    public class JDPayRefundResponse : JDPayResponse
-    {
-        /// <summary>
-        /// 版本号
-        /// </summary>
-        [XmlElement("version")]
-        public string Version { get; set; }
-
-        /// <summary>
-        /// 商户号
-        /// </summary>
-        [XmlElement("merchant")]
-        public string Merchant { get; set; }
-
-        /// <summary>
-        /// 门店号
-        /// </summary>
-        [XmlElement("device")]
-        public string Device { get; set; }
-
-        /// <summary>
-        /// 交易流水
-        /// </summary>
-        [XmlElement("tradeNum")]
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 交易类型
-        /// </summary>
-        [XmlElement("tradeType")]
-        public string TradeType { get; set; }
-
-        /// <summary>
-        /// 返回信息
-        /// </summary>
-        [XmlElement("result")]
-        public Result Result { get; set; }
-
-        /// <summary>
-        /// 交易信息签名	
-        /// </summary>
-        [XmlElement("sign")]
-        public string Sign { get; set; }
-
-        /// <summary>
-        /// 原交易流水
-        /// </summary>
-        [XmlElement("oTradeNum")]
-        public string OTradeNum { get; set; }
-
-        /// <summary>
-        /// 交易金额
-        /// </summary>
-        [XmlElement("amount")]
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 交易币种
-        /// </summary>
-        [XmlElement("currency")]
-        public string Currency { get; set; }
-
-        /// <summary>
-        /// 交易时间
-        /// </summary>
-        [XmlElement("tradeTime")]
-        public string TradeTime { get; set; }
-
-        /// <summary>
-        /// 交易备注
-        /// </summary>
-        [XmlElement("note")]
-        public string Note { get; set; }
-
-        /// <summary>
-        /// 交易状态
-        /// </summary>
-        [XmlElement("status")]
-        public string Status { get; set; }
-    }
-}

+ 0 - 86
src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayRevokeResponse.cs

@@ -1,86 +0,0 @@
-using System.Xml.Serialization;
-using Essensoft.AspNetCore.Payment.JDPay.Domain;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Response
-{
-    [XmlRoot("jdpay")]
-    public class JDPayRevokeResponse : JDPayResponse
-    {
-        /// <summary>
-        /// 版本号
-        /// </summary>
-        [XmlElement("version")]
-        public string Version { get; set; }
-
-        /// <summary>
-        /// 商户号
-        /// </summary>
-        [XmlElement("merchant")]
-        public string Merchant { get; set; }
-
-        /// <summary>
-        /// 门店号
-        /// </summary>
-        [XmlElement("device")]
-        public string Device { get; set; }
-
-        /// <summary>
-        /// 交易流水
-        /// </summary>
-        [XmlElement("tradeNum")]
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 交易类型
-        /// </summary>
-        [XmlElement("tradeType")]
-        public string TradeType { get; set; }
-
-        /// <summary>
-        /// 返回信息
-        /// </summary>
-        [XmlElement("result")]
-        public Result Result { get; set; }
-
-        /// 数据签名
-        /// </summary>
-        [XmlElement("sign")]
-        public string Sign { get; set; }
-
-        /// <summary>
-        /// 原交易流水号	
-        /// </summary>
-        [XmlElement("oTradeNum")]
-        public string OTradeNum { get; set; }
-
-        /// <summary>
-        /// 交易金额	
-        /// </summary>
-        [XmlElement("amount")]
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 交易币种
-        /// </summary>
-        [XmlElement("currency")]
-        public string Currency { get; set; }
-
-        /// <summary>
-        /// 交易时间	
-        /// </summary>
-        [XmlElement("tradeTime")]
-        public string TradeTime { get; set; }
-
-        /// <summary>
-        /// 交易备注
-        /// </summary>
-        [XmlElement("note")]
-        public string Note { get; set; }
-
-        /// <summary>
-        /// 交易状态
-        /// </summary>
-        [XmlElement("status")]
-        public string Status { get; set; }
-    }
-}

+ 0 - 5
src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPaySaveOrderResponse.cs

@@ -1,5 +0,0 @@
-namespace Essensoft.AspNetCore.Payment.JDPay.Response
-{
-    public class JDPaySaveOrderResponse : JDPayResponse
-    { }
-}

+ 0 - 187
src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayTradeQueryResponse.cs

@@ -1,187 +0,0 @@
-using Newtonsoft.Json;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Response
-{
-    public class JDPayTradeQueryResponse : JDPayResponse
-    {
-        /// <summary>
-        /// 提交者会员号
-        /// </summary>
-        [JsonProperty("customer_no")]
-        public string CustomerNo { get; set; }
-
-        /// <summary>
-        /// 响应时间
-        /// </summary>
-        [JsonProperty("response_datetime")]
-        public string ResponseDatetime { get; set; }
-
-        /// <summary>
-        /// 响应编码
-        /// </summary>
-        [JsonProperty("response_code")]
-        public string ResponseCode { get; set; }
-
-        /// <summary>
-        /// 响应描述
-        /// </summary>
-        [JsonProperty("response_message")]
-        public string ResponseMessage { get; set; }
-
-        /// <summary>
-        /// 签名方式
-        /// </summary>
-        [JsonProperty("sign_type")]
-        public string SignType { get; set; }
-
-        /// <summary>
-        /// 签名数据
-        /// </summary>
-        [JsonProperty("sign_data")]
-        public string SignData { get; set; }
-
-        /// <summary>
-        /// 商户订单流水号
-        /// </summary>
-        [JsonProperty("out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        /// <summary>
-        /// 业务订单流水号
-        /// </summary>
-        [JsonProperty("biz_trade_no")]
-        public string BizTradeNo { get; set; }
-
-        /// <summary>
-        /// 外部交易日
-        /// </summary>
-        [JsonProperty("out_trade_date")]
-        public string OutTradeDate { get; set; }
-
-        /// <summary>
-        /// 交易类别
-        /// </summary>
-        [JsonProperty("trade_class")]
-        public string TradeClass { get; set; }
-
-        /// <summary>
-        /// 订单摘要
-        /// </summary>
-        [JsonProperty("trade_subject")]
-        public string TradeSubject { get; set; }
-
-        /// <summary>
-        /// 交易号
-        /// </summary>
-        [JsonProperty("trade_no")]
-        public string TradeNo { get; set; }
-
-        /// <summary>
-        /// 卖方信息
-        /// </summary>
-        [JsonProperty("seller_info")]
-        public string SellerInfo { get; set; }
-
-        /// <summary>
-        /// 买方信息
-        /// </summary>
-        [JsonProperty("buyer_info")]
-        public string BuyerInfo { get; set; }
-
-        /// <summary>
-        /// 订单交易金额
-        /// </summary>
-        [JsonProperty("trade_amount")]
-        public string TradeAmount { get; set; }
-
-        /// <summary>
-        /// 订单交易币种
-        /// </summary>
-        [JsonProperty("trade_currency")]
-        public string TradeCurrency { get; set; }
-
-        /// <summary>
-        /// 已退款金额
-        /// </summary>
-        [JsonProperty("refund_amount")]
-        public string RefundAmount { get; set; }
-
-        /// <summary>
-        /// 商户售卖的商品分类码
-        /// </summary>
-        [JsonProperty("category_code")]
-        public string CategoryCode { get; set; }
-
-        /// <summary>
-        /// 已确认金额
-        /// </summary>
-        [JsonProperty("confirm_amount")]
-        public string ConfirmAmount { get; set; }
-
-        /// <summary>
-        /// 交易响应码
-        /// </summary>
-        [JsonProperty("trade_respcode")]
-        public string TradeRespcode { get; set; }
-
-        /// <summary>
-        /// 交易响应描述
-        /// </summary>
-        [JsonProperty("trade_respmsg")]
-        public string TradeRespmsg { get; set; }
-
-        /// <summary>
-        /// 交易状态
-        /// </summary>
-        [JsonProperty("trade_status")]
-        public string TradeStatus { get; set; }
-
-        /// <summary>
-        /// 支付完成日
-        /// </summary>
-        [JsonProperty("trade_pay_date")]
-        public string TradePayDate { get; set; }
-
-        /// <summary>
-        /// 支付完时间
-        /// </summary>
-        [JsonProperty("trade_pay_time")]
-        public string TradePayTime { get; set; }
-
-        /// <summary>
-        /// 支付工具
-        /// </summary>
-        [JsonProperty("pay_tool")]
-        public string PayTool { get; set; }
-
-        /// <summary>
-        /// 支付银行
-        /// </summary>
-        [JsonProperty("bank_code")]
-        public string BankCode { get; set; }
-
-        /// <summary>
-        /// 支付卡种
-        /// </summary>
-        [JsonProperty("card_type")]
-        public string CardType { get; set; }
-
-        /// <summary>
-        /// 交易完成日
-        /// </summary>
-        [JsonProperty("trade_finish_date")]
-        public string TradeFinishDate { get; set; }
-
-        /// <summary>
-        /// 交易完时间
-        /// </summary>
-        [JsonProperty("trade_finish_time")]
-        public string TradeFinishTime { get; set; }
-
-        /// <summary>
-        /// 订单返回信息
-        /// </summary>
-        [JsonProperty("return_params")]
-        public string ReturnParams { get; set; }
-    }
-}

+ 0 - 75
src/Essensoft.AspNetCore.Payment.JDPay/Response/JDPayUnifiedOrderResponse.cs

@@ -1,75 +0,0 @@
-using System.Xml.Serialization;
-using Essensoft.AspNetCore.Payment.JDPay.Domain;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Response
-{
-    [XmlRoot("jdpay")]
-    public class JDPayUnifiedOrderResponse : JDPayResponse
-    {
-        /// <summary>
-        /// 版本号
-        /// </summary>
-        [XmlElement("version")]
-        public string Version { get; set; }
-
-        /// <summary>
-        /// 商户号
-        /// </summary>
-        [XmlElement("merchant")]
-        public string Merchant { get; set; }
-
-        /// <summary>
-        /// 门店号
-        /// </summary>
-        [XmlElement("device")]
-        public string Device { get; set; }
-
-        /// <summary>
-        /// 交易流水号
-        /// </summary>
-        [XmlElement("tradeNum")]
-        public string TradeNum { get; set; }
-
-        /// <summary>
-        /// 京东交易单号
-        /// </summary>
-        [XmlElement("orderId")]
-        public string OrderId { get; set; }
-
-        /// <summary>
-        /// 商户名称
-        /// </summary>
-        [XmlElement("merchantName")]
-        public string MerchantName { get; set; }
-
-        /// <summary>
-        /// 交易金额
-        /// </summary>
-        [XmlElement("amount")]
-        public string Amount { get; set; }
-
-        /// <summary>
-        /// 交易过期时间
-        /// </summary>
-        [XmlElement("expireTime")]
-        public string ExpireTime { get; set; }
-
-        /// <summary>
-        /// 支付二维码
-        /// </summary>
-        [XmlElement("qrCode")]
-        public string QrCode { get; set; }
-
-        /// <summary>
-        /// 交易信息签名
-        /// </summary>
-        [XmlElement("sign")]
-        public string Sign { get; set; }
-
-        /// <summary>
-        /// 返回信息
-        /// </summary>
-        [XmlElement("result")]
-        public Result Result { get; set; }
-    }
-}

+ 0 - 34
src/Essensoft.AspNetCore.Payment.JDPay/ServiceCollectionExtensions.cs

@@ -1,34 +0,0 @@
-using System;
-using Microsoft.Extensions.DependencyInjection;
-
-namespace Essensoft.AspNetCore.Payment.JDPay
-{
-    public static class ServiceCollectionExtensions
-    {
-        public static void AddJDPay(
-            this IServiceCollection services)
-        {
-            services.AddJDPay(null);
-        }
-
-        public static void AddJDPay(
-            this IServiceCollection services,
-            Action<JDPayOptions> setupAction)
-        {
-            services.AddHttpClient(nameof(JDPayClient));
-
-            services.AddSingleton<IJDPayClient, JDPayClient>();
-
-#if NETCOREAPP3_1
-
-            services.AddSingleton<IJDPayNotifyClient, JDPayNotifyClient>();
-
-#endif
-
-            if (setupAction != null)
-            {
-                services.Configure(setupAction);
-            }
-        }
-    }
-}

+ 0 - 30
src/Essensoft.AspNetCore.Payment.JDPay/Utility/HttpClientExtensions.cs

@@ -1,30 +0,0 @@
-using System.Net.Http;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Essensoft.AspNetCore.Payment.JDPay.Utility
-{
-    /// <summary>
-    /// HTTP客户端扩展。
-    /// </summary>
-    public static class HttpClientExtensions
-    {
-        /// <summary>
-        /// 执行HTTP POST请求。
-        /// </summary>
-        /// <param name="client">HttpClient</param>
-        /// <param name="url">请求地址</param>
-        /// <param name="content">请求内容</param>
-        /// <param name="mediaType">媒体类型</param>
-        /// <returns>HTTP响应内容</returns>
-        public static async Task<string> DoPostAsync(this HttpClient client, string url, string content, string mediaType = "application/xml")
-        {
-            using (var requestContent = new StringContent(content, Encoding.UTF8, mediaType))
-            using (var response = await client.PostAsync(url, requestContent))
-            using (var resContent = response.Content)
-            {
-                return await resContent.ReadAsStringAsync();
-            }
-        }
-    }
-}

+ 0 - 18
src/Essensoft.AspNetCore.Payment.JDPay/Utility/JDPayContants.cs

@@ -1,18 +0,0 @@
-namespace Essensoft.AspNetCore.Payment.JDPay.Utility
-{
-    internal class JDPayContants
-    {
-        public const string VERSION = "version";
-        public const string MERCHANT = "merchant";
-        public const string SIGN = "sign";
-        public const string ENCRYPT = "encrypt";
-        public const string RESULT = "result";
-        public const string BODY = "body";
-
-        public const string CUSTOMER_NO = "customer_no";
-        public const string SIGN_TYPE = "sign_type";
-        public const string SIGN_DATA = "sign_data";
-        public const string ENCRYPT_TYPE = "encrypt_type";
-        public const string ENCRYPT_DATA = "encrypt_data";
-    }
-}

部分文件因为文件数量过多而无法显示