Skip to content
This repository was archived by the owner on Sep 16, 2020. It is now read-only.

Commit 00451d4

Browse files
authored
Merge pull request #17 from dotnetcore/dev
更新版本到 2.3.0
2 parents fd32b69 + 773fb33 commit 00451d4

41 files changed

Lines changed: 119 additions & 312 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Alipay.AopSdk.AspnetCore/Alipay.AopSdk.AspnetCore.csproj

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
5-
<Version>2.2.7</Version>
6-
<AssemblyVersion>2.2.7.0</AssemblyVersion>
7-
<FileVersion>2.2.7.0</FileVersion>
5+
<Version>2.3.0</Version>
6+
<AssemblyVersion>2.3.0.0</AssemblyVersion>
7+
<FileVersion>2.3.0.0</FileVersion>
88
<Copyright>Copyright 2017-2018 stulzq</Copyright>
99
<Authors>stulzq</Authors>
1010
<Company>stulzq</Company>
@@ -13,16 +13,17 @@
1313
<PackageLicenseUrl>https://github.com/stulzq/Alipay.AopSdk.Core/blob/master/LICENSE</PackageLicenseUrl>
1414
<PackageProjectUrl>https://github.com/stulzq/Alipay.AopSdk.Core</PackageProjectUrl>
1515
<PackageIconUrl>https://www.alipay.com/favicon.ico</PackageIconUrl>
16-
<Description>支付宝(Alipay)服务端SDK AopSdk,ASP.NET Core支持。</Description>
17-
<PackageReleaseNotes>添加快捷配置的方法</PackageReleaseNotes>
18-
<PackageTags>Alipay,AopSdk,支付宝服务端SDK,支付宝支付</PackageTags>
16+
<Description>支付宝(Alipay)服务端SDK AopSdk,ASP.NET Core 项目只用安装这一个组件。使用文档 https://github.com/dotnetcore/Alipay.AopSdk.Core</Description>
17+
<PackageReleaseNotes>合并扫码支付,简化使用</PackageReleaseNotes>
18+
<PackageTags>Alipay,AopSdk,支付宝服务端SDK,支付宝支付,扫码支付</PackageTags>
1919
<RepositoryType>git</RepositoryType>
2020
<RepositoryUrl>https://github.com/stulzq/Alipay.AopSdk.Core</RepositoryUrl>
2121
</PropertyGroup>
2222

2323
<ItemGroup>
2424
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.0.0" />
2525
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="2.0.2" />
26+
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.0" />
2627
</ItemGroup>
2728

2829
<ItemGroup>

Alipay.AopSdk.AspnetCore/AlipayConfigChecker.cs

Lines changed: 0 additions & 38 deletions
This file was deleted.
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
using Alipay.AopSdk.F2FPay.Business;
2+
using Alipay.AopSdk.F2FPay.Domain;
3+
using Microsoft.Extensions.Options;
4+
5+
namespace Alipay.AopSdk.AspnetCore
6+
{
7+
public class AlipayF2FService
8+
{
9+
public AlipayOptions Options { get; set; }
10+
11+
private readonly IAlipayTradeService _alipayClient;
12+
public AlipayF2FService(IOptions<AlipayOptions> alipayOptions)
13+
{
14+
Options = alipayOptions.Value;
15+
_alipayClient = F2FBiz.CreateClientInstance(Options.Gatewayurl, Options.AppId, Options.PrivateKey, "1.0",
16+
Options.SignType, Options.AlipayPublicKey, Options.CharSet);
17+
}
18+
19+
public AlipayF2FPayResult TradePay(AlipayTradePayContentBuilder builder)
20+
{
21+
return _alipayClient.tradePay(builder);
22+
}
23+
24+
public AlipayF2FQueryResult TradeQuery(string outTradeNo)
25+
{
26+
return _alipayClient.tradeQuery(outTradeNo);
27+
}
28+
29+
public AlipayF2FRefundResult TradeRefund(AlipayTradeRefundContentBuilder builder)
30+
{
31+
return _alipayClient.tradeRefund(builder);
32+
}
33+
34+
public AlipayF2FPrecreateResult TradePrecreate(AlipayTradePrecreateContentBuilder builder)
35+
{
36+
return _alipayClient.tradePrecreate(builder);
37+
}
38+
39+
public AlipayF2FPrecreateResult TradePrecreate(AlipayTradePrecreateContentBuilder builder, string notify_url)
40+
{
41+
return _alipayClient.tradePrecreate(builder, notify_url);
42+
}
43+
}
44+
}

Alipay.AopSdk.AspnetCore/AlipayOptions.cs

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
using System;
2+
using System.Security.Cryptography;
23
using Alipay.AopSdk.Core.Domain;
4+
using Alipay.AopSdk.Core.Util;
35
using Microsoft.Extensions.Configuration;
46
using Microsoft.Extensions.Options;
57

