开源工具技巧程序员

开源库支付库Magicodes.Pay发布

2019-02-28  本文已影响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”订阅号以便第一时间获得最新内容。本文版权归作者和湖南心莱信息科技有限公司共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

上一篇下一篇

猜你喜欢

热点阅读