欢迎使用 Alipay SDK for .NET 。
Alipay SDK for .NET让您不用复杂编程即可访支付宝开放平台开放的各项能力,SDK可以自动帮您满足能力调用过程中所需的证书校验、加签、验签、发送HTTP请求等非功能性要求。
这里向您介绍如何获取 Alipay SDK for .NET 并开始调用。 如果您在使用 Alipay SDK for .NET 的过程中遇到任何问题,欢迎在当前 GitHub 提交 Issues。
-
Alipay SDK for .NET同时提供基于.Net Framework和.Net Standard 2.0开发的版本,前者支持.Net Framework 3.5及其以上版本,后者支持.Net Framework 4.6.1、.Net Core 2.0及其以上版本。
-
使用 Alipay SDK for .NET 之前 ,您需要先前往支付宝开发平台-开发者中心完成开发者接入的一些准备工作,包括创建应用、为应用添加功能包、设置应用的接口加签方式等。
-
准备工作完成后,注意保存如下信息,后续将作为使用SDK的输入。
- 加签模式为公钥证书模式时(推荐)
AppID
、应用的私钥
、应用的公钥证书文件
、支付宝公钥证书文件
、支付宝根证书文件
- 加签模式为公钥模式时
AppId
、应用的私钥
、应用的公钥
、支付宝公钥
推荐通过 NuGet 程序包管理器来安装依赖:
-
在
解决方案资源管理器面板
中右击您的项目选择管理 NuGet 程序包
菜单,在打开的NuGet 管理面板
中点击浏览
选项卡输入AlipaySDKNet
,在下方列表中选择Authors
为antopen
由官方发布的NuGet包,点击 安装 即可。 -
或者通过 .NET CLI 工具来安装
dotnet add package AlipaySDKNet
以下这段代码示例向您展示了使用Alipay SDK for .NET调用一个API的3个主要步骤:
- 创建DefaultAopClient实例并初始化。
- 创建API请求对象并设置Model参数。
- 发起请求并处理响应或异常。
using System;
using Aop.Api;
using Aop.Api.Request;
using Aop.Api.Response;
using Aop.Api.Domain;
namespace SDK.Demo
{
class Program
{
static void Main(string[] args)
{
try
{
// 1. 创建IAopClient实例
IAopClient client = new DefaultAopClient(
"https://openapi.alipay.com/gateway.do",
"2019091767145019", //请更换为您的AppId
"MIIEowIBAAKCAQ ... ...", //请更换为您的PKCS1格式的应用私钥
"json", "1.0", "RSA2",
"utf-8", //请更换为您使用的字符集编码,推荐采用utf-8
false, GetCertParams());
// 2. 创建使用的Open API对应的Request请求对象
AlipayOpenOperationOpenbizmockBizQueryRequest request = GetRequest();
// 3. 发起请求并处理响应
AlipayOpenOperationOpenbizmockBizQueryResponse response = client.CertificateExecute(request);
if (!response.IsError)
{
Console.WriteLine("调用成功。");
}
else
{
Console.WriteLine("调用失败,原因:" + response.Msg + "," + response.SubMsg);
}
}
catch (Exception e)
{
Console.WriteLine("调用遭遇异常,原因:" + e.Message);
throw e;
}
}
private static CertParams GetCertParams()
{
return new CertParams
{
//请更换为您的应用公钥证书文件路径
AlipayPublicCertPath = "/home/foo/alipayCertPublicKey_RSA2.crt",
//请更换您的支付宝公钥证书文件路径
AppCertPath = "/home/foo/appCertPublicKey_2019090366875133.crt",
//请更换为支付宝根证书文件路径
RootCertPath = "/home/foo/alipayRootCert.crt"
};
}
private static AlipayOpenOperationOpenbizmockBizQueryRequest GetRequest()
{
// 初始化Request,并填充Model属性。实际调用时请替换为您想要使用的API对应的Request对象。
AlipayOpenOperationOpenbizmockBizQueryRequest request = new AlipayOpenOperationOpenbizmockBizQueryRequest();
AlipayOpenOperationOpenbizmockBizQueryModel model = new AlipayOpenOperationOpenbizmockBizQueryModel
{
BizNo = "123456789"
};
request.SetBizModel(model);
return request;
}
}
}
提交 Issue,我们会定期查看Issue记录并尽快做出反馈。
每个版本的详细更改记录在变更日志中。
注:版本号最末一位修订号的增加(比如从4.1.62
升级为4.1.74
),意味着SDK的功能没有发生任何变化,仅仅是集成了更多的API的Request、Response、Domain类,此类变更默认不记录在变更日志中。