首页 > 其他分享 >.NET Core 开发的支付SDK集 - paylink

.NET Core 开发的支付SDK集 - paylink

时间:2023-12-05 21:23:11浏览次数:39  
标签:Core viewModel paylink 支付 NET response

一套基于 .NET Core 开发的支付SDK集 - paylink

 

前言

在我们的日常工作开发中对接一些第三方支付是比较常见的,如最常见的就是支付宝、微信支付的对接。今天给大家推荐一个基于.NET Core开发的支付SDK集:paylink,它极大简化了API调用及通知的处理流程从而大大提供我们的工作生产效率。

运行环境

.NET Core 3.1、.NET 6.0、.NET 7.0。

支持渠道

  • 支付宝支付
  • 微信支付

项目源码

微信公众号支付示例

        /// <summary>
        /// 公众号支付
        /// </summary>
        /// <param name="viewModel"></param>
        [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 == WeChatPayCode.Success && response.ResultCode == WeChatPayCode.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"] = JsonSerializer.Serialize(parameter);
                ViewData["response"] = response.Body;
                return View();
            }

            ViewData["response"] = response.Body;
            return View();
        }

详细代码请查阅示例项目:

 

项目源码地址

更多实用功能特性欢迎前往开源地址查看

标签:Core,viewModel,paylink,支付,NET,response
From: https://www.cnblogs.com/Leo_wl/p/17878191.html

相关文章

  • Linux监测工具 - NetData
    安装yuminstall-ynetdata.x86_64配置vi/etc/netdata/netdata.conf##修改默认端口,默认为:19999defaultport=19999##修改bindto=localhost为bindto=0.0.0.0bindto=0.0.0.0##重启systemctlrestartnetdata访问地址http://localhost:19999/netda......
  • ML.NET 3.0 增强了深度学习和数据处理能力
    .NET团队在2023.11.28在博客上正式发布了ML.NET3.0::https://devblogs.microsoft.com/dotnet/announcing-ml-net-3-0/[1],强调了两个主要的兴趣点,即深度学习和数据处理,使开发人员能够完全在.NET生态系统中创建注入AI的应用程序。开源ML.NET框架[2]的主要卖点,旨在帮助开发人......
  • coredump文件生成,以及GDB工具使用
    一、coredump文件生成Core文件其实就是内存的映像,当程序崩溃时,存储内存的相应信息,主用用于对程序进行调试。当程序崩溃时便会产生core文件,其实准确的应该说是coredump文件,默认生成位置与可执行程序位于同一目录下。1.查看core文件生成是否开启ulimit-a第一行corefile......
  • ADO.NET组成
    SqlConnection(数据库连接器)SqlCommand(数据库命名对象)SqlCommandBuilder(生存SQL命令)SqlDataReader(数据读取器)SqlDataAdapter(数据适配器填充DataSet)SqlParameter(为存储过程定义参数)SqlTransaction(数据库事物) Connection连接对象Connection对象也称为数据库连接对象,Connec......
  • .Net各版本的区别
    简介:.NET是一个跨平台的开发框架,它提供了一系列工具和库,用于开发各种类型的应用程序。在不同的.NET版本之间,存在一些区别和改进。下面是几个常见的.NET版本及其主要区别的概述:.NETFramework:.NETFramework是最早发布的.NET版本,它主要用于Windows桌面应用程序和We......
  • ADO.Net DataAccess 常用方法ExecuteNonQuery ExecuteReader ExecuteDataSet
    1///<summary>2///Standardinterfacefordataaccessusingstoredprocedures3///</summary>4publicinterfaceIDataAccess5{6stringConnectionString{get;set;}7SqlConnectionCreateConnecti......
  • .Net ——TCP/IP
    TCP/IP是什么,可以用来干什么:TCP/IP是一种网络通信协议,它是互联网基础设施的核心,用于在计算机之间进行可靠的数据传输。在.NET中,也提供了丰富的类库和工具来支持TCP/IP协议的应用开发。使用TCP/IP协议,可以完成以下一些常见的任务:网络通信:通过TCP/IP协议,客户端和服务器......
  • .NET——中间件与管道
    中间件:中间件是什么,可以干什么:在.NET中,中间件是一种用于处理HTTP请求和响应的组件。它们将请求传递给下一个中间件或终端处理程序,并允许开发人员在请求处理的不同阶段执行自定义操作。以下是一些常见的.NET中间件:AuthenticationMiddleware:用于认证用户身份并授权访问......
  • 每个.NET开发都应掌握的C#处理文件系统I/O知识点
    上篇文章讲述了C#多线程知识点,本文将介绍C#处理文件的知识点。在.NET开发领域,文件系统I/O是一个至关重要的主题,尤其是在处理文件、目录和数据存储方面。C#作为.NET平台的主要编程语言,提供了丰富而强大的文件系统I/O功能,为开发人员提供了灵活的工具,使其能够高效地处理文件操作。本......
  • IntelliJ IDEA 2023.2新特性详解第三弹!Docker、Kubernetes等支持!
    9Docker在Docker镜像层内预览文件现在可以在Services(服务)工具窗口中轻松访问和预览Docker镜像层的内容。从列表选择镜像,选择Showlayers(显示层),然后点击Analyzeimageformoreinformation(分析镜像以获得更多信息)。这将打开层中存储的文件列表,你可以右键点击文件,然后......