Git Product home page Git Product logo

paysharp's Introduction

PaySharp


PaySharp是一个支持多商户多种支付方式的跨平台网关处理类库,使用PaySharp可以简化订单的创建、查询、退款和接收网关返回的支付通知等操作。

目前支持的支付网关有:支付宝(Alipay)、微信支付(Wechatpay)、**银联(Unionpay)、QQ钱包支付(Qpay)、通联收银宝(Allinpay)

1.支付宝:

支持的支付方式:
移动支付(App)、手机网站支付(Wap)、电脑网站支付(Web)、小程序支付(Applet)、条码支付(Barcode)、扫码支付(Scan)
支持的辅助接口:
查询、退款、退款查询、撤销、关闭、对账单下载、转账(Transfer)、转账查询(TransferQuery)

2.微信:

支持的支付方式:
移动支付(App)、手机网站支付(Wap)、公众号支付(Public)、小程序支付(Applet)、条码支付(Barcode)、扫码支付(Scan)
支持的辅助接口:
查询、退款、退款查询、撤销、关闭、对账单下载、资金账单下载、

转账(Transfer)、转账查询(TransferQuery)、转账到银行卡(TransferToBank)、转账到银行卡查询(TransferToBank)Query)

3.银联:

支持的支付方式:
移动支付(App)、手机网站支付(Wap)、电脑网站支付(Web)、条码支付(Barcode)、扫码支付(Scan)
支持的辅助接口:
查询、退款、撤销、对账单下载

4.QQ钱包:

支持的支付方式:
移动支付(App)、公众号支付(Public)、条码支付(Barcode)、扫码支付(Scan)
支持的辅助接口:
查询、退款、退款查询、撤销、关闭、对账单下载

5.通联收银宝:

支持的支付方式:
统一支付(Unified)、统一条码(Barcode)
支持的辅助接口:
查询

Package


Package NuGet
PaySharp.Core NuGet
PaySharp.Core.Mvc NuGet
PaySharp.Alipay NuGet
PaySharp.Wechatpay NuGet
PaySharp.Unionpay NuGet
PaySharp.Qpay NuGet
PaySharp.Allinpay NuGet

开发环境

  • Windows 10
  • Visual Studio 2019(16.4)
  • .NET Core SDK 3.1

如何使用


Demo

交流讨论


加入QQ群

Wiki


支付宝支付文档:

https://openhome.alipay.com/developmentDocument.htm

微信支付文档:

https://pay.weixin.qq.com/wiki/doc/api/index.html

**银联文档:

https://open.unionpay.com/tjweb/doc/index

QQ钱包支付文档:

https://qpay.qq.com/buss/doc.shtml

通联收银宝支付文档:

https://aipboss.allinpay.com/know/devhelp/index.php

支持/打赏

打赏扫这里,请留下尊姓大名

致谢


hiihellox10

John0King

stulzq

Essensoft-Roc

paysharp's People

Contributors

abbotton avatar john0king avatar varorbc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

paysharp's Issues

支付宝app支付在客户端取消后不能在次调起支付宝问题

部署服务器为IIS 8,net 4.61 以下几个支付操作
1、IIS重新启动后,客户端调用接口获取支付宝支付参数,正常能调起,如果支付成功后,在次请求参数送到支付宝后,也能正常调起。
2、如果执行过程中,有一个是客户端取消,那么在次请求参数后,在调起支付宝时,出现:ALI40247 错误。
3、当IIS重启后,客户端在次获取参数后,又能继续调起支付宝,如果进入上面第2步后,又失败。那么只有重起IIS后又可以。。。

ICanPay.Core不需要引入Autofac

现在大多数项目都会引入ioc,而在 ICanPay.Core中仅仅是用Autofac来注册单例的IGateways,其实完全可以在 ICanPay.Core中搞个单例的对象就行了。NFX直接用这个单例对象就行了。

微信多商户

一个AppId,多个商户,也就是AppID一样,MchID不一样,回调通知时怎么确定是那个商户?

支付宝转账接口升级及公钥证书

1、支付宝转账接口升级了。
说明地址(目前已对该接口能力做了升级,后续建议调用新接口alipay.fund.trans.uni.transfer):
https://opensupport.alipay.com/support/helpcenter/112/201602481112?ant_source=opendoc_recommend
新接口地址:
https://opendocs.alipay.com/apis/api_28/alipay.fund.trans.uni.transfer
2、支付宝转账接口目前只支持证书方式了,但PaySharp.Alipay.Merchant中并无对证书设置的地方。

是否可以考虑让PaySharp.Core.Notify的事件返回Task<T>以支持异步

public event Func<object, CancelSucceedEventArgs, bool> CancelSucceed;
public event Func<object, RefundSucceedEventArgs, bool> RefundSucceed;
public event Func<object, UnKnownNotifyEventArgs, bool> UnknownNotify;
public event Action<object, UnknownGatewayEventArgs> UnknownGateway;

改成

public event Func<object, CancelSucceedEventArgs, Task<bool>> CancelSucceed;
public event Func<object, RefundSucceedEventArgs, Task<bool>> RefundSucceed;
public event Func<object, UnKnownNotifyEventArgs, Task<bool>> UnknownNotify;
public event Func<object, UnknownGatewayEventArgs, Task> UnknownGateway;

微信小程序登录无法使用

微信小程序登录返回api为errorcode,但是我打开源码后发现使用snake风格导致匹配error_code.导致无法登录获取errorcode

return Content(content.ToString());

ICanPay-asp.net branch
1、Content(content.ToString()): The web page show error when content is null.
2、missed acp_test_sign.pfx in folder: ICanPay-asp.net\sample\ICanPay.Demo\Certs

时区问题

Datetime.now 在原生的 docker 镜像中是 utc 时区,银联提交报错。

异步通知

IExceptionFilter 捕获到异常
Headers are read-only, response has already started.

为了跨平台项目拆分建议

主项目(极少依赖,跨平台):

icanpay.core 只包含base类,加密,网络请求,helper类,尽量减少依赖
icanpay.alipay/icanpay.wxpay/icanpay.unionpay 支付规则的override和抽象实现

集成项目(依赖特定平台)

icanpay.mvc.[autofac/aspectcore] 依赖mvc/autofac/or something
icanpay.mvccore 同上
icanpay.nancy 同上

关于分帐功能

各位兄弟们,没有看到分账功能啊.
看微信的分帐流程,要先添加分账商户,再调用分帐接口.

paysharp里面没有找到相关的接口,有哪位兄弟知道吗?

支付参数动态配置

准备制作统一支付渠道网关,请问用何种方式,可以动态配置相关支付方式的参数

对 PR #29 的讨论

对于 PR #29 的讨论

讨论的方面:

  1. 关于 DI 方面的处理
  2. Logging 日志的处理
  3. PaySharp.AspNetCore 命名 (改变 Target 还是 改变支付 实现的名字)
    方案1: 将 Target 挪到独立的命名空间下, 如 PaySharp.Target.* (PaySharp.Target.AspNetCore)
    方案2: 将 支付机构的实现挪到独立的命名空间下, 如 PaySharp.Authorities.* (PaySharp.Authorities.Alipay)
  4. 处理支付时的优化, 最好我们可以使用同一个处理类或函数 处理不同的 支付机构的 响应 。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.