美文网首页开源工具技巧程序员
开源库支付库Magicodes.Pay发布

开源库支付库Magicodes.Pay发布

作者: 雪雁 | 来源:发表于2019-02-28 10:06 被阅读16次

    Magicodes.Pay,是心莱科技团队提供的统一支付库,相关库均使用.NET标准库编写,支持.NET Framework以及.NET Core。目前支持以下支付方式和功能:

    1.支付宝APP支付

    2.支付宝Wap支付

    3.支付宝国际支付

         支持分账

    4.微信小程序支付

    5.微信APP支付

    6.统一支付回调处理

    7.支持日志函数注入(不依赖日志库)

    8.支持支付配置函数注入,以便于支持自定义配置获取逻辑,以应用于不同的场景(比如从配置文件、用户设置获取配置,或者多租户支持)

    目前此库我们在很多项目上已经进行了验证,由于项目赶工,许多功能我们并没有添加、迁移或者重构过来,在后续的过程中,我们会逐步来完成这些工作。同时,在Magicodes.Admin开源库中,我们也编写了相关的Demo和实现。

    Magicodes.Pay开源库地址:

    https://github.com/xin-lai/magicodes.pay

    Magicodes.Admin开源库地址:https://gitee.com/xl_wenqiang/Magicodes.Admin.Core

    整个支付实现这块,我们在Magicodes.Admin开源库中已经提供了统一支付的Demo,而且我们将会提供根据请求头来自动调用相关支付的功能。如下图所示:

    在各个业务支付场景中,我们可以非常方便的调用此统一支付,如下图所示:

    VNext

    这是目前的下个版本的规划:

    1.支付宝PC支付

    2.微信H5支付

    3.提供默认的回调管理逻辑,支持回调处理函数的注入

    具体功能我们会根据项目的情况来迭代,如果你有好的建议或者意见,可以关注我们的公众号“magiccodes”来提交您的意见或者意见。

    如何配置

    相关库的配置相对比较简单,一般均使用相关Builder类来配置自定义日志逻辑、配置获取逻辑等,具体可以查阅Builder目录下的代码。

    配置参考

    相关配置请参考此代码:https://gitee.com/xl_wenqiang/Magicodes.Admin.Core/blob/develop/src/unity/Magicodes.Pay/Startup/PayStartup.cs

    部分代码如下所示:

    支付相关代码可以参考:https://gitee.com/xl_wenqiang/Magicodes.Admin.Core/blob/develop/src/unity/Magicodes.Pay/Services/PayAppService.cs

    配置界面参考

    如下图所示:

    Demo

    微信支付Demo

    支付宝支付Demo

    支付宝国际支付Demo

    国际支付宝分账参考界面

    支付回调

     目的

    统一回调处理逻辑和回调处理地址

     代码参考

    上图的PayAction参考:

     void PayAction(string key, string outTradeNo, string transactionId, int totalFee, JObject data)

           {

               using (var paymentCallbackManagerObj = iocManager.ResolveAsDisposable<PaymentCallbackManager>())

               {

                   var paymentCallbackManager = paymentCallbackManagerObj?.Object;

                   if (paymentCallbackManager == null)

                   {

                       throw new ApplicationException("支付回调管理器异常,无法执行回调!");

                   }

                   AsyncHelper.RunSync(async () => await paymentCallbackManager.ExecuteCallback(key, outTradeNo, transactionId, totalFee, data));

    完整回调代码请参考此代码:https://gitee.com/xl_wenqiang/Magicodes.Admin.Core/blob/develop/src/unity/Magicodes.Pay/Startup/PayStartup.cs

    回调逻辑参考:

    沟通渠道:编程交流群<85318032> 产品交流群<897857351> 

    如果喜欢作者的文章,请关注“magiccodes”订阅号以便第一时间获得最新内容。本文版权归作者和湖南心莱信息科技有限公司共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    相关文章

      网友评论

        本文标题:开源库支付库Magicodes.Pay发布

        本文链接:https://www.haomeiwen.com/subject/ouncuqtx.html