/Alipay.AopSdk.Core

支付宝(Alipay)服务端SDK,采用.NET Standard 2.0,支持.NET Core 2.0,与官方SDK接口完全相同。完全可以按照官方文档进行开发。除了支持支付以外,官方SDK支持的功能本SDK全部支持,且用法几乎一样,代码都可参考官方文档代码。

Primary LanguageC#MIT LicenseMIT

Member project of .NET Core Community Jenkins

Alipay.AopSdk.Core

一.各个组件说明

组件名 说明 版本号
Alipay.AopSdk.Core 服务端SDK,封装了支付宝开放平台的所有API Latest version
Alipay.AopSdk.F2FPay 当面付SDK,提供条码支付、扫码支付能力 Latest version
Alipay.AopSdk.AspnetCore 服务端SDK的ASP.NET Core组件,为了能更好配合ASP.NET Core 使用 Latest version
Alipay.AopSdk.F2FPay.AspnetCore 当面付SDK的ASP.NET Core组件,为了能更好配合ASP.NET Core 使用 Latest version

支付宝(Alipay)服务端SDK,采用.NET Standard 2.0,支持.NET Core 2.0,与官方SDK接口完全相同。完全可以按照官方文档进行开发。除了支持支付以外,官方SDK支持的功能本SDK全部支持,且用法几乎一样,代码都可参考官方文档代码。。由于精力有限,所以只做了几个Demo,但是其他功能可以参照官方的Demo来使用。可以使用官方文档中的示例代码。如有问题请加QQ群4656606。

本项目代码基于官方.NET Framework 代码重构而来。

二.ASP.NET Core 使用

1.安装程序包

Install-Package Install-Package Alipay.AopSdk.AspnetCore

2.添加配置

public void ConfigureServices(IServiceCollection services)
{
    services.AddAlipay(options =>
	        {
		        options.AlipayPublicKey = "支付宝公钥";
		        options.AppId = "应用ID";
		        options.CharSet = "密钥编码";
		        options.Gatewayurl = "支付网关";
		        options.PrivateKey = "商家私钥";
		        options.SignType = "签名方式 RSA/RSA2";
		        options.Uid = "商户ID";
	        });
}

3.在Controller中使用

//通过di注入
private readonly IAlipayService  _alipayService;

public xxxController(IAlipayService alipayService)
{
	_alipayService = alipayService;

}

_alipayService.Execute();

三.使用当面付(条码支付/扫描支付)

1.安装程序包

Install-Package Alipay.AopSdk.F2FPay.AspnetCore

2.添加配置

public void ConfigureServices(IServiceCollection services)
{
    services.AddAlipay(options =>
	        {
		        options.AlipayPublicKey = "支付宝公钥";
		        options.AppId = "应用ID";
		        options.CharSet = "密钥编码";
		        options.Gatewayurl = "支付网关";
		        options.PrivateKey = "商家私钥";
		        options.SignType = "签名方式 RSA/RSA2";
		        options.Uid = "商户ID";
	        }).AddAlipayF2F();
}

3.在Controller中使用

private readonly IAlipayF2FService _alipayF2FService;

public xxxController(IAlipayF2FService alipayF2FService)
{
	_alipayF2FService = alipayF2FService;

}

_alipayF2FService.Execute();

四.配置

1.快捷添加配置的方法

appsettings.json里添加如下信息

 "Alipay": {
    "AlipayPublicKey": "",
    "AppId": "",
    "CharSet": "UTF-8",
    "Gatewayurl": "https://openapi.alipaydev.com/gateway.do",
    "PrivateKey": "",
    "SignType": "RSA2",
    "Uid": ""
  }

添加配置代码可改为如下:

public void ConfigureServices(IServiceCollection services)
{
    //配置alipay服务
    ConfigureAlipay(services);
    services.AddMvc();
}

private void ConfigureAlipay(IServiceCollection services)
{
    var alipayOptions = Configuration.GetSection("Alipay").Get<AlipayOptions>();
    //检查RSA私钥
    AlipayConfigChecker.Check(alipayOptions.SignType, alipayOptions.PrivateKey);
    services.AddAlipay(options => Configuration.GetSection("Alipay").Get<AlipayOptions>()).AddAlipayF2F();
}

2.在启动时进行私钥检查

通过方法AlipayConfigChecker.Check来在启动时对配置的私钥进行格式检查

AlipayConfigChecker.Check(string signType,string privateKey)

该方法有两个参数第一个为签名算法类型,第二个为私钥。此方法作用为检查私钥是否有效。建议与注入配置的代码一致。

五.文档信息

官方文档:

1.演示Demo

实现支付、支付同步回调、支付异步通知、订单查询、退款、退款查询、订单关闭、扫码支付功能

2.教程

3.使用问题集锦

常见问题解答