支付宝、微信支付的接入已经是互联网应用非常常见的功能了,但是作为个人开发者的话需要查一大堆的资料踩很多坑。有没有一个项目帮助大家快速对接支付功能呢?今天推荐一个项目,该项目涵盖了支付宝、微信、银联支付详细的代码和案例。这个 repo 是我好哥们的,真的宝藏,裂墙推荐!

spring-boot-pay   Star 6.3k 

地址:https://gitee.com/52itstyle/spring-boot-pay

该项目基于 Spring Boot 搭建,是支付宝,微信,银联支付服务详细代码案例 ,所有支付 Demo 测试通过,真实有效。代码案例包含功能如下,几乎涵盖了常用的支付场景:

支付宝

  • 扫码支付

  • 电脑支付

  • WAP支付

  • APP支付服务端

微信

  • 扫码支付(模式一二)

  • 公众号H5支付

  • WAP支付

银联

  • 电脑支付

  • WAP支付

案例基于如下技术栈开发:

  • JDK1.8

  • Maven

  • IDEA

  • SpringBoot2.2.6

  • Dubbo2.7.3

  • zookeeper3.5.3

案例截图

一个项目搞定支付宝,微信支付!_zookeeper

一个项目搞定支付宝,微信支付!_rpc_02

下面是问小柒的一些问题:

0)部署本项目的案例可能会遇到什么坑?

下面这几篇博文记录了我遇到的 Bug ,有类似的问题可以看看下面的博客:

开发银联支付之前要做的那些事儿

https://blog.52itstyle.vip/archives/3060/

开发微信支付之前要做的那些事儿

https://blog.52itstyle.vip/archives/3053/

内网穿透神器:Ngrok在支付中的正确使用姿势

https://blog.52itstyle.vip/archives/2972/

那些年支付宝微信银联支付遇到的坑

https://blog.52itstyle.vip/archives/1364/

微信支付linux下java.net.UnknownHostException: api.mch.weixin.qq.com

https://blog.52itstyle.vip/archives/162/

JAVA实现微信退款报错unexpected end of file from server

https://blog.52itstyle.vip/archives/159/

支付宝扫码支付和微信扫码支付业务场景及问题记录

https://blog.52itstyle.vip/archives/263/

微信扫码支付(模式一)遇到的那些坑

https://blog.52itstyle.vip/archives/1372/

微信公众号H5支付遇到的那些坑

https://blog.52itstyle.vip/archives/1440/

阿里云HTTPS证书服务

https://blog.52itstyle.vip/archives/969/

SpringBoot开发案例之整合Swagger篇

https://blog.52itstyle.vip/archives/1473/

SpringBoot开发案例之整合Dubbo分布式服务

https://blog.52itstyle.vip/archives/3411/

1)为什么会有这个一个项目?

因为平台有多个项目,每个项目都有支付模块,所以就单独出来了一个服务,这样就可以复用呗。

2)服务通过什么方式调用?

当然是 RPC 了,通过注册中心调用服务,技术栈 Zookeeper + Dubbo,这两个玩意都可以做集群。

3)使用 RPC 有什么好处?

一是安全啊,我们项目部署在私有云,注册中心一般不会对外开放,那就不存在 HTTP 接口所谓的鉴权了;二是高效啊,毕竟 RPC 是基于四层协议的,相对来说的确会高那么一点点,这个大家可以自行测试,但是我觉得对于大部分公司,这个不重要。

4)这个项目可以拿来即用吗?

当然可以,只要只配置好相关参数,把接口类打个包,扔给消费者就是了,当然了,一些业务逻辑还是需要自己去实现的。

5)如何保证高可用?

那就部署多个服务,Dubbo 默认负载均衡策略是轮询,你也可以配置成其他策略,比如根据机器配置设置加权之类的。Zookeeper 也可以啊,保证 2N+1 台就是了。

6)有什么相对我说的吗?

一个项目搞定支付宝,微信支付!_zookeeper_03

最后最后

欢迎关注好哥们小逛的公众号「逛逛GitHub」每日一个有用、有料的 GitHub 项目推荐,秀的一批~扫描下方二维码关注!

一个项目搞定支付宝,微信支付!_java_04