Java后端实现三方支付集成支付宝(国内、国际、移动端、PC端)、微信、银联(acp、upop)、光大(网关、网页)、邮政支付
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
README.md
pom.xml

README.md

PayMap

PayMap是一个使用Java语言集成三方支付的小Demo,现已集成支付宝(国内、国际、移动端、PC端)、微信、银联(ACP、UPOP)、光大(网关、网页)、邮政支付,采用的技术栈为:SpringMVC+Spring+MyBatis+Shiro+RabbitMQ+Redis。

特性

  • 支持前面提到的各种**支付
  • 支付请求调用支持HTTP和异步MQ
  • 控制层统一异常处理
  • LogBack日志记录
  • Redis缓存机制
  • Shiro安全机制
  • MyBatis代码自动生成
  • HTTP请求日志记录
  • RESTful APIs

使用

这里不多说,先去看三方支付提供的官方文档,如有疑问可以跟我交流。

补充

由于是Demo,银联支付会支持ACP和UPOP,UPOP属于老平台文档较少有可能有人会用到,现在用的基本都是ACP。另外三方支付对接由于各种网络原因,支付可能存在通知失败或者MQ消息有可能失败的情况,这里需要采用补偿机制,一般的补偿方案是:消息落地数据库,流程成功删掉指定消息,对于失败的消息有专门的定时任务轮询重发,重发次数可以参考指数退避算法,业务方也要做好接口幂等,至于具体的补偿方案请自行查阅,本Demo没有提供。对于支付通知失败的情况官方建议的流程是:业务方主动向三方支付查询消费交易状态然后进行后续业务处理,查询接口本Demo中也没有提供请自行实现。如果发现缺少JAR包,可以从WEB-INF目录下找到,请自行更新到你本地Maven库中。最后一点是涉及到支付证书一类的配置文件均为空文件请自行替换,如果出现“hugnew”字符的均需修改为您自己的配置信息。

交流

微信:crackxb
E-Mail:hugnew.com@gmail.com
QQ群:427697041