真的寶藏,裂墻推薦浇坐!
spring-boot-pay Star 6.3k
https://gitee.com/52itstyle/spring-boot-pay
該項(xiàng)目基于 Spring Boot 搭建睬捶,是支付寶,微信近刘,銀聯(lián)支付服務(wù)詳細(xì)代碼案例 擒贸,所有支付 Demo 測試通過,真實(shí)有效觉渴。代碼案例包含功能如下介劫,幾乎涵蓋了常用的支付場景:
支付寶
掃碼支付
電腦支付
WAP支付
APP支付服務(wù)端
微信
掃碼支付(模式一二)
公眾號H5支付
WAP支付
銀聯(lián)
電腦支付
WAP支付
案例基于如下技術(shù)棧開發(fā):
JDK1.8
Maven
IDEA
SpringBoot2.2.6
Dubbo2.7.3
zookeeper3.5.3
案例截圖
下面是問小柒的一些問題:
0)部署本項(xiàng)目的案例可能會遇到什么坑?
下面這幾篇博文記錄了我遇到的 Bug 案淋,有類似的問題可以看看下面的博客:
開發(fā)銀聯(lián)支付之前要做的那些事兒
https://blog.52itstyle.vip/archives/3060/
開發(fā)微信支付之前要做的那些事兒
https://blog.52itstyle.vip/archives/3053/
內(nèi)網(wǎng)穿透神器:Ngrok在支付中的正確使用姿勢
https://blog.52itstyle.vip/archives/2972/
那些年支付寶微信銀聯(lián)支付遇到的坑
https://blog.52itstyle.vip/archives/1364/
微信支付linux下java.net.UnknownHostException: api.mch.weixin.qq.com
https://blog.52itstyle.vip/archives/162/
JAVA實(shí)現(xiàn)微信退款報(bào)錯unexpected end of file from server
https://blog.52itstyle.vip/archives/159/
支付寶掃碼支付和微信掃碼支付業(yè)務(wù)場景及問題記錄
https://blog.52itstyle.vip/archives/263/
微信掃碼支付(模式一)遇到的那些坑
https://blog.52itstyle.vip/archives/1372/
微信公眾號H5支付遇到的那些坑
https://blog.52itstyle.vip/archives/1440/
阿里云HTTPS證書服務(wù)
https://blog.52itstyle.vip/archives/969/
SpringBoot開發(fā)案例之整合Swagger篇
https://blog.52itstyle.vip/archives/1473/
SpringBoot開發(fā)案例之整合Dubbo分布式服務(wù)
https://blog.52itstyle.vip/archives/3411/
1)為什么會有這個一個項(xiàng)目座韵?
因?yàn)槠脚_有多個項(xiàng)目,每個項(xiàng)目都有支付模塊踢京,所以就單獨(dú)出來了一個服務(wù)誉碴,這樣就可以復(fù)用唄。
2)服務(wù)通過什么方式調(diào)用瓣距?
當(dāng)然是 RPC 了黔帕,通過注冊中心調(diào)用服務(wù),技術(shù)棧 Zookeeper + Dubbo蹈丸,這兩個玩意都可以做集群成黄。
3)使用 RPC 有什么好處呐芥?
一是安全啊,我們項(xiàng)目部署在私有云奋岁,注冊中心一般不會對外開放思瘟,那就不存在 HTTP 接口所謂的鑒權(quán)了;二是高效啊厦取,畢竟 RPC 是基于四層協(xié)議的潮太,相對來說的確會高那么一點(diǎn)點(diǎn),這個大家可以自行測試虾攻,但是我覺得對于大部分公司铡买,這個不重要。
4)這個項(xiàng)目可以拿來即用嗎霎箍?
當(dāng)然可以奇钞,只要只配置好相關(guān)參數(shù),把接口類打個包漂坏,扔給消費(fèi)者就是了景埃,當(dāng)然了,一些業(yè)務(wù)邏輯還是需要自己去實(shí)現(xiàn)的顶别。
5)如何保證高可用谷徙?
那就部署多個服務(wù),Dubbo 默認(rèn)負(fù)載均衡策略是輪詢驯绎,你也可以配置成其他策略完慧,比如根據(jù)機(jī)器配置設(shè)置加權(quán)之類的。Zookeeper 也可以啊剩失,保證 2N+1 臺就是了屈尼。
6)有什么相對我說的嗎?