@@ -65,7 +67,27 @@ public void SetOption(AlipayOptions options)
6567
throw new ArgumentException(nameof(options));
6668
}
6769

68-
this.Uid = options.Uid;
70+
//SignType私钥检查
71+
if (string.IsNullOrEmpty(options.SignType))
72+
{
73+
throw new Exception("您的支付宝配置未能通过检查,详细信息:签名类型未指定!");
74+
}
75+
76+
//RSA私钥检查
77+
if (string.IsNullOrEmpty(options.PrivateKey))
78+
{
79+
throw new Exception("您的支付宝配置未能通过检查,详细信息:未能获取到商户私钥!");
80+
}
81+
82+
//RSA私钥格式检查
83+
RSA rsaCsp = AlipaySignature.LoadCertificateString(options.PrivateKey, options.SignType);
84+
85+
if (rsaCsp == null)
86+
{
87+
throw new Exception("您的支付宝配置未能通过检查,详细信息:商户私钥格式错误,未能导入!");
88+
}
89+
90+
this.Uid = options.Uid;
6991
this.AlipayPublicKey = options.AlipayPublicKey;
7092
this.AppId = options.AppId;
7193
this.CharSet = options.CharSet;

Alipay.AopSdk.AspnetCore/AlipayService.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,22 @@
33
using System.Net.Http;
44
using Alipay.AopSdk.Core;
55
using Alipay.AopSdk.Core.Util;
6+
using Alipay.AopSdk.F2FPay.Business;
7+
using Alipay.AopSdk.F2FPay.Domain;
68
using Microsoft.AspNetCore.Builder;
79
using Microsoft.AspNetCore.Http;
810
using Microsoft.Extensions.Options;
911

1012
namespace Alipay.AopSdk.AspnetCore
1113
{
12-
public class AlipayService:IAlipayService
14+
public class AlipayService
1315
{
1416
public AlipayOptions Options { get; set; }
1517

16-
//private readonly HttpContext _context;
17-
1818
private readonly IAopClient _aopClient;
1919
public AlipayService(IOptions<AlipayOptions> alipayOptions)
2020
{
2121
Options = alipayOptions.Value;
22-
//_context = contextAccessor.HttpContext; ,IHttpContextAccessor contextAccessor
2322
_aopClient = new DefaultAopClient(Options.Gatewayurl, Options.AppId, Options.PrivateKey, "json", "1.0",
2423
Options.SignType, Options.AlipayPublicKey, Options.CharSet, Options.IsKeyFromFile);
2524
}
@@ -58,6 +57,6 @@ public bool RSACheckV1(Dictionary<string, string> data)
5857
return AlipaySignature.RSACheckV1(data, Options.AlipayPublicKey, Options.CharSet, Options.SignType, false);
5958
}
6059

61-
62-
}
60+
61+
}
6362
}

Alipay.AopSdk.AspnetCore/AlipayServiceCollectionExtensions.cs

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
using System;
2-
using Alipay.AopSdk.Core;
3-
using Microsoft.AspNetCore.Http;
2+
using Microsoft.Extensions.Configuration;
43
using Microsoft.Extensions.DependencyInjection;
5-
using Microsoft.Extensions.DependencyInjection.Extensions;
64

75
namespace Alipay.AopSdk.AspnetCore
86
{
@@ -20,8 +18,22 @@ public static IServiceCollection AddAlipay(this IServiceCollection services,Acti
2018
throw new ArgumentNullException(nameof(options));
2119
services.AddOptions();
2220
services.Configure(options);
23-
services.AddScoped<IAlipayService, AlipayService>();
24-
return services;
21+
services.AddScoped<AlipayService>();
22+
services.AddScoped<AlipayF2FService>();
23+
return services;
2524
}
26-
}
25+
26+
public static IServiceCollection AddAlipay(this IServiceCollection services, IConfiguration section)
27+
{
28+
if (services == null)
29+
throw new ArgumentNullException(nameof(services));
30+
if (section == null)
31+
throw new ArgumentNullException(nameof(section));
32+
services.AddOptions();
33+
services.Configure<AlipayOptions>(section);
34+
services.AddScoped<AlipayService>();
35+
services.AddScoped<AlipayF2FService>();
36+
return services;
37+
}
38+
}
2739
}

Alipay.AopSdk.AspnetCore/IAlipayService.cs

Lines changed: 0 additions & 16 deletions
This file was deleted.

Alipay.AopSdk.Core.sln

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Alipay.AopSdk.Core", "Alipa
77
EndProject
88
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Alipay.AopSdk.Core.UnitTest", "Alipay.AopSdk.Core.UnitTest\Alipay.AopSdk.Core.UnitTest.csproj", "{FC4F36D1-13BF-4974-BCB1-5B4E905F7B07}"
99
EndProject
10-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Alipay.AopSdk.F2FPay", "Alipay.AopSdk.F2FPay\Alipay.AopSdk.F2FPay.csproj", "{B9434C62-8278-43BC-9AA6-F9246BB63C39}"
11-
EndProject
1210
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Alipay.AopSdk.AspnetCore", "Alipay.AopSdk.AspnetCore\Alipay.AopSdk.AspnetCore.csproj", "{6A78B4AB-B857-4BA8-88C4-85F6298C8E70}"
1311
EndProject
14-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Alipay.AopSdk.F2FPay.AspnetCore", "Alipay.AopSdk.F2FPay.AspnetCore\Alipay.AopSdk.F2FPay.AspnetCore.csproj", "{314FA1F7-4545-4C7E-AE12-DC98BF136F27}"
15-
EndProject
1612
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{946D3C5A-4580-44C8-9EA9-B529F5657143}"
1713
ProjectSection(SolutionItems) = preProject
1814
LICENSE = LICENSE
@@ -33,18 +29,10 @@ Global
3329
{FC4F36D1-13BF-4974-BCB1-5B4E905F7B07}.Debug|Any CPU.Build.0 = Debug|Any CPU
3430
{FC4F36D1-13BF-4974-BCB1-5B4E905F7B07}.Release|Any CPU.ActiveCfg = Release|Any CPU
3531
{FC4F36D1-13BF-4974-BCB1-5B4E905F7B07}.Release|Any CPU.Build.0 = Release|Any CPU
36-
{B9434C62-8278-43BC-9AA6-F9246BB63C39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
37-
{B9434C62-8278-43BC-9AA6-F9246BB63C39}.Debug|Any CPU.Build.0 = Debug|Any CPU
38-
{B9434C62-8278-43BC-9AA6-F9246BB63C39}.Release|Any CPU.ActiveCfg = Release|Any CPU
39-
{B9434C62-8278-43BC-9AA6-F9246BB63C39}.Release|Any CPU.Build.0 = Release|Any CPU
4032
{6A78B4AB-B857-4BA8-88C4-85F6298C8E70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
4133
{6A78B4AB-B857-4BA8-88C4-85F6298C8E70}.Debug|Any CPU.Build.0 = Debug|Any CPU
4234
{6A78B4AB-B857-4BA8-88C4-85F6298C8E70}.Release|Any CPU.ActiveCfg = Release|Any CPU
4335
{6A78B4AB-B857-4BA8-88C4-85F6298C8E70}.Release|Any CPU.Build.0 = Release|Any CPU
44-
{314FA1F7-4545-4C7E-AE12-DC98BF136F27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
45-
{314FA1F7-4545-4C7E-AE12-DC98BF136F27}.Debug|Any CPU.Build.0 = Debug|Any CPU
46-
{314FA1F7-4545-4C7E-AE12-DC98BF136F27}.Release|Any CPU.ActiveCfg = Release|Any CPU
47-
{314FA1F7-4545-4C7E-AE12-DC98BF136F27}.Release|Any CPU.Build.0 = Release|Any CPU
4836
EndGlobalSection
4937
GlobalSection(SolutionProperties) = preSolution
5038
HideSolutionNode = FALSE

Alipay.AopSdk.Core/Alipay.AopSdk.Core.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
5-
<Version>2.2.7</Version>
5+
<Version>2.3.0</Version>
66
<Authors>stulzq</Authors>
77
<Description>支付宝(Alipay)服务端SDK,采用.NET Standard 2.0,支持.NET Core 2.0,与官方SDK接口完全相同。完全可以按照官方文档进行开发。除了支持支付以外,官方SDK支持的功能本SDK全部支持,且用法几乎一样,代码都可参考官方文档代码。github:https://github.com/stulzq/Alipay.AopSdk.Core,访问github获取demo以及使用文档。</Description>
88
<Copyright>Copyright 2017-2018 stulzq</Copyright>
@@ -12,8 +12,8 @@
1212
<PackageTags>Alipay,AopSdk,支付宝服务端SDK,支付宝支付</PackageTags>
1313
<PackageIconUrl>https://www.alipay.com/favicon.ico</PackageIconUrl>
1414
<PackageReleaseNotes></PackageReleaseNotes>
15-
<AssemblyVersion>2.2.7.0</AssemblyVersion>
16-
<FileVersion>2.2.7.0</FileVersion>
15+
<AssemblyVersion>2.3.0.0</AssemblyVersion>
16+
<FileVersion>2.3.0.0</FileVersion>
1717
<RepositoryUrl>https://github.com/stulzq/Alipay.AopSdk.Core</RepositoryUrl>
1818
<RepositoryType>git</RepositoryType>
1919
</PropertyGroup>
File renamed without changes.

0 commit comments

Comments
 (0)