浏览代码

TargetFrameworks 升级到 netstandard2.1;netcoreapp3.0

Roc 6 年之前
父节点
当前提交
e9f70a70d2
共有 100 个文件被更改,包括 36 次插入7358 次删除
  1. 1 8
      Payment.sln
  2. 1 1
      README.MD
  3. 10 9
      samples/WebApplicationSample/Program.cs
  4. 0 19
      samples/WebApplicationSample/Properties/PublishProfiles/FolderProfile.pubxml
  5. 1 1
      samples/WebApplicationSample/Properties/launchSettings.json
  6. 13 26
      samples/WebApplicationSample/Startup.cs
  7. 2 5
      samples/WebApplicationSample/WebApplicationSample.csproj
  8. 2 3
      samples/WebApplicationSample/appsettings.Development.json
  9. 6 4
      samples/WebApplicationSample/appsettings.json
  10. 0 24
      samples/WebApplicationSample/bundleconfig.json
  11. 0 438
      samples/WebApplicationSample_V3_0/Controllers/AlipayController.cs
  12. 0 53
      samples/WebApplicationSample_V3_0/Controllers/HomeController.cs
  13. 0 341
      samples/WebApplicationSample_V3_0/Controllers/JDPayController.cs
  14. 0 214
      samples/WebApplicationSample_V3_0/Controllers/LianLianPayController.cs
  15. 0 428
      samples/WebApplicationSample_V3_0/Controllers/NotifyController.cs
  16. 0 375
      samples/WebApplicationSample_V3_0/Controllers/QPayController.cs
  17. 0 90
      samples/WebApplicationSample_V3_0/Controllers/UnionPayController.cs
  18. 0 607
      samples/WebApplicationSample_V3_0/Controllers/WeChatPayController.cs
  19. 0 25
      samples/WebApplicationSample_V3_0/Helpers/HMTLHelperExtensions.cs
  20. 0 212
      samples/WebApplicationSample_V3_0/Models/AlipayViewModel.cs
  21. 0 9
      samples/WebApplicationSample_V3_0/Models/ErrorViewModel.cs
  22. 0 241
      samples/WebApplicationSample_V3_0/Models/JDPayViewModel.cs
  23. 0 125
      samples/WebApplicationSample_V3_0/Models/LianLianPayViewModel.cs
  24. 0 189
      samples/WebApplicationSample_V3_0/Models/QPayViewModel.cs
  25. 0 33
      samples/WebApplicationSample_V3_0/Models/UnionPayViewModel.cs
  26. 0 335
      samples/WebApplicationSample_V3_0/Models/WeChatPayViewModel.cs
  27. 0 21
      samples/WebApplicationSample_V3_0/Program.cs
  28. 0 27
      samples/WebApplicationSample_V3_0/Properties/launchSettings.json
  29. 0 74
      samples/WebApplicationSample_V3_0/Startup.cs
  30. 0 53
      samples/WebApplicationSample_V3_0/Views/Alipay/AppPay.cshtml
  31. 0 37
      samples/WebApplicationSample_V3_0/Views/Alipay/BillDownloadurlQuery.cshtml
  32. 0 87
      samples/WebApplicationSample_V3_0/Views/Alipay/Index.cshtml
  33. 0 50
      samples/WebApplicationSample_V3_0/Views/Alipay/PagePay.cshtml
  34. 0 15
      samples/WebApplicationSample_V3_0/Views/Alipay/PagePayReturn.cshtml
  35. 0 53
      samples/WebApplicationSample_V3_0/Views/Alipay/Pay.cshtml
  36. 0 56
      samples/WebApplicationSample_V3_0/Views/Alipay/PreCreate.cshtml
  37. 0 37
      samples/WebApplicationSample_V3_0/Views/Alipay/Query.cshtml
  38. 0 49
      samples/WebApplicationSample_V3_0/Views/Alipay/Refund.cshtml
  39. 0 41
      samples/WebApplicationSample_V3_0/Views/Alipay/RefundQuery.cshtml
  40. 0 37
      samples/WebApplicationSample_V3_0/Views/Alipay/TransQuery.cshtml
  41. 0 49
      samples/WebApplicationSample_V3_0/Views/Alipay/Transfer.cshtml
  42. 0 50
      samples/WebApplicationSample_V3_0/Views/Alipay/WapPay.cshtml
  43. 0 15
      samples/WebApplicationSample_V3_0/Views/Alipay/WapPayReturn.cshtml
  44. 0 9
      samples/WebApplicationSample_V3_0/Views/Home/Gratuity.cshtml
  45. 0 83
      samples/WebApplicationSample_V3_0/Views/Home/Index.cshtml
  46. 0 113
      samples/WebApplicationSample_V3_0/Views/JDPay/DefrayPay.cshtml
  47. 0 70
      samples/WebApplicationSample_V3_0/Views/JDPay/Index.cshtml
  48. 0 69
      samples/WebApplicationSample_V3_0/Views/JDPay/QrCodePay.cshtml
  49. 0 41
      samples/WebApplicationSample_V3_0/Views/JDPay/Query.cshtml
  50. 0 41
      samples/WebApplicationSample_V3_0/Views/JDPay/QueryRefund.cshtml
  51. 0 49
      samples/WebApplicationSample_V3_0/Views/JDPay/Refund.cshtml
  52. 0 16
      samples/WebApplicationSample_V3_0/Views/JDPay/Return.cshtml
  53. 0 58
      samples/WebApplicationSample_V3_0/Views/JDPay/SaveOrderH5.cshtml
  54. 0 58
      samples/WebApplicationSample_V3_0/Views/JDPay/SaveOrderPC.cshtml
  55. 0 45
      samples/WebApplicationSample_V3_0/Views/JDPay/TradeQuery.cshtml
  56. 0 54
      samples/WebApplicationSample_V3_0/Views/LianLianPay/H5QuickPay.cshtml
  57. 0 52
      samples/WebApplicationSample_V3_0/Views/LianLianPay/Index.cshtml
  58. 0 41
      samples/WebApplicationSample_V3_0/Views/LianLianPay/OrderQuery.cshtml
  59. 0 15
      samples/WebApplicationSample_V3_0/Views/LianLianPay/QuickPayCallback.cshtml
  60. 0 57
      samples/WebApplicationSample_V3_0/Views/LianLianPay/Refund.cshtml
  61. 0 41
      samples/WebApplicationSample_V3_0/Views/LianLianPay/RefundQuery.cshtml
  62. 0 54
      samples/WebApplicationSample_V3_0/Views/LianLianPay/WebQuickPay.cshtml
  63. 0 57
      samples/WebApplicationSample_V3_0/Views/QPay/AppPay.cshtml
  64. 0 69
      samples/WebApplicationSample_V3_0/Views/QPay/B2CPay.cshtml
  65. 0 33
      samples/WebApplicationSample_V3_0/Views/QPay/CloseOrder.cshtml
  66. 0 88
      samples/WebApplicationSample_V3_0/Views/QPay/Index.cshtml
  67. 0 65
      samples/WebApplicationSample_V3_0/Views/QPay/MicroPay.cshtml
  68. 0 34
      samples/WebApplicationSample_V3_0/Views/QPay/OrderQuery.cshtml
  69. 0 57
      samples/WebApplicationSample_V3_0/Views/QPay/PubPay.cshtml
  70. 0 64
      samples/WebApplicationSample_V3_0/Views/QPay/QrCodePay.cshtml
  71. 0 53
      samples/WebApplicationSample_V3_0/Views/QPay/Refund.cshtml
  72. 0 42
      samples/WebApplicationSample_V3_0/Views/QPay/RefundQuery.cshtml
  73. 0 33
      samples/WebApplicationSample_V3_0/Views/QPay/Reverse.cshtml
  74. 0 41
      samples/WebApplicationSample_V3_0/Views/QPay/StatementDown.cshtml
  75. 0 22
      samples/WebApplicationSample_V3_0/Views/Shared/Error.cshtml
  76. 0 93
      samples/WebApplicationSample_V3_0/Views/Shared/_Layout.cshtml
  77. 0 18
      samples/WebApplicationSample_V3_0/Views/Shared/_ValidationScriptsPartial.cshtml
  78. 0 50
      samples/WebApplicationSample_V3_0/Views/UnionPay/GatewayPayFrontConsume.cshtml
  79. 0 15
      samples/WebApplicationSample_V3_0/Views/UnionPay/GatewayPayFrontConsumeReturn.cshtml
  80. 0 28
      samples/WebApplicationSample_V3_0/Views/UnionPay/Index.cshtml
  81. 0 57
      samples/WebApplicationSample_V3_0/Views/WeChatPay/AppPay.cshtml
  82. 0 33
      samples/WebApplicationSample_V3_0/Views/WeChatPay/CloseOrder.cshtml
  83. 0 41
      samples/WebApplicationSample_V3_0/Views/WeChatPay/DownloadBill.cshtml
  84. 0 41
      samples/WebApplicationSample_V3_0/Views/WeChatPay/DownloadFundFlow.cshtml
  85. 0 24
      samples/WebApplicationSample_V3_0/Views/WeChatPay/GetPublicKey.cshtml
  86. 0 33
      samples/WebApplicationSample_V3_0/Views/WeChatPay/GetTransferInfo.cshtml
  87. 0 53
      samples/WebApplicationSample_V3_0/Views/WeChatPay/H5Pay.cshtml
  88. 0 130
      samples/WebApplicationSample_V3_0/Views/WeChatPay/Index.cshtml
  89. 0 61
      samples/WebApplicationSample_V3_0/Views/WeChatPay/LiteAppPay.cshtml
  90. 0 49
      samples/WebApplicationSample_V3_0/Views/WeChatPay/MicroPay.cshtml
  91. 0 37
      samples/WebApplicationSample_V3_0/Views/WeChatPay/OrderQuery.cshtml
  92. 0 53
      samples/WebApplicationSample_V3_0/Views/WeChatPay/PayBank.cshtml
  93. 0 61
      samples/WebApplicationSample_V3_0/Views/WeChatPay/PubPay.cshtml
  94. 0 60
      samples/WebApplicationSample_V3_0/Views/WeChatPay/QrCodePay.cshtml
  95. 0 33
      samples/WebApplicationSample_V3_0/Views/WeChatPay/QueryBank.cshtml
  96. 0 57
      samples/WebApplicationSample_V3_0/Views/WeChatPay/Refund.cshtml
  97. 0 45
      samples/WebApplicationSample_V3_0/Views/WeChatPay/RefundQuery.cshtml
  98. 0 37
      samples/WebApplicationSample_V3_0/Views/WeChatPay/Reverse.cshtml
  99. 0 56
      samples/WebApplicationSample_V3_0/Views/WeChatPay/Transfers.cshtml
  100. 0 3
      samples/WebApplicationSample_V3_0/Views/_ViewImports.cshtml

+ 1 - 8
Payment.sln

@@ -28,9 +28,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essensoft.AspNetCore.Paymen
 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", "{53148C9A-E48E-45B1-B382-6485E4DA1006}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebApplicationSample_V3_0", "samples\WebApplicationSample_V3_0\WebApplicationSample_V3_0.csproj", "{6C90BFFA-2F73-4961-922A-588B589C444C}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebApplicationSample", "samples\WebApplicationSample\WebApplicationSample.csproj", "{6C90BFFA-2F73-4961-922A-588B589C444C}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -66,10 +64,6 @@ Global
 		{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
-		{53148C9A-E48E-45B1-B382-6485E4DA1006}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{53148C9A-E48E-45B1-B382-6485E4DA1006}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{53148C9A-E48E-45B1-B382-6485E4DA1006}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{53148C9A-E48E-45B1-B382-6485E4DA1006}.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
@@ -86,7 +80,6 @@ Global
 		{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}
-		{53148C9A-E48E-45B1-B382-6485E4DA1006} = {DD8CC860-F3E3-40F4-8A8F-20BF66EA051C}
 		{6C90BFFA-2F73-4961-922A-588B589C444C} = {DD8CC860-F3E3-40F4-8A8F-20BF66EA051C}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution

+ 1 - 1
README.MD

@@ -49,7 +49,7 @@ Essensoft.AspNetCore.Payment.Security       | [![NuGet](https://img.shields.io/n
 * VS2019
 
 ## 运行环境
-* .NET Core 2.2、.NET Core 2.1
+* .NET Core 3.0
 
 ## 使用方式
 

+ 10 - 9
samples/WebApplicationSample/Program.cs

@@ -1,5 +1,5 @@
-using Microsoft.AspNetCore;
-using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.Hosting;
 
 namespace WebApplicationSample
 {
@@ -7,14 +7,15 @@ namespace WebApplicationSample
     {
         public static void Main(string[] args)
         {
-            CreateWebHostBuilder(args).Build().Run();
+            CreateHostBuilder(args).Build().Run();
         }
 
-        public static IWebHostBuilder CreateWebHostBuilder(string[] args)
-        {
-            return WebHost.CreateDefaultBuilder(args)
-                .UseUrls("http://*:5000")
-                .UseStartup<Startup>();
-        }
+        public static IHostBuilder CreateHostBuilder(string[] args) =>
+            Host.CreateDefaultBuilder(args)
+                .ConfigureWebHostDefaults(webBuilder =>
+                {
+                    webBuilder.UseUrls("http://*:5000");
+                    webBuilder.UseStartup<Startup>();
+                });
     }
 }

+ 0 - 19
samples/WebApplicationSample/Properties/PublishProfiles/FolderProfile.pubxml

@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-此文件由 Web 项目的发布/打包过程使用。可以通过编辑此 MSBuild 文件
-自定义此过程的行为。为了解与此相关的更多内容,请访问 https://go.microsoft.com/fwlink/?LinkID=208121。 
--->
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <WebPublishMethod>FileSystem</WebPublishMethod>
-    <PublishProvider>FileSystem</PublishProvider>
-    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
-    <LastUsedPlatform>Any CPU</LastUsedPlatform>
-    <SiteUrlToLaunchAfterPublish />
-    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
-    <ExcludeApp_Data>False</ExcludeApp_Data>
-    <ProjectGuid>53148c9a-e48e-45b1-b382-6485e4da1006</ProjectGuid>
-    <publishUrl>bin\Release\PublishOutput</publishUrl>
-    <DeleteExistingFiles>False</DeleteExistingFiles>
-  </PropertyGroup>
-</Project>

+ 1 - 1
samples/WebApplicationSample/Properties/launchSettings.json

@@ -1,4 +1,4 @@
-{
+{
   "iisSettings": {
     "windowsAuthentication": false,
     "anonymousAuthentication": true,

+ 13 - 26
samples/WebApplicationSample/Startup.cs

@@ -1,6 +1,4 @@
-using System.Text.Encodings.Web;
-using System.Text.Unicode;
-using Essensoft.AspNetCore.Payment.Alipay;
+using Essensoft.AspNetCore.Payment.Alipay;
 using Essensoft.AspNetCore.Payment.JDPay;
 using Essensoft.AspNetCore.Payment.LianLianPay;
 using Essensoft.AspNetCore.Payment.QPay;
@@ -8,11 +6,9 @@ using Essensoft.AspNetCore.Payment.UnionPay;
 using Essensoft.AspNetCore.Payment.WeChatPay;
 using Microsoft.AspNetCore.Builder;
 using Microsoft.AspNetCore.Hosting;
-using Microsoft.AspNetCore.Http;
-using Microsoft.AspNetCore.Mvc;
 using Microsoft.Extensions.Configuration;
 using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Hosting;
 
 namespace WebApplicationSample
 {
@@ -28,13 +24,6 @@ namespace WebApplicationSample
         // This method gets called by the runtime. Use this method to add services to the container.
         public void ConfigureServices(IServiceCollection services)
         {
-            services.Configure<CookiePolicyOptions>(options =>
-            {
-                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
-                options.CheckConsentNeeded = context => true;
-                options.MinimumSameSitePolicy = SameSiteMode.None;
-            });
-
             // 引入Payment 依赖注入
             services.AddAlipay();
             services.AddJDPay();
@@ -51,16 +40,11 @@ namespace WebApplicationSample
             services.Configure<WeChatPayOptions>(Configuration.GetSection("WeChatPay"));
             services.Configure<LianLianPayOptions>(Configuration.GetSection("LianLianPay"));
 
-            services.AddWebEncoders(opt =>
-            {
-                opt.TextEncoderSettings = new TextEncoderSettings(UnicodeRanges.All);
-            });
-
-            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
+            services.AddControllersWithViews();
         }
 
         // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
-        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
+        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
         {
             if (env.IsDevelopment())
             {
@@ -69,18 +53,21 @@ namespace WebApplicationSample
             else
             {
                 app.UseExceptionHandler("/Home/Error");
+                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                 app.UseHsts();
             }
-
+            app.UseHttpsRedirection();
             app.UseStaticFiles();
 
-            app.UseCookiePolicy();
+            app.UseRouting();
+
+            app.UseAuthorization();
 
-            app.UseMvc(routes =>
+            app.UseEndpoints(endpoints =>
             {
-                routes.MapRoute(
-                    "default",
-                    "{controller=Home}/{action=Index}/{id?}");
+                endpoints.MapControllerRoute(
+                    name: "default",
+                    pattern: "{controller=Home}/{action=Index}/{id?}");
             });
         }
     }

+ 2 - 5
samples/WebApplicationSample/WebApplicationSample.csproj

@@ -1,14 +1,11 @@
 <Project Sdk="Microsoft.NET.Sdk.Web">
 
   <PropertyGroup>
-    <TargetFramework>netcoreapp2.2</TargetFramework>
+    <TargetFramework>netcoreapp3.0</TargetFramework>
     <UserSecretsId>a59ca38e-9b52-44fe-b3d2-8cb5a1641623</UserSecretsId>
-    <Version>1.0.0</Version>
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.App" />
-    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.3" />
     <PackageReference Include="QRCoder" Version="1.3.5" />
   </ItemGroup>
 
@@ -20,5 +17,5 @@
     <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>
- 
+
 </Project>

+ 2 - 3
samples/WebApplicationSample/appsettings.Development.json

@@ -1,8 +1,7 @@
-{
+{
   "Logging": {
-    "IncludeScopes": false,
     "LogLevel": {
-      "Default": "Trace",
+      "Default": "Debug",
       "System": "Information",
       "Microsoft": "Information"
     }

+ 6 - 4
samples/WebApplicationSample/appsettings.json

@@ -1,8 +1,10 @@
-{
+{
   "Logging": {
-    "IncludeScopes": false,
     "LogLevel": {
-      "Default": "Trace"
+      "Default": "Information",
+      "Microsoft": "Warning",
+      "Microsoft.Hosting.Lifetime": "Information"
     }
-  }
+  },
+  "AllowedHosts": "*"
 }

+ 0 - 24
samples/WebApplicationSample/bundleconfig.json

@@ -1,24 +0,0 @@
-// Configure bundling and minification for the project.
-// More info at https://go.microsoft.com/fwlink/?LinkId=808241
-[
-  {
-    "outputFileName": "wwwroot/css/site.min.css",
-    // An array of relative input file paths. Globbing patterns supported
-    "inputFiles": [
-      "wwwroot/css/site.css"
-    ]
-  },
-  {
-    "outputFileName": "wwwroot/js/site.min.js",
-    "inputFiles": [
-      "wwwroot/js/site.js"
-    ],
-    // Optionally specify minification options
-    "minify": {
-      "enabled": true,
-      "renameLocals": true
-    },
-    // Optionally generate .map file
-    "sourceMap": false
-  }
-]

+ 0 - 438
samples/WebApplicationSample_V3_0/Controllers/AlipayController.cs

@@ -1,438 +0,0 @@
-using System.Text;
-using System.Threading.Tasks;
-using Essensoft.AspNetCore.Payment.Alipay;
-using Essensoft.AspNetCore.Payment.Alipay.Domain;
-using Essensoft.AspNetCore.Payment.Alipay.Notify;
-using Essensoft.AspNetCore.Payment.Alipay.Request;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Options;
-using WebApplicationSample_V3_0.Models;
-
-namespace WebApplicationSample_V3_0.Controllers
-{
-    public class AlipayController : Controller
-    {
-        private readonly IAlipayClient _client;
-        private readonly IAlipayNotifyClient _notifyClient;
-        private readonly IOptions<AlipayOptions> _optionsAccessor;
-
-        public AlipayController(IAlipayClient client, IAlipayNotifyClient notifyClient, IOptions<AlipayOptions> optionsAccessor)
-        {
-            _client = client;
-            _notifyClient = notifyClient;
-            _optionsAccessor = optionsAccessor;
-        }
-
-        /// <summary>
-        /// 支付宝指引页
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult Index()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 当面付-扫码支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult PreCreate()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 当面付-扫码支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> PreCreate(AlipayTradePreCreateViewModel viewModel)
-        {
-            var model = new AlipayTradePrecreateModel
-            {
-                OutTradeNo = viewModel.OutTradeNo,
-                Subject = viewModel.Subject,
-                TotalAmount = viewModel.TotalAmount,
-                Body = viewModel.Body
-            };
-            var req = new AlipayTradePrecreateRequest();
-            req.SetBizModel(model);
-            req.SetNotifyUrl(viewModel.NotifyUrl);
-
-            var response = await _client.ExecuteAsync(req, _optionsAccessor.Value);
-            ViewData["qrcode"] = response.QrCode;
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 当面付-二维码/条码/声波支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult Pay()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 当面付-二维码/条码/声波支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> Pay(AlipayTradePayViewModel viewModel)
-        {
-            var model = new AlipayTradePayModel
-            {
-                OutTradeNo = viewModel.OutTradeNo,
-                Subject = viewModel.Subject,
-                Scene = viewModel.Scene,
-                AuthCode = viewModel.AuthCode,
-                TotalAmount = viewModel.TotalAmount,
-                Body = viewModel.Body
-            };
-            var req = new AlipayTradePayRequest();
-            req.SetBizModel(model);
-
-            var response = await _client.ExecuteAsync(req, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// APP支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult AppPay()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// APP支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> AppPay(AlipayTradeAppPayViewModel viewModel)
-        {
-            var model = new AlipayTradeAppPayModel
-            {
-                OutTradeNo = viewModel.OutTradeNo,
-                Subject = viewModel.Subject,
-                ProductCode = viewModel.ProductCode,
-                TotalAmount = viewModel.TotalAmount,
-                Body = viewModel.Body
-            };
-            var req = new AlipayTradeAppPayRequest();
-            req.SetBizModel(model);
-            req.SetNotifyUrl(viewModel.NotifyUrl);
-
-            var response = await _client.SdkExecuteAsync(req, _optionsAccessor.Value);
-            //将response.Body给 ios/android端 由其去调起支付宝APP(https://docs.open.alipay.com/204/105296/ https://docs.open.alipay.com/204/105295/)
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 电脑网站支付
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult PagePay()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 电脑网站支付
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> PagePay(AlipayTradePagePayViewModel viewModel)
-        {
-            var model = new AlipayTradePagePayModel
-            {
-                Body = viewModel.Body,
-                Subject = viewModel.Subject,
-                TotalAmount = viewModel.TotalAmount,
-                OutTradeNo = viewModel.OutTradeNo,
-                ProductCode = viewModel.ProductCode
-            };
-            var req = new AlipayTradePagePayRequest();
-            req.SetBizModel(model);
-            req.SetNotifyUrl(viewModel.NotifyUrl);
-            req.SetReturnUrl(viewModel.ReturnUrl);
-
-            var response = await _client.PageExecuteAsync(req, _optionsAccessor.Value);
-            return Content(response.ResponseBody, "text/html", Encoding.UTF8);
-        }
-
-        /// <summary>
-        /// 手机网站支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult WapPay()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 手机网站支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> WapPay(AlipayTradeWapPayViewModel viewMode)
-        {
-            var model = new AlipayTradeWapPayModel
-            {
-                Body = viewMode.Body,
-                Subject = viewMode.Subject,
-                TotalAmount = viewMode.TotalAmount,
-                OutTradeNo = viewMode.OutTradeNo,
-                ProductCode = viewMode.ProductCode
-            };
-            var req = new AlipayTradeWapPayRequest();
-            req.SetBizModel(model);
-            req.SetNotifyUrl(viewMode.NotifyUrl);
-            req.SetReturnUrl(viewMode.ReturnUrl);
-
-            var response = await _client.PageExecuteAsync(req, _optionsAccessor.Value);
-            return Content(response.ResponseBody, "text/html", Encoding.UTF8);
-        }
-
-        /// <summary>
-        /// 交易查询
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult Query()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 交易查询
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> Query(AlipayTradeQueryViewModel viewMode)
-        {
-            var model = new AlipayTradeQueryModel
-            {
-                OutTradeNo = viewMode.OutTradeNo,
-                TradeNo = viewMode.TradeNo
-            };
-
-            var req = new AlipayTradeQueryRequest();
-            req.SetBizModel(model);
-
-            var response = await _client.ExecuteAsync(req, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 交易退款
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult Refund()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 交易退款
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> Refund(AlipayTradeRefundViewModel viewMode)
-        {
-            var model = new AlipayTradeRefundModel
-            {
-                OutTradeNo = viewMode.OutTradeNo,
-                TradeNo = viewMode.TradeNo,
-                RefundAmount = viewMode.RefundAmount,
-                OutRequestNo = viewMode.OutRequestNo,
-                RefundReason = viewMode.RefundReason
-            };
-
-            var req = new AlipayTradeRefundRequest();
-            req.SetBizModel(model);
-
-            var response = await _client.ExecuteAsync(req, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 退款查询
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult RefundQuery()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 退款查询
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> RefundQuery(AlipayTradeRefundQueryViewModel viewMode)
-        {
-            var model = new AlipayTradeFastpayRefundQueryModel
-            {
-                OutTradeNo = viewMode.OutTradeNo,
-                TradeNo = viewMode.TradeNo,
-                OutRequestNo = viewMode.OutRequestNo
-            };
-
-            var req = new AlipayTradeFastpayRefundQueryRequest();
-            req.SetBizModel(model);
-
-            var response = await _client.ExecuteAsync(req, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 单笔转账到支付宝账户
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult Transfer()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 单笔转账到支付宝账户
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> Transfer(AlipayTransferViewModel viewMode)
-        {
-            var model = new AlipayFundTransToaccountTransferModel
-            {
-                OutBizNo = viewMode.OutBizNo,
-                PayeeType = viewMode.PayeeType,
-                PayeeAccount = viewMode.PayeeAccount,
-                Amount = viewMode.Amount,
-                Remark = viewMode.Remark
-            };
-            var req = new AlipayFundTransToaccountTransferRequest();
-            req.SetBizModel(model);
-            var response = await _client.ExecuteAsync(req, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 查询转账订单
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult TransQuery()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 查询转账订单
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> TransQuery(AlipayTransQueryViewModel viewMode)
-        {
-            var model = new AlipayFundTransOrderQueryModel
-            {
-                OutBizNo = viewMode.OutBizNo,
-                OrderId = viewMode.OrderId
-            };
-
-            var req = new AlipayFundTransOrderQueryRequest();
-            req.SetBizModel(model);
-            var response = await _client.ExecuteAsync(req, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 查询对账单下载地址
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult BillDownloadurlQuery()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 查询对账单下载地址
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> BillDownloadurlQuery(AlipayBillDownloadurlQueryViewModel viewModel)
-        {
-            var model = new AlipayDataDataserviceBillDownloadurlQueryModel
-            {
-                BillDate = viewModel.BillDate,
-                BillType = viewModel.BillType
-            };
-
-            var req = new AlipayDataDataserviceBillDownloadurlQueryRequest();
-            req.SetBizModel(model);
-            var response = await _client.ExecuteAsync(req, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 电脑网站支付 - 同步跳转
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public async Task<IActionResult> PagePayReturn()
-        {
-            try
-            {
-                var notify = await _notifyClient.ExecuteAsync<AlipayTradePagePayReturn>(Request, _optionsAccessor.Value);
-                ViewData["response"] = "支付成功";
-                return View();
-            }
-            catch
-            {
-                ViewData["response"] = "出现错误";
-                return View();
-            }
-        }
-
-        /// <summary>
-        /// 手机网站支付 - 同步跳转
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public async Task<IActionResult> WapPayReturn()
-        {
-            try
-            {
-                var notify = await _notifyClient.ExecuteAsync<AlipayTradeWapPayReturn>(Request, _optionsAccessor.Value);
-                ViewData["response"] = "支付成功";
-                return View();
-            }
-            catch
-            {
-                ViewData["response"] = "出现错误";
-                return View();
-            }
-        }
-    }
-}

+ 0 - 53
samples/WebApplicationSample_V3_0/Controllers/HomeController.cs

@@ -1,53 +0,0 @@
-using System.Diagnostics;
-using System.Drawing;
-using System.Text;
-using Microsoft.AspNetCore.Mvc;
-using QRCoder;
-using WebApplicationSample_V3_0.Models;
-
-namespace WebApplicationSample_V3_0.Controllers
-{
-    public class HomeController : Controller
-    {
-        /// <summary>
-        /// 前言
-        /// </summary>
-        /// <returns></returns>
-        public IActionResult Index()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 打赏
-        /// </summary>
-        /// <returns></returns>
-        public IActionResult Gratuity()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 生成二维码SVG
-        /// </summary>
-        /// <param name="data"></param>
-        /// <param name="size"></param>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult QrCode(string data, int size = 168)
-        {
-            using (var qrGenerator = new QRCodeGenerator())
-            using (var qrCodeData = qrGenerator.CreateQrCode(data, QRCodeGenerator.ECCLevel.L))
-            using (var svgQrCode = new SvgQRCode(qrCodeData))
-            {
-                var svgText = svgQrCode.GetGraphic(new Size(size, size));
-                return File(Encoding.UTF8.GetBytes(svgText), "text/xml");
-            }
-        }
-
-        public IActionResult Error()
-        {
-            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
-        }
-    }
-}

+ 0 - 341
samples/WebApplicationSample_V3_0/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_V3_0.Models;
-
-namespace WebApplicationSample_V3_0.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_V3_0/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_V3_0.Models;
-
-namespace WebApplicationSample_V3_0.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 - 428
samples/WebApplicationSample_V3_0/Controllers/NotifyController.cs

@@ -1,428 +0,0 @@
-using System;
-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;
-using Microsoft.Extensions.Options;
-
-namespace WebApplicationSample_V3_0.Controllers
-{
-    #region 支付宝异步通知
-
-    [Route("notify/alipay")]
-    public class AlipayNotifyController : Controller
-    {
-        private readonly IAlipayNotifyClient _client;
-        private readonly IOptions<AlipayOptions> _optionsAccessor;
-
-        public AlipayNotifyController(IAlipayNotifyClient client, IOptions<AlipayOptions> optionsAccessor)
-        {
-            _client = client;
-            _optionsAccessor = optionsAccessor;
-        }
-
-        /// <summary>
-        /// 扫码支付异步通知
-        /// </summary>
-        /// <returns></returns>
-        [Route("precreate")]
-        [HttpPost]
-        public async Task<IActionResult> Precreate()
-        {
-            try
-            {
-                var notify = await _client.ExecuteAsync<AlipayTradePrecreateNotify>(Request, _optionsAccessor.Value);
-                if ("TRADE_SUCCESS" == notify.TradeStatus)
-                {
-                    Console.WriteLine("OutTradeNo: " + notify.OutTradeNo);
-
-                    return AlipayNotifyResult.Success;
-                }
-                return NoContent();
-            }
-            catch
-            {
-                return NoContent();
-            }
-        }
-
-        /// <summary>
-        /// APP支付异步通知
-        /// </summary>
-        /// <returns></returns>
-        [Route("apppay")]
-        [HttpPost]
-        public async Task<IActionResult> AppPay()
-        {
-            try
-            {
-                var notify = await _client.ExecuteAsync<AlipayTradeAppPayNotify>(Request, _optionsAccessor.Value);
-                if ("TRADE_SUCCESS" == notify.TradeStatus)
-                {
-                    Console.WriteLine("OutTradeNo: " + notify.OutTradeNo);
-
-                    return AlipayNotifyResult.Success;
-                }
-                return NoContent();
-            }
-            catch
-            {
-                return NoContent();
-            }
-        }
-
-        /// <summary>
-        /// 电脑网站支付异步通知
-        /// </summary>
-        /// <returns></returns>
-        [Route("pagepay")]
-        [HttpPost]
-        public async Task<IActionResult> PagePay()
-        {
-            try
-            {
-                var notify = await _client.ExecuteAsync<AlipayTradePagePayNotify>(Request, _optionsAccessor.Value);
-                if ("TRADE_SUCCESS" == notify.TradeStatus)
-                {
-                    Console.WriteLine("OutTradeNo: " + notify.OutTradeNo);
-
-                    return AlipayNotifyResult.Success;
-                }
-                return NoContent();
-            }
-            catch
-            {
-                return NoContent();
-            }
-        }
-
-        /// <summary>
-        /// 手机网站支付异步通知
-        /// </summary>
-        /// <returns></returns>
-        [Route("wappay")]
-        [HttpPost]
-        public async Task<IActionResult> WapPay()
-        {
-            try
-            {
-                var notify = await _client.ExecuteAsync<AlipayTradeWapPayNotify>(Request, _optionsAccessor.Value);
-                if ("TRADE_SUCCESS" == notify.TradeStatus)
-                {
-                    Console.WriteLine("OutTradeNo: " + notify.OutTradeNo);
-
-                    return AlipayNotifyResult.Success;
-                }
-                return NoContent();
-            }
-            catch
-            {
-                return NoContent();
-            }
-        }
-    }
-
-    #endregion
-
-    #region 微信支付异步通知
-
-    [Route("notify/wechatpay")]
-    public class WeChatPayNotifyController : Controller
-    {
-        private readonly IWeChatPayNotifyClient _client;
-        private readonly IOptions<WeChatPayOptions> _optionsAccessor;
-
-        public WeChatPayNotifyController(IWeChatPayNotifyClient client, IOptions<WeChatPayOptions> optionsAccessor)
-        {
-            _client = client;
-            _optionsAccessor = optionsAccessor;
-        }
-
-        /// <summary>
-        /// 统一下单支付结果通知
-        /// </summary>
-        /// <returns></returns>
-        [Route("unifiedorder")]
-        [HttpPost]
-        public async Task<IActionResult> Unifiedorder()
-        {
-            try
-            {
-                var notify = await _client.ExecuteAsync<WeChatPayUnifiedOrderNotify>(Request, _optionsAccessor.Value);
-                if (notify.ReturnCode == "SUCCESS")
-                {
-                    if (notify.ResultCode == "SUCCESS")
-                    {
-                        Console.WriteLine("OutTradeNo: " + notify.OutTradeNo);
-
-                        return WeChatPayNotifyResult.Success;
-                    }
-                }
-                return NoContent();
-            }
-            catch
-            {
-                return NoContent();
-            }
-        }
-
-        /// <summary>
-        /// 退款结果通知
-        /// </summary>
-        /// <returns></returns>
-        [Route("refund")]
-        [HttpPost]
-        public async Task<IActionResult> Refund()
-        {
-            try
-            {
-                var notify = await _client.ExecuteAsync<WeChatPayRefundNotify>(Request, _optionsAccessor.Value);
-                if (notify.ReturnCode == "SUCCESS")
-                {
-                    if (notify.RefundStatus == "SUCCESS")
-                    {
-                        Console.WriteLine("OutTradeNo: " + notify.OutTradeNo);
-                        return WeChatPayNotifyResult.Success;
-                    }
-                }
-                return NoContent();
-            }
-            catch
-            {
-                return NoContent();
-            }
-        }
-    }
-
-    #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_V3_0/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_V3_0.Models;
-
-namespace WebApplicationSample_V3_0.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_V3_0/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_V3_0.Models;
-
-namespace WebApplicationSample_V3_0.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 - 607
samples/WebApplicationSample_V3_0/Controllers/WeChatPayController.cs

@@ -1,607 +0,0 @@
-using System.Threading.Tasks;
-using Essensoft.AspNetCore.Payment.WeChatPay;
-using Essensoft.AspNetCore.Payment.WeChatPay.Request;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Options;
-using Newtonsoft.Json;
-using WebApplicationSample_V3_0.Models;
-
-namespace WebApplicationSample_V3_0.Controllers
-{
-    public class WeChatPayController : Controller
-    {
-        private readonly IWeChatPayClient _client;
-        private readonly IOptions<WeChatPayOptions> _optionsAccessor;
-
-        public WeChatPayController(IWeChatPayClient client, IOptions<WeChatPayOptions> optionsAccessor)
-        {
-            _client = client;
-            _optionsAccessor = optionsAccessor;
-        }
-
-        /// <summary>
-        /// 微信支付指引页
-        /// </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(WeChatPayMicroPayViewModel viewModel)
-        {
-            var request = new WeChatPayMicroPayRequest
-            {
-                Body = viewModel.Body,
-                OutTradeNo = viewModel.OutTradeNo,
-                TotalFee = viewModel.TotalFee,
-                SpBillCreateIp = viewModel.SpBillCreateIp,
-                AuthCode = viewModel.AuthCode
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            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(WeChatPayPubPayViewModel viewModel)
-        {
-            var request = new WeChatPayUnifiedOrderRequest
-            {
-                Body = viewModel.Body,
-                OutTradeNo = viewModel.OutTradeNo,
-                TotalFee = viewModel.TotalFee,
-                SpBillCreateIp = viewModel.SpBillCreateIp,
-                NotifyUrl = viewModel.NotifyUrl,
-                TradeType = viewModel.TradeType,
-                OpenId = viewModel.OpenId
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            if (response.ReturnCode == "SUCCESS" && response.ResultCode == "SUCCESS")
-            {
-                var req = new WeChatPayJsApiSdkRequest
-                {
-                    Package = "prepay_id=" + response.PrepayId
-                };
-                var parameter = await _client.ExecuteAsync(req, _optionsAccessor.Value);
-                // 将参数(parameter)给 公众号前端 让他在微信内H5调起支付(https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6)
-                ViewData["parameter"] = JsonConvert.SerializeObject(parameter);
-                ViewData["response"] = response.ResponseBody;
-                return View();
-            }
-            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(WeChatPayQrCodePayViewModel viewModel)
-        {
-            var request = new WeChatPayUnifiedOrderRequest
-            {
-                Body = viewModel.Body,
-                OutTradeNo = viewModel.OutTradeNo,
-                TotalFee = viewModel.TotalFee,
-                SpBillCreateIp = viewModel.SpBillCreateIp,
-                NotifyUrl = viewModel.NotifyUrl,
-                TradeType = viewModel.TradeType
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            // response.CodeUrl 给前端生成二维码
-            ViewData["qrcode"] = response.CodeUrl;
-            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(WeChatPayAppPayViewModel viewModel)
-        {
-            var request = new WeChatPayUnifiedOrderRequest
-            {
-                Body = viewModel.Body,
-                OutTradeNo = viewModel.OutTradeNo,
-                TotalFee = viewModel.TotalFee,
-                SpBillCreateIp = viewModel.SpBillCreateIp,
-                NotifyUrl = viewModel.NotifyUrl,
-                TradeType = viewModel.TradeType
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-
-            if (response.ReturnCode == "SUCCESS" && response.ResultCode == "SUCCESS")
-            {
-                var req = new WeChatPayAppSdkRequest
-                {
-                    PrepayId = response.PrepayId
-                };
-                var parameter = await _client.ExecuteAsync(req, _optionsAccessor.Value);
-                // 将参数(parameter)给 ios/android端 让他调起微信APP(https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5)
-                ViewData["parameter"] = JsonConvert.SerializeObject(parameter);
-                ViewData["response"] = response.ResponseBody;
-                return View();
-            }
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// H5支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult H5Pay()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// H5支付
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> H5Pay(WeChatPayH5PayViewModel viewModel)
-        {
-            var request = new WeChatPayUnifiedOrderRequest
-            {
-                Body = viewModel.Body,
-                OutTradeNo = viewModel.OutTradeNo,
-                TotalFee = viewModel.TotalFee,
-                SpBillCreateIp = viewModel.SpBillCreateIp,
-                NotifyUrl = viewModel.NotifyUrl,
-                TradeType = viewModel.TradeType
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-
-            // mweb_url为拉起微信支付收银台的中间页面,可通过访问该url来拉起微信客户端,完成支付,mweb_url的有效期为5分钟。
-            return Redirect(response.MwebUrl);
-        }
-
-        /// <summary>
-        /// 小程序支付
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult LiteAppPay()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 小程序支付
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> LiteAppPay(WeChatPayLiteAppPayViewModel viewModel)
-        {
-            var request = new WeChatPayUnifiedOrderRequest
-            {
-                Body = viewModel.Body,
-                OutTradeNo = viewModel.OutTradeNo,
-                TotalFee = viewModel.TotalFee,
-                SpBillCreateIp = viewModel.SpBillCreateIp,
-                NotifyUrl = viewModel.NotifyUrl,
-                TradeType = viewModel.TradeType,
-                OpenId = viewModel.OpenId
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-
-            if (response.ReturnCode == "SUCCESS" && response.ResultCode == "SUCCESS")
-            {
-                var req = new WeChatPayLiteAppSdkRequest
-                {
-                    Package = "prepay_id=" + response.PrepayId
-                };
-                var parameter = await _client.ExecuteAsync(req, _optionsAccessor.Value);
-                // 将参数(parameter)给 小程序前端 让他调起支付API(https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=5)
-                ViewData["parameter"] = JsonConvert.SerializeObject(parameter);
-                ViewData["response"] = response.ResponseBody;
-                return View();
-            }
-            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(WeChatPayOrderQueryViewModel viewModel)
-        {
-            var request = new WeChatPayOrderQueryRequest
-            {
-                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(WeChatPayReverseViewModel viewModel)
-        {
-            var request = new WeChatPayReverseRequest
-            {
-                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 CloseOrder()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 关闭订单
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> CloseOrder(WeChatPayCloseOrderViewModel viewModel)
-        {
-            var request = new WeChatPayCloseOrderRequest
-            {
-                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(WeChatPayRefundViewModel viewModel)
-        {
-            var request = new WeChatPayRefundRequest
-            {
-                OutRefundNo = viewModel.OutRefundNo,
-                TransactionId = viewModel.TransactionId,
-                OutTradeNo = viewModel.OutTradeNo,
-                TotalFee = viewModel.TotalFee,
-                RefundFee = viewModel.RefundFee,
-                RefundDesc = viewModel.RefundDesc,
-                NotifyUrl = viewModel.NotifyUrl
-            };
-            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(WeChatPayRefundQueryViewModel viewModel)
-        {
-            var request = new WeChatPayRefundQueryRequest
-            {
-                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 DownloadBill()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 下载对账单
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> DownloadBill(WeChatPayDownloadBillViewModel viewModel)
-        {
-            var request = new WeChatPayDownloadBillRequest
-            {
-                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 DownloadFundFlow()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 下载资金账单
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> DownloadFundFlow(WeChatPayDownloadFundFlowViewModel viewModel)
-        {
-            var request = new WeChatPayDownloadFundFlowRequest
-            {
-                BillDate = viewModel.BillDate,
-                AccountType = viewModel.AccountType,
-                TarType = viewModel.TarType
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 企业付款到零钱
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult Transfers()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 企业付款到零钱
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> Transfers(WeChatPayTransfersViewModel viewModel)
-        {
-            var request = new WeChatPayPromotionTransfersRequest
-            {
-                PartnerTradeNo = viewModel.PartnerTradeNo,
-                OpenId = viewModel.OpenId,
-                CheckName = viewModel.CheckName,
-                ReUserName = viewModel.ReUserName,
-                Amount = viewModel.Amount,
-                Desc = viewModel.Desc,
-                SpBillCreateIp = viewModel.SpBillCreateIp
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 查询企业付款
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult GetTransferInfo()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 查询企业付款
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> GetTransferInfo(WeChatPayGetTransferInfoViewModel viewModel)
-        {
-            var request = new WeChatPayGetTransferInfoRequest
-            {
-                PartnerTradeNo = viewModel.PartnerTradeNo
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 企业付款到银行卡
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult PayBank()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 企业付款到银行卡
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> PayBank(WeChatPayPayBankViewModel viewModel)
-        {
-            var request = new WeChatPayPayBankRequest
-            {
-                PartnerTradeNo = viewModel.PartnerTradeNo,
-                EncBankNo = viewModel.EncBankNo,
-                EncTrueName = viewModel.EncTrueName,
-                BankCode = viewModel.BankCode,
-                Amount = viewModel.Amount,
-                Desc = viewModel.Desc
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 查询企业付款银行卡
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public IActionResult QueryBank()
-        {
-            return View();
-        }
-
-        /// <summary>
-        /// 查询企业付款银行卡
-        /// </summary>
-        /// <param name="viewModel"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> QueryBank(WeChatPayQueryBankViewModel viewModel)
-        {
-            var request = new WeChatPayQueryBankRequest
-            {
-                PartnerTradeNo = viewModel.PartnerTradeNo
-            };
-            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-            ViewData["response"] = response.ResponseBody;
-            return View();
-        }
-
-        /// <summary>
-        /// 获取RSA加密公钥
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        [HttpPost]
-        public async Task<IActionResult> GetPublicKey()
-        {
-            if (Request.Method == "POST")
-            {
-                var request = new WeChatPayRiskGetPublicKeyRequest();
-                var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
-                ViewData["response"] = response.ResponseBody;
-                return View();
-            }
-
-            return View();
-        }
-    }
-}

+ 0 - 25
samples/WebApplicationSample_V3_0/Helpers/HMTLHelperExtensions.cs

@@ -1,25 +0,0 @@
-using Microsoft.AspNetCore.Mvc.Rendering;
-
-namespace WebApplicationSample_V3_0.Helpers
-{
-    public static class HtmlHelpers
-    {
-        public static string IsActive(this IHtmlHelper html, string controller = null, string action = null, string activeClass = "active")
-        {
-            var actualAction = (string)html.ViewContext.RouteData.Values["action"];
-            var actualController = (string)html.ViewContext.RouteData.Values["controller"];
-
-            if (string.IsNullOrEmpty(controller))
-            {
-                controller = actualController;
-            }
-
-            if (string.IsNullOrEmpty(action))
-            {
-                action = actualAction;
-            }
-
-            return controller == actualController && action == actualAction ? activeClass : string.Empty;
-        }
-    }
-}

+ 0 - 212
samples/WebApplicationSample_V3_0/Models/AlipayViewModel.cs

@@ -1,212 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace WebApplicationSample_V3_0.Models
-{
-    public class AlipayTradePreCreateViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "subject")]
-        public string Subject { get; set; }
-
-        [Display(Name = "body")]
-        public string Body { get; set; }
-
-        [Required]
-        [Display(Name = "total_amount")]
-        public string TotalAmount { get; set; }
-
-        [Display(Name = "notify_url")]
-        public string NotifyUrl { get; set; }
-    }
-
-    public class AlipayTradePayViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "subject")]
-        public string Subject { get; set; }
-
-        [Required]
-        [Display(Name = "scene")]
-        public string Scene { get; set; }
-
-        [Required]
-        [Display(Name = "auth_code")]
-        public string AuthCode { get; set; }
-
-        [Display(Name = "body")]
-        public string Body { get; set; }
-
-        [Required]
-        [Display(Name = "total_amount")]
-        public string TotalAmount { get; set; }
-    }
-
-    public class AlipayTradeAppPayViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "subject")]
-        public string Subject { get; set; }
-
-        [Display(Name = "product_code")]
-        public string ProductCode { get; set; }
-
-        [Display(Name = "body")]
-        public string Body { get; set; }
-
-        [Required]
-        [Display(Name = "total_amount")]
-        public string TotalAmount { get; set; }
-
-        [Display(Name = "notify_url")]
-        public string NotifyUrl { get; set; }
-    }
-
-    public class AlipayTradePagePayViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "subject")]
-        public string Subject { get; set; }
-
-        [Required]
-        [Display(Name = "product_code")]
-        public string ProductCode { get; set; }
-
-        [Display(Name = "body")]
-        public string Body { get; set; }
-
-        [Required]
-        [Display(Name = "total_amount")]
-        public string TotalAmount { get; set; }
-
-        [Display(Name = "notify_url")]
-        public string NotifyUrl { get; set; }
-
-        [Display(Name = "return_url")]
-        public string ReturnUrl { get; set; }
-    }
-
-    public class AlipayTradeWapPayViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "subject")]
-        public string Subject { get; set; }
-
-        [Required]
-        [Display(Name = "product_code")]
-        public string ProductCode { get; set; }
-
-        [Display(Name = "body")]
-        public string Body { get; set; }
-
-        [Required]
-        [Display(Name = "total_amount")]
-        public string TotalAmount { get; set; }
-
-        [Display(Name = "notify_url")]
-        public string NotifyUrl { get; set; }
-
-        [Display(Name = "return_url")]
-        public string ReturnUrl { get; set; }
-    }
-
-    public class AlipayTradeQueryViewModel
-    {
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Display(Name = "trade_no")]
-        public string TradeNo { get; set; }
-    }
-
-    public class AlipayTradeRefundViewModel
-    {
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Display(Name = "trade_no")]
-        public string TradeNo { get; set; }
-
-        [Display(Name = "refund_amount")]
-        public string RefundAmount { get; set; }
-
-        [Display(Name = "out_request_no")]
-        public string OutRequestNo { get; set; }
-
-        [Display(Name = "refund_reason")]
-        public string RefundReason { get; set; }
-    }
-
-    public class AlipayTradeRefundQueryViewModel
-    {
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Display(Name = "trade_no")]
-        public string TradeNo { get; set; }
-
-        [Display(Name = "out_request_no")]
-        public string OutRequestNo { get; set; }
-    }
-    
-    public class AlipayTransferViewModel
-    {
-        [Required]
-        [Display(Name = "out_biz_no")]
-        public string OutBizNo { get; set; }
-
-        [Required]
-        [Display(Name = "payee_account")]
-        public string PayeeAccount { get; set; }
-
-        [Required]
-        [Display(Name = "payee_type")]
-        public string PayeeType { get; set; }
-
-        [Required]
-        [Display(Name = "amount")]
-        public string Amount { get; set; }
-
-        [Display(Name = "remark")]
-        public string Remark { get; set; }
-    }
-
-    public class AlipayTransQueryViewModel
-    {
-        [Display(Name = "out_biz_no")]
-        public string OutBizNo { get; set; }
-
-        [Display(Name = "order_id")]
-        public string OrderId { get; set; }
-    }
-
-    public class AlipayBillDownloadurlQueryViewModel
-    {
-        [Required]
-        [Display(Name = "bill_type")]
-        public string BillType { get; set; }
-
-        [Required]
-        [Display(Name = "bill_date")]
-        public string BillDate { get; set; }
-    }
-}

+ 0 - 9
samples/WebApplicationSample_V3_0/Models/ErrorViewModel.cs

@@ -1,9 +0,0 @@
-namespace WebApplicationSample_V3_0.Models
-{
-    public class ErrorViewModel
-    {
-        public string RequestId { get; set; }
-
-        public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
-    }
-}

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

@@ -1,241 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace WebApplicationSample_V3_0.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_V3_0/Models/LianLianPayViewModel.cs

@@ -1,125 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace WebApplicationSample_V3_0.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_V3_0/Models/QPayViewModel.cs

@@ -1,189 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace WebApplicationSample_V3_0.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_V3_0/Models/UnionPayViewModel.cs

@@ -1,33 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace WebApplicationSample_V3_0.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 - 335
samples/WebApplicationSample_V3_0/Models/WeChatPayViewModel.cs

@@ -1,335 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace WebApplicationSample_V3_0.Models
-{
-    public class WeChatPayMicroPayViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "body")]
-        public string Body { 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 = "auth_code")]
-        public string AuthCode { get; set; }
-    }
-
-    public class WeChatPayPubPayViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "body")]
-        public string Body { 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 = "notify_url")]
-        public string NotifyUrl { get; set; }
-
-        [Required]
-        [Display(Name = "trade_type")]
-        public string TradeType { get; set; }
-
-        [Required]
-        [Display(Name = "openid")]
-        public string OpenId { get; set; }
-    }
-
-    public class WeChatPayQrCodePayViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "body")]
-        public string Body { 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 = "notify_url")]
-        public string NotifyUrl { get; set; }
-
-        [Required]
-        [Display(Name = "trade_type")]
-        public string TradeType { get; set; }
-    }
-
-    public class WeChatPayAppPayViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "body")]
-        public string Body { 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 = "notify_url")]
-        public string NotifyUrl { get; set; }
-
-        [Required]
-        [Display(Name = "trade_type")]
-        public string TradeType { get; set; }
-    }
-
-    public class WeChatPayH5PayViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "body")]
-        public string Body { 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 = "notify_url")]
-        public string NotifyUrl { get; set; }
-
-        [Required]
-        [Display(Name = "trade_type")]
-        public string TradeType { get; set; }
-    }
-
-    public class WeChatPayLiteAppPayViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "body")]
-        public string Body { 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 = "notify_url")]
-        public string NotifyUrl { get; set; }
-
-        [Required]
-        [Display(Name = "trade_type")]
-        public string TradeType { get; set; }
-
-        [Required]
-        [Display(Name = "openid")]
-        public string OpenId { get; set; }
-    }
-
-    public class WeChatPayOrderQueryViewModel
-    {
-        [Display(Name = "transaction_id")]
-        public string TransactionId { get; set; }
-
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-    }
-
-    public class WeChatPayReverseViewModel
-    {
-        [Display(Name = "transaction_id")]
-        public string TransactionId { get; set; }
-
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-    }
-
-    public class WeChatPayCloseOrderViewModel
-    {
-        [Required]
-        [Display(Name = "out_trade_no")]
-        public string OutTradeNo { get; set; }
-    }
-
-    public class WeChatPayRefundViewModel
-    {
-        [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 = "total_fee")]
-        public int TotalFee { get; set; }
-
-        [Required]
-        [Display(Name = "refund_fee")]
-        public int RefundFee { get; set; }
-
-        [Display(Name = "refund_desc")]
-        public string RefundDesc { get; set; }
-
-        [Display(Name = "notify_url")]
-        public string NotifyUrl { get; set; }
-    }
-
-    public class WeChatPayRefundQueryViewModel
-    {
-        [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 WeChatPayDownloadBillViewModel
-    {
-        [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 WeChatPayDownloadFundFlowViewModel
-    {
-        [Required]
-        [Display(Name = "bill_date")]
-        public string BillDate { get; set; }
-
-        [Required]
-        [Display(Name = "account_type")]
-        public string AccountType { get; set; }
-
-        [Display(Name = "tar_type")]
-        public string TarType { get; set; }
-    }
-
-    public class WeChatPayTransfersViewModel
-    {
-        [Required]
-        [Display(Name = "partner_trade_no")]
-        public string PartnerTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "openid")]
-        public string OpenId { get; set; }
-
-        [Required]
-        [Display(Name = "check_name")]
-        public string CheckName { get; set; }
-
-        [Display(Name = "re_user_name")]
-        public string ReUserName { get; set; }
-
-        [Required]
-        [Display(Name = "amount")]
-        public int Amount { get; set; }
-
-        [Required]
-        [Display(Name = "desc")]
-        public string Desc { get; set; }
-
-        [Required]
-        [Display(Name = "spbill_create_ip")]
-        public string SpBillCreateIp { get; set; }
-    }
-
-    public class WeChatPayGetTransferInfoViewModel
-    {
-        [Required]
-        [Display(Name = "partner_trade_no")]
-        public string PartnerTradeNo { get; set; }
-    }
-
-    public class WeChatPayPayBankViewModel
-    {
-        [Required]
-        [Display(Name = "partner_trade_no")]
-        public string PartnerTradeNo { get; set; }
-
-        [Required]
-        [Display(Name = "enc_bank_no")]
-        public string EncBankNo { get; set; }
-
-        [Required]
-        [Display(Name = "enc_true_name")]
-        public string EncTrueName { get; set; }
-
-        [Required]
-        [Display(Name = "bank_code")]
-        public string BankCode { get; set; }
-
-        [Required]
-        [Display(Name = "amount")]
-        public int Amount { get; set; }
-
-        [Display(Name = "desc")]
-        public string Desc { get; set; }
-    }
-
-    public class WeChatPayQueryBankViewModel
-    {
-        [Required]
-        [Display(Name = "partner_trade_no")]
-        public string PartnerTradeNo { get; set; }
-    }
-}

+ 0 - 21
samples/WebApplicationSample_V3_0/Program.cs

@@ -1,21 +0,0 @@
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.Extensions.Hosting;
-
-namespace WebApplicationSample_V3_0
-{
-    public class Program
-    {
-        public static void Main(string[] args)
-        {
-            CreateHostBuilder(args).Build().Run();
-        }
-
-        public static IHostBuilder CreateHostBuilder(string[] args) =>
-            Host.CreateDefaultBuilder(args)
-                .ConfigureWebHostDefaults(webBuilder =>
-                {
-                    webBuilder.UseUrls("http://*:5000");
-                    webBuilder.UseStartup<Startup>();
-                });
-    }
-}

+ 0 - 27
samples/WebApplicationSample_V3_0/Properties/launchSettings.json

@@ -1,27 +0,0 @@
-{
-  "iisSettings": {
-    "windowsAuthentication": false,
-    "anonymousAuthentication": true,
-    "iisExpress": {
-      "applicationUrl": "http://localhost:5000/",
-      "sslPort": 0
-    }
-  },
-  "profiles": {
-    "IIS Express": {
-      "commandName": "IISExpress",
-      "launchBrowser": true,
-      "environmentVariables": {
-        "ASPNETCORE_ENVIRONMENT": "Development"
-      }
-    },
-    "WebApplicationSample_V3_0": {
-      "commandName": "Project",
-      "launchBrowser": true,
-      "environmentVariables": {
-        "ASPNETCORE_ENVIRONMENT": "Development"
-      },
-      "applicationUrl": "http://localhost:5000/"
-    }
-  }
-}

+ 0 - 74
samples/WebApplicationSample_V3_0/Startup.cs

@@ -1,74 +0,0 @@
-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;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Hosting;
-
-namespace WebApplicationSample_V3_0
-{
-    public class Startup
-    {
-        public Startup(IConfiguration configuration)
-        {
-            Configuration = configuration;
-        }
-
-        public IConfiguration Configuration { get; }
-
-        // This method gets called by the runtime. Use this method to add services to the container.
-        public void ConfigureServices(IServiceCollection services)
-        {
-            // 引入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();
-        }
-
-        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
-        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
-        {
-            if (env.IsDevelopment())
-            {
-                app.UseDeveloperExceptionPage();
-            }
-            else
-            {
-                app.UseExceptionHandler("/Home/Error");
-                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
-                app.UseHsts();
-            }
-            app.UseHttpsRedirection();
-            app.UseStaticFiles();
-
-            app.UseRouting();
-
-            app.UseAuthorization();
-
-            app.UseEndpoints(endpoints =>
-            {
-                endpoints.MapControllerRoute(
-                    name: "default",
-                    pattern: "{controller=Home}/{action=Index}/{id?}");
-            });
-        }
-    }
-}

+ 0 - 53
samples/WebApplicationSample_V3_0/Views/Alipay/AppPay.cshtml

@@ -1,53 +0,0 @@
-@model AlipayTradeAppPayViewModel
-@{
-    ViewData["Title"] = "APP支付";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Alipay" 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="Alipay" 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="Subject"></label>
-                <input type="text" class="form-control" asp-for="Subject" value="APP支付测试" />
-            </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="ProductCode"></label>
-                <input type="text" class="form-control" asp-for="ProductCode" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TotalAmount"></label>
-                <input type="text" class="form-control" asp-for="TotalAmount" value="0.01" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/alipay/apppay" />
-            </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 - 37
samples/WebApplicationSample_V3_0/Views/Alipay/BillDownloadurlQuery.cshtml

@@ -1,37 +0,0 @@
-@model AlipayBillDownloadurlQueryViewModel
-@{
-    ViewData["Title"] = "查询对账单下载地址";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Alipay" 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="Alipay" asp-action="BillDownloadurlQuery">
-            <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>
-            <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 - 87
samples/WebApplicationSample_V3_0/Views/Alipay/Index.cshtml

@@ -1,87 +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://docs.open.alipay.com/api_1/alipay.trade.precreate" target="_blank">alipay.trade.precreate</a></td>
-            <td><a asp-controller="Alipay" asp-action="PreCreate">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">2</th>
-            <td>当面付-二维码/条码/声波支付</td>
-            <td><a href="https://docs.open.alipay.com/api_1/alipay.trade.pay" target="_blank">alipay.trade.pay</a></td>
-            <td><a asp-controller="Alipay" asp-action="Pay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">3</th>
-            <td>App支付</td>
-            <td><a href="https://docs.open.alipay.com/api_1/alipay.trade.app.pay" target="_blank">alipay.trade.app.pay</a></td>
-            <td><a asp-controller="Alipay" asp-action="AppPay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">4</th>
-            <td>手机网站支付</td>
-            <td><a href="https://docs.open.alipay.com/api_1/alipay.trade.wap.pay" target="_blank">alipay.trade.wap.pay</a></td>
-            <td><a asp-controller="Alipay" asp-action="WapPay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">5</th>
-            <td>电脑网站支付</td>
-            <td><a href="https://docs.open.alipay.com/270/alipay.trade.page.pay" target="_blank">alipay.trade.page.pay</a></td>
-            <td><a asp-controller="Alipay" asp-action="PagePay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">6</th>
-            <td>交易查询</td>
-            <td><a href="https://docs.open.alipay.com/api_1/alipay.trade.query" target="_blank">alipay.trade.query</a></td>
-            <td><a asp-controller="Alipay" asp-action="Query">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">7</th>
-            <td>交易退款</td>
-            <td><a href="https://docs.open.alipay.com/api_1/alipay.trade.refund" target="_blank">alipay.trade.refund</a></td>
-            <td><a asp-controller="Alipay" asp-action="Refund">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">8</th>
-            <td>退款查询</td>
-            <td><a href="https://docs.open.alipay.com/api_1/alipay.trade.fastpay.refund.query" target="_blank">alipay.trade.fastpay.refund.query</a></td>
-            <td><a asp-controller="Alipay" asp-action="RefundQuery">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">9</th>
-            <td>单笔转账到支付宝账户</td>
-            <td><a href="https://docs.open.alipay.com/api_28/alipay.fund.trans.toaccount.transfer" target="_blank">alipay.fund.trans.toaccount.transfer</a></td>
-            <td><a asp-controller="Alipay" asp-action="Transfer">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">10</th>
-            <td>查询转账订单</td>
-            <td><a href="https://docs.open.alipay.com/api_28/alipay.fund.trans.order.query" target="_blank">alipay.fund.trans.order.query</a></td>
-            <td><a asp-controller="Alipay" asp-action="TransQuery">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">11</th>
-            <td>查询对账单下载地址</td>
-            <td><a href="https://docs.open.alipay.com/api_15/alipay.data.dataservice.bill.downloadurl.query" target="_blank">alipay.data.dataservice.bill.downloadurl.query</a></td>
-            <td><a asp-controller="Alipay" asp-action="BillDownloadurlQuery">立即测试</a></td>
-        </tr>
-</table>

+ 0 - 50
samples/WebApplicationSample_V3_0/Views/Alipay/PagePay.cshtml

@@ -1,50 +0,0 @@
-@model AlipayTradePagePayViewModel
-@{
-    ViewData["Title"] = "电脑网站支付";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Alipay" 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="Alipay" asp-action="PagePay" target="_blank">
-            <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="Subject"></label>
-                <input type="text" class="form-control" asp-for="Subject" value="电脑网站支付测试" />
-            </div>
-            <div class="form-group">
-                <label asp-for="ProductCode"></label>
-                <input type="text" class="form-control" asp-for="ProductCode" value="FAST_INSTANT_TRADE_PAY" />
-            </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="TotalAmount"></label>
-                <input type="text" class="form-control" asp-for="TotalAmount" value="0.01" />
-            </div>
-            <div class="form-group">
-                <label asp-for="ReturnUrl"></label>
-                <input type="text" class="form-control" asp-for="ReturnUrl" value="http://*/alipay/pagepayreturn" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/alipay/pagepay" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 15
samples/WebApplicationSample_V3_0/Views/Alipay/PagePayReturn.cshtml

@@ -1,15 +0,0 @@
-@{
-    ViewData["Title"] = "电脑网站支付-同步跳转";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Alipay" 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 - 53
samples/WebApplicationSample_V3_0/Views/Alipay/Pay.cshtml

@@ -1,53 +0,0 @@
-@model AlipayTradePayViewModel
-@{
-    ViewData["Title"] = "当面付-二维码/条码/声波支付";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Alipay" 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="Alipay" asp-action="Pay">
-            <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="Subject"></label>
-                <input type="text" class="form-control" asp-for="Subject" value="二维码/条码/声波支付测试" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Scene"></label>
-                <input type="text" class="form-control" asp-for="Scene" value="bar_code" />
-            </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="Body"></label>
-                <input type="text" class="form-control" asp-for="Body" value="二维码/条码/声波支付描述信息" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TotalAmount"></label>
-                <input type="text" class="form-control" asp-for="TotalAmount" value="0.01" />
-            </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 - 56
samples/WebApplicationSample_V3_0/Views/Alipay/PreCreate.cshtml

@@ -1,56 +0,0 @@
-@model AlipayTradePreCreateViewModel
-@{
-    ViewData["Title"] = "当面付-扫码支付";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Alipay" 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="Alipay" asp-action="PreCreate">
-            <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="Subject"></label>
-                <input type="text" class="form-control" asp-for="Subject" value="扫码支付测试" />
-            </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="TotalAmount"></label>
-                <input type="text" class="form-control" asp-for="TotalAmount" value="0.01" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/alipay/precreate" />
-            </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 - 37
samples/WebApplicationSample_V3_0/Views/Alipay/Query.cshtml

@@ -1,37 +0,0 @@
-@model AlipayTradeQueryViewModel
-@{
-    ViewData["Title"] = "交易查询";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Alipay" 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="Alipay" asp-action="Query">
-            <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>
-            <div class="form-group">
-                <label asp-for="TradeNo"></label>
-                <input type="text" class="form-control" asp-for="TradeNo" />
-            </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_V3_0/Views/Alipay/Refund.cshtml

@@ -1,49 +0,0 @@
-@model AlipayTradeRefundViewModel
-@{
-    ViewData["Title"] = "交易退款";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Alipay" 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="Alipay" asp-action="Refund">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="OutRequestNo"></label>
-                <input type="text" class="form-control" asp-for="OutRequestNo" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </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="RefundAmount"></label>
-                <input type="text" class="form-control" asp-for="RefundAmount" />
-            </div>
-            <div class="form-group">
-                <label asp-for="RefundReason"></label>
-                <input type="text" class="form-control" asp-for="RefundReason" />
-            </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_V3_0/Views/Alipay/RefundQuery.cshtml

@@ -1,41 +0,0 @@
-@model AlipayTradeRefundQueryViewModel
-@{
-    ViewData["Title"] = "退款查询";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Alipay" 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="Alipay" asp-action="RefundQuery">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="OutRequestNo"></label>
-                <input type="text" class="form-control" asp-for="OutRequestNo" />
-            </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>
-            <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 - 37
samples/WebApplicationSample_V3_0/Views/Alipay/TransQuery.cshtml

@@ -1,37 +0,0 @@
-@model AlipayTransQueryViewModel
-@{
-    ViewData["Title"] = "查询转账订单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Alipay" 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="Alipay" asp-action="TransQuery">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="OutBizNo"></label>
-                <input type="text" class="form-control" asp-for="OutBizNo" />
-            </div>
-            <div class="form-group">
-                <label asp-for="OrderId"></label>
-                <input type="text" class="form-control" asp-for="OrderId" />
-            </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_V3_0/Views/Alipay/Transfer.cshtml

@@ -1,49 +0,0 @@
-@model AlipayTransferViewModel
-@{
-    ViewData["Title"] = "单笔转账到支付宝账户";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Alipay" 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="Alipay" asp-action="Transfer">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="OutBizNo"></label>
-                <input type="text" class="form-control" asp-for="OutBizNo" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="PayeeType"></label>
-                <input type="text" class="form-control" asp-for="PayeeType" value="ALIPAY_LOGONID" />
-            </div>
-            <div class="form-group">
-                <label asp-for="PayeeAccount"></label>
-                <input type="text" class="form-control" asp-for="PayeeAccount" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Amount"></label>
-                <input type="text" class="form-control" asp-for="Amount" value="0.01" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Remark"></label>
-                <input type="text" class="form-control" asp-for="Remark" value="单笔转账到支付宝账户转账备注" />
-            </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 - 50
samples/WebApplicationSample_V3_0/Views/Alipay/WapPay.cshtml

@@ -1,50 +0,0 @@
-@model AlipayTradeWapPayViewModel
-@{
-    ViewData["Title"] = "手机网站支付";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Alipay" 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="Alipay" asp-action="WapPay" target="_blank">
-            <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="Subject"></label>
-                <input type="text" class="form-control" asp-for="Subject" value="手机网站支付测试" />
-            </div>
-            <div class="form-group">
-                <label asp-for="ProductCode"></label>
-                <input type="text" class="form-control" asp-for="ProductCode" value="QUICK_WAP_WAY" />
-            </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="TotalAmount"></label>
-                <input type="text" class="form-control" asp-for="TotalAmount" value="0.01" />
-            </div>
-            <div class="form-group">
-                <label asp-for="ReturnUrl"></label>
-                <input type="text" class="form-control" asp-for="ReturnUrl" value="http://*/alipay/wappayreturn" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/alipay/wappay" />
-            </div>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 15
samples/WebApplicationSample_V3_0/Views/Alipay/WapPayReturn.cshtml

@@ -1,15 +0,0 @@
-@{
-    ViewData["Title"] = "手机网站支付-同步跳转";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="Alipay" 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 - 9
samples/WebApplicationSample_V3_0/Views/Home/Gratuity.cshtml

@@ -1,9 +0,0 @@
-
-@{
-    ViewData["Title"] = "打赏";
-}
-<div align="center">
-    <img src="~/images/qrcode.png">
-    <hr />
-    <p>感谢你对本项目的支持!!!</p>
-</div>

+ 0 - 83
samples/WebApplicationSample_V3_0/Views/Home/Index.cshtml

@@ -1,83 +0,0 @@
-@{
-    ViewData["Title"] = "前言";
-}
-<p>
-    Payment 基于 .NET Core / ASP.NET Core 开发,支持多商户的跨平台支付SDK集。 简化了API调用及相关通知的处理流程。
-</p>
-<p class="text-danger">
-    注: 本Demo仅作为测试用途,基本涵盖了常用的API。用作实际业务时,请务必配合相关API文档及说明处理。
-</p>
-<br />
-<h5>NuGet 程序包:</h5>
-<table class="table table-bordered table-hover">
-    <thead>
-        <tr>
-            <th scope="col">#</th>
-            <th scope="col">Name</th>
-            <th scope="col">Package</th>
-            <th scope="col">NuGet</th>
-        </tr>
-    </thead>
-    <tbody>
-        <tr>
-            <th scope="row">1</th>
-            <td><a asp-controller="Alipay" asp-action="Index">支付宝</a></td>
-            <td><a href="https://www.nuget.org/packages/Essensoft.AspNetCore.Payment.Alipay" target="_blank">Essensoft.AspNetCore.Payment.Alipay</a></td>
-            <td>
-                <a href="https://www.nuget.org/packages/Essensoft.AspNetCore.Payment.Alipay" target="_blank">
-                    <img src="https://img.shields.io/nuget/v/Essensoft.AspNetCore.Payment.Alipay.svg?style=flat-square" />
-                </a>
-            </td>
-        </tr>
-        <tr>
-            <th scope="row">2</th>
-            <td><a asp-controller="WeChatPay" asp-action="Index">微信支付</a></td>
-            <td><a href="https://www.nuget.org/packages/Essensoft.AspNetCore.Payment.WeChatPay" target="_blank">Essensoft.AspNetCore.Payment.WeChatPay</a></td>
-            <td>
-                <a href="https://www.nuget.org/packages/Essensoft.AspNetCore.Payment.WeChatPay" target="_blank">
-                    <img src="https://img.shields.io/nuget/v/Essensoft.AspNetCore.Payment.WeChatPay.svg?style=flat-square" />
-                </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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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_V3_0/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 - 22
samples/WebApplicationSample_V3_0/Views/Shared/Error.cshtml

@@ -1,22 +0,0 @@
-@model ErrorViewModel
-@{
-    ViewData["Title"] = "Error";
-}
-
-<h1 class="text-danger">Error.</h1>
-<h2 class="text-danger">An error occurred while processing your request.</h2>
-
-@if (Model.ShowRequestId)
-{
-    <p>
-        <strong>Request ID:</strong> <code>@Model.RequestId</code>
-    </p>
-}
-
-<h3>Development Mode</h3>
-<p>
-    Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred.
-</p>
-<p>
-    <strong>Development environment should not be enabled in deployed applications</strong>, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>, and restarting the application.
-</p>

+ 0 - 93
samples/WebApplicationSample_V3_0/Views/Shared/_Layout.cshtml

@@ -1,93 +0,0 @@
-@using WebApplicationSample_V3_0.Helpers
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="utf-8" />
-    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>@ViewData["Title"] - Payment</title>
-
-    <environment include="Development">
-        <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
-        <link rel="stylesheet" href="~/css/site.css" />
-    </environment>
-    <environment exclude="Development">
-        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css"
-              asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
-              asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute"
-              crossorigin="anonymous"
-              integrity="sha256-eSi1q2PG6J7g7ib17yAaWMcrr5GrtohYChqibrV7PBE=" />
-    </environment>
-</head>
-<body>
-    <nav class="navbar navbar-expand-lg navbar-light bg-white navbar-shadow">
-        <div class="container">
-            <a asp-controller="Home" asp-action="Index" class="navbar-brand"><img src="~/images/payment.png" /></a>
-            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
-                <span class="navbar-toggler-icon"></span>
-            </button>
-            <div class="collapse navbar-collapse" id="navbar">
-                <ul class="navbar-nav mr-auto">
-                    <li class="nav-item @Html.IsActive("Alipay")">
-                        <a class="nav-link" asp-controller="Alipay" asp-action="Index">支付宝</a>
-                    </li>
-                    <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")">
-                        <a class="nav-link" asp-controller="Home" asp-action="Gratuity">打赏</a>
-                    </li>
-                </ul>
-            </div>
-        </div>
-    </nav>
-    <div class="container body-content">
-        @RenderBody()
-    </div>
-    <footer>
-        <div class="container">
-            <ul class="list-style-none d-flex">
-                <li class="mr-3"><p>&copy; @DateTime.Now.Year Payment</p></li>
-                <li class="mr-3"><a target="_blank" href="https://github.com/Essensoft/Payment">GitHub</a></li>
-                <li class="mr-3"><a target="_blank" href="https://gitee.com/Essensoft/Payment">Gitee</a></li>
-                <li class="mr-3">Payment 交流群:<a target="_blank" href="https://shang.qq.com/wpa/qunwpa?idkey=aac56c8f02f54893267d3ac90787c1794a7687f3c31a923812a36b67c4ee6271">522457525</a></li>
-            </ul>
-        </div>
-    </footer>
-
-    <environment include="Development">
-        <script src="~/lib/jquery/dist/jquery.js"></script>
-        <script src="~/lib/bootstrap/dist/js/bootstrap.bundle.js"></script>
-    </environment>
-    <environment exclude="Development">
-        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
-                asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
-                asp-fallback-test="window.jQuery"
-                crossorigin="anonymous"
-                integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=">
-        </script>
-        <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/js/bootstrap.bundle.min.js"
-                asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"
-                asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal"
-                crossorigin="anonymous"
-                integrity="sha256-E/V4cWE4qvAeO5MOhjtGtqDzPndRO1LBk8lJ/PR7CA4=">
-        </script>
-    </environment>
-    <script src="~/js/site.js" asp-append-version="true"></script>
-
-    @RenderSection("Scripts", false)
-</body>
-</html>

+ 0 - 18
samples/WebApplicationSample_V3_0/Views/Shared/_ValidationScriptsPartial.cshtml

@@ -1,18 +0,0 @@
-<environment include="Development">
-    <script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>
-    <script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
-</environment>
-<environment exclude="Development">
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.min.js"
-            asp-fallback-src="~/lib/jquery-validation/dist/jquery.validate.min.js"
-            asp-fallback-test="window.jQuery && window.jQuery.validator"
-            crossorigin="anonymous"
-            integrity="sha256-F6h55Qw6sweK+t7SiOJX+2bpSAa3b/fnlrVCJvmEj1A=">
-    </script>
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validation-unobtrusive/3.2.11/jquery.validate.unobtrusive.min.js"
-            asp-fallback-src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"
-            asp-fallback-test="window.jQuery && window.jQuery.validator && window.jQuery.validator.unobtrusive"
-            crossorigin="anonymous"
-            integrity="sha256-9GycpJnliUjJDVDqP0UEu/bsm9U+3dnQUH8+3W10vkY=">
-    </script>
-</environment>

+ 0 - 50
samples/WebApplicationSample_V3_0/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_V3_0/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_V3_0/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 - 57
samples/WebApplicationSample_V3_0/Views/WeChatPay/AppPay.cshtml

@@ -1,57 +0,0 @@
-@model WeChatPayAppPayViewModel
-@{
-    ViewData["Title"] = "APP支付-统一下单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" 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="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="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/wechatpay/unifiedorder" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeType"></label>
-                <input type="text" class="form-control" asp-for="TradeType" value="APP" />
-            </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>
-            <div class="form-group">
-                <label>Parameter:</label>
-                <textarea class="form-control" rows="3">@ViewData["parameter"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 33
samples/WebApplicationSample_V3_0/Views/WeChatPay/CloseOrder.cshtml

@@ -1,33 +0,0 @@
-@model WeChatPayCloseOrderViewModel
-@{
-    ViewData["Title"] = "关闭订单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" 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 - 41
samples/WebApplicationSample_V3_0/Views/WeChatPay/DownloadBill.cshtml

@@ -1,41 +0,0 @@
-@model WeChatPayDownloadBillViewModel
-@{
-    ViewData["Title"] = "下载对账单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" asp-action="DownloadBill">
-            <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" value="ALL" />
-            </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 - 41
samples/WebApplicationSample_V3_0/Views/WeChatPay/DownloadFundFlow.cshtml

@@ -1,41 +0,0 @@
-@model WeChatPayDownloadFundFlowViewModel
-@{
-    ViewData["Title"] = "下载资金账单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" asp-action="DownloadFundFlow">
-            <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="AccountType"></label>
-                <input type="text" class="form-control" asp-for="AccountType" value="Basic" />
-            </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 - 24
samples/WebApplicationSample_V3_0/Views/WeChatPay/GetPublicKey.cshtml

@@ -1,24 +0,0 @@
-@{
-    ViewData["Title"] = "获取RSA加密公钥";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" asp-action="GetPublicKey">
-            <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_V3_0/Views/WeChatPay/GetTransferInfo.cshtml

@@ -1,33 +0,0 @@
-@model WeChatPayGetTransferInfoViewModel
-@{
-    ViewData["Title"] = "查询企业付款";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" asp-action="GetTransferInfo">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="PartnerTradeNo"></label>
-                <input type="text" class="form-control" asp-for="PartnerTradeNo" />
-            </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 - 53
samples/WebApplicationSample_V3_0/Views/WeChatPay/H5Pay.cshtml

@@ -1,53 +0,0 @@
-@model WeChatPayH5PayViewModel
-@{
-    ViewData["Title"] = "H5支付-统一下单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" asp-action="H5Pay">
-            <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="微信H5支付测试" />
-            </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="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/wechatpay/unifiedorder" />
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeType"></label>
-                <input type="text" class="form-control" asp-for="TradeType" value="MWEB" />
-            </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 - 130
samples/WebApplicationSample_V3_0/Views/WeChatPay/Index.cshtml

@@ -1,130 +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://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_10&index=1" target="_blank">https://api.mch.weixin.qq.com/pay/micropay</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="MicroPay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">2</th>
-            <td>公众号支付-统一下单</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1" target="_blank">https://api.mch.weixin.qq.com/pay/unifiedorder</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="PubPay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">3</th>
-            <td>扫码支付-统一下单</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1" target="_blank">https://api.mch.weixin.qq.com/pay/unifiedorder</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="QrCodePay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">4</th>
-            <td>APP支付-统一下单</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1" target="_blank">https://api.mch.weixin.qq.com/pay/unifiedorder</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="AppPay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">5</th>
-            <td>H5支付-统一下单</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_20&index=1" target="_blank">https://api.mch.weixin.qq.com/pay/unifiedorder</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="H5Pay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">6</th>
-            <td>小程序支付-统一下单</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1" target="_blank">https://api.mch.weixin.qq.com/pay/unifiedorder</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="LiteAppPay">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">7</th>
-            <td>查询订单</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_2" target="_blank">https://api.mch.weixin.qq.com/pay/orderquery</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="OrderQuery">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">8</th>
-            <td>撤销订单</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_11&index=3" target="_blank">https://api.mch.weixin.qq.com/secapi/pay/reverse</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="Reverse">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">9</th>
-            <td>关闭订单</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_3" target="_blank">https://api.mch.weixin.qq.com/pay/closeorder</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="CloseOrder">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">10</th>
-            <td>申请退款</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_4" target="_blank">https://api.mch.weixin.qq.com/secapi/pay/refund</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="Refund">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">11</th>
-            <td>查询退款</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_5" target="_blank">https://api.mch.weixin.qq.com/pay/refundquery</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="RefundQuery">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">12</th>
-            <td>下载对账单</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_6" target="_blank">https://api.mch.weixin.qq.com/pay/downloadbill</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="DownloadBill">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">13</th>
-            <td>下载资金账单</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_18&index=7" target="_blank">https://api.mch.weixin.qq.com/pay/downloadfundflow</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="DownloadFundFlow">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">14</th>
-            <td>企业付款到零钱</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2" target="_blank">https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="Transfers">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">15</th>
-            <td>查询企业付款零钱</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_3" target="_blank">https://api.mch.weixin.qq.com/mmpaymkttransfers/gettransferinfo</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="GetTransferInfo">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">16</th>
-            <td>企业付款到银行卡</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=24_2" target="_blank">https://api.mch.weixin.qq.com/mmpaysptrans/pay_bank</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="PayBank">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">17</th>
-            <td>查询企业付款银行卡</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=24_3" target="_blank">https://api.mch.weixin.qq.com/mmpaysptrans/query_bank</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="QueryBank">立即测试</a></td>
-        </tr>
-        <tr>
-            <th scope="row">18</th>
-            <td>获取RSA加密公钥</td>
-            <td><a href="https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=24_7&index=4" target="_blank">https://fraud.mch.weixin.qq.com/risk/getpublickey</a></td>
-            <td><a asp-controller="WeChatPay" asp-action="GetPublicKey">立即测试</a></td>
-        </tr>
-    </tbody>
-</table>

+ 0 - 61
samples/WebApplicationSample_V3_0/Views/WeChatPay/LiteAppPay.cshtml

@@ -1,61 +0,0 @@
-@model WeChatPayLiteAppPayViewModel
-@{
-    ViewData["Title"] = "小程序支付-统一下单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" asp-action="LiteAppPay">
-            <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="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="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/wechatpay/unifiedorder" />
-            </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="OpenId"></label>
-                <input type="text" class="form-control" asp-for="OpenId" />
-            </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>
-            <div class="form-group">
-                <label>Parameter:</label>
-                <textarea class="form-control" rows="3">@ViewData["parameter"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 49
samples/WebApplicationSample_V3_0/Views/WeChatPay/MicroPay.cshtml

@@ -1,49 +0,0 @@
-@model WeChatPayMicroPayViewModel
-@{
-    ViewData["Title"] = "刷卡支付-提交刷卡支付";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" 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="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="AuthCode"></label>
-                <input type="text" class="form-control" asp-for="AuthCode" />
-            </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 - 37
samples/WebApplicationSample_V3_0/Views/WeChatPay/OrderQuery.cshtml

@@ -1,37 +0,0 @@
-@model WeChatPayOrderQueryViewModel
-@{
-    ViewData["Title"] = "查询订单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" 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>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 53
samples/WebApplicationSample_V3_0/Views/WeChatPay/PayBank.cshtml

@@ -1,53 +0,0 @@
-@model WeChatPayPayBankViewModel
-@{
-    ViewData["Title"] = "企业付款到银行卡";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" asp-action="PayBank">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="PartnerTradeNo"></label>
-                <input type="text" class="form-control" asp-for="PartnerTradeNo" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </div>
-            <div class="form-group">
-                <label asp-for="EncBankNo"></label>
-                <input type="text" class="form-control" asp-for="EncBankNo" />
-            </div>
-            <div class="form-group">
-                <label asp-for="EncTrueName"></label>
-                <input type="text" class="form-control" asp-for="EncTrueName" />
-            </div>
-            <div class="form-group">
-                <label asp-for="BankCode"></label>
-                <input type="text" class="form-control" asp-for="BankCode" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Amount"></label>
-                <input type="text" class="form-control" asp-for="Amount" value="100" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Desc"></label>
-                <input type="text" class="form-control" asp-for="Desc" value="企业付款到银行卡付款说明" />
-            </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 - 61
samples/WebApplicationSample_V3_0/Views/WeChatPay/PubPay.cshtml

@@ -1,61 +0,0 @@
-@model WeChatPayPubPayViewModel
-@{
-    ViewData["Title"] = "公众号支付-统一下单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" 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="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="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/wechatpay/unifiedorder" />
-            </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="OpenId"></label>
-                <input type="text" class="form-control" asp-for="OpenId" />
-            </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>
-            <div class="form-group">
-                <label>Parameter:</label>
-                <textarea class="form-control" rows="3">@ViewData["parameter"]</textarea>
-            </div>
-        </form>
-    </div>
-</div>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 60
samples/WebApplicationSample_V3_0/Views/WeChatPay/QrCodePay.cshtml

@@ -1,60 +0,0 @@
-@model WeChatPayQrCodePayViewModel
-@{
-    ViewData["Title"] = "扫码支付-统一下单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" 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="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="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" value="http://*/notify/wechatpay/unifiedorder">
-            </div>
-            <div class="form-group">
-                <label asp-for="TradeType"></label>
-                <input type="text" class="form-control" asp-for="TradeType" value="NATIVE">
-            </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 - 33
samples/WebApplicationSample_V3_0/Views/WeChatPay/QueryBank.cshtml

@@ -1,33 +0,0 @@
-@model WeChatPayQueryBankViewModel
-@{
-    ViewData["Title"] = "查询企业付款银行卡";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" asp-action="QueryBank">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="PartnerTradeNo"></label>
-                <input type="text" class="form-control" asp-for="PartnerTradeNo" />
-            </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 - 57
samples/WebApplicationSample_V3_0/Views/WeChatPay/Refund.cshtml

@@ -1,57 +0,0 @@
-@model WeChatPayRefundViewModel
-@{
-    ViewData["Title"] = "申请退款";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" 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="TotalFee"></label>
-                <input type="text" class="form-control" asp-for="TotalFee" />
-            </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="RefundDesc"></label>
-                <input type="text" class="form-control" asp-for="RefundDesc" />
-            </div>
-            <div class="form-group">
-                <label asp-for="NotifyUrl"></label>
-                <input type="text" class="form-control" asp-for="NotifyUrl" />
-            </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 - 45
samples/WebApplicationSample_V3_0/Views/WeChatPay/RefundQuery.cshtml

@@ -1,45 +0,0 @@
-@model WeChatPayRefundQueryViewModel
-@{
-    ViewData["Title"] = "查询退款";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" asp-action="RefundQuery">
-            <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>
-            <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="RefundId"></label>
-                <input type="text" class="form-control" asp-for="RefundId" />
-            </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 - 37
samples/WebApplicationSample_V3_0/Views/WeChatPay/Reverse.cshtml

@@ -1,37 +0,0 @@
-@model WeChatPayReverseViewModel
-@{
-    ViewData["Title"] = "撤销订单";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" asp-action="Reverse">
-            <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>
-@section Scripts {
-    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
-}

+ 0 - 56
samples/WebApplicationSample_V3_0/Views/WeChatPay/Transfers.cshtml

@@ -1,56 +0,0 @@
-@model WeChatPayTransfersViewModel
-@{
-    ViewData["Title"] = "企业付款到零钱";
-}
-<nav aria-label="breadcrumb">
-    <ol class="breadcrumb">
-        <li class="breadcrumb-item"><a asp-controller="WeChatPay" 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="WeChatPay" asp-action="Transfers">
-            <div asp-validation-summary="All" class="text-danger"></div>
-            <div class="form-group">
-                <label asp-for="PartnerTradeNo"></label>
-                <input type="text" class="form-control" asp-for="PartnerTradeNo" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
-            </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="CheckName"></label>
-                <input type="text" class="form-control" asp-for="CheckName" value="NO_CHECK" />
-            </div>
-            <div class="form-group">
-                <label asp-for="ReUserName"></label>
-                <input type="text" class="form-control" asp-for="ReUserName" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Amount"></label>
-                <input type="text" class="form-control" asp-for="Amount" value="100" />
-            </div>
-            <div class="form-group">
-                <label asp-for="Desc"></label>
-                <input type="text" class="form-control" asp-for="Desc" value="企业付款到零钱说明信息" />
-            </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>
-            <button type="submit" class="btn btn-primary">提交请求</button>
-        </form>
-        <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 - 3
samples/WebApplicationSample_V3_0/Views/_ViewImports.cshtml

@@ -1,3 +0,0 @@
-@using WebApplicationSample_V3_0
-@using WebApplicationSample_V3_0.Models
-@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

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