Skip to content

Varorbc/alipay-sdk-net-all

 
 

Repository files navigation

NuGet FOSSA Status Codacy Badge Build Status codecov

欢迎使用 Alipay SDK for .NET 。

Alipay SDK for .NET让您不用复杂编程即可访支付宝开放平台开放的各项能力,SDK可以自动帮您满足能力调用过程中所需的证书校验、加签、验签、发送HTTP请求等非功能性要求。

这里向您介绍如何获取 Alipay SDK for .NET 并开始调用。 如果您在使用 Alipay SDK for .NET 的过程中遇到任何问题,欢迎在当前 GitHub 提交 Issues

环境要求

  1. Alipay SDK for .NET同时提供基于.Net Framework和.Net Standard 2.0开发的版本,前者支持.Net Framework 3.5及其以上版本,后者支持.Net Framework 4.6.1、.Net Core 2.0及其以上版本。

  2. 使用 Alipay SDK for .NET 之前 ,您需要先前往支付宝开发平台-开发者中心完成开发者接入的一些准备工作,包括创建应用、为应用添加功能包、设置应用的接口加签方式等。

  3. 准备工作完成后,注意保存如下信息,后续将作为使用SDK的输入。

  • 加签模式为公钥证书模式时(推荐)

AppID应用的私钥应用的公钥证书文件支付宝公钥证书文件支付宝根证书文件

  • 加签模式为公钥模式时

AppId应用的私钥应用的公钥支付宝公钥

安装依赖

推荐通过 NuGet 程序包管理器来安装依赖:

  • 解决方案资源管理器面板 中右击您的项目选择 管理 NuGet 程序包 菜单,在打开的 NuGet 管理面板 中点击 浏览 选项卡输入 AlipaySDKNet,在下方列表中选择 Authorsantopen 由官方发布的NuGet包,点击 安装 即可。

  • 或者通过 .NET CLI 工具来安装

    dotnet add package AlipaySDKNet

快速使用

以下这段代码示例向您展示了使用Alipay SDK for .NET调用一个API的3个主要步骤:

  1. 创建DefaultAopClient实例并初始化。
  2. 创建API请求对象并设置Model参数。
  3. 发起请求并处理响应或异常。
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;
        }
    }
}

文档

SDK文档首页

问题

提交 Issue,我们会定期查看Issue记录并尽快做出反馈。

变更日志

每个版本的详细更改记录在变更日志中。

注:版本号最末一位修订号的增加(比如从4.1.62升级为4.1.74),意味着SDK的功能没有发生任何变化,仅仅是集成了更多的API的Request、Response、Domain类,此类变更默认不记录在变更日志中。

相关

许可证

FOSSA Status

About

支付宝开放平台 Alipay SDK for .NET

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%