Spring Boot項(xiàng)目中集成微信支付v3
最近忙的一批,難得今天有喘氣的機(jī)會(huì)就趕緊把最近在開(kāi)發(fā)中的一些成果分享出來(lái)。前幾日分享了自己寫(xiě)的一個(gè)微信支付V3的開(kāi)發(fā)包payment-spring-boot-starter,就忙里偷閑完善了一波。期間給微信支付提交了6個(gè)BUG,跟微信支付的產(chǎn)品溝通了好幾天。
項(xiàng)目地址: https://github.com/NotFound403/payment-spring-boot
別忘記給個(gè)Star啊。
那么都完善了哪些內(nèi)容呢?胖哥來(lái)一一介紹。
2. Maven 中央倉(cāng)庫(kù)是的,不用再自行編譯打包部署了,我已經(jīng)提交到Maven中央倉(cāng)庫(kù)了。最新的坐標(biāo)是:
<dependency> <groupId>cn.felord</groupId> <artifactId>payment-spring-boot-starter</artifactId> <version>1.0.1.RELEASE</version></dependency>
這才算有了點(diǎn)正經(jīng)開(kāi)源項(xiàng)目的樣子。
3. 功能更加完善在上次分享中僅僅實(shí)現(xiàn)了微信支付的代金券能力,這次加入了更多的微信支付能力:
微信支付V3的基礎(chǔ)支付-直連模式優(yōu)化。實(shí)現(xiàn)微信支付V3的合單支付。同時(shí)自行實(shí)現(xiàn)了多商戶、多APPID的多租戶模式。后續(xù)微信支付分等功能也將接入進(jìn)來(lái)。
4. 完善樣例大部分還是喜歡拿來(lái)就用,那么我編寫(xiě)了一個(gè)DEMO項(xiàng)目,比如微信支付回調(diào)的控制器代碼:
/** * 微信支付成功回調(diào). * <p> * 無(wú)需開(kāi)發(fā)者判斷,只有扣款成功微信才會(huì)回調(diào)此接口 * * @param wechatpaySerial the wechatpay serial * @param wechatpaySignature the wechatpay signature * @param wechatpayTimestamp the wechatpay timestamp * @param wechatpayNonce the wechatpay nonce * @param request the request * @return the map */@SneakyThrows@PostMapping('/transaction')public Map<String, ?> transactionCallback( @RequestHeader('Wechatpay-Serial') String wechatpaySerial, @RequestHeader('Wechatpay-Signature') String wechatpaySignature, @RequestHeader('Wechatpay-Timestamp') String wechatpayTimestamp, @RequestHeader('Wechatpay-Nonce') String wechatpayNonce, HttpServletRequest request) { String body = request.getReader().lines().collect(Collectors.joining()); // 對(duì)請(qǐng)求頭進(jìn)行驗(yàn)簽 以確保是微信服務(wù)器的調(diào)用 ResponseSignVerifyParams params = new ResponseSignVerifyParams(); params.setWechatpaySerial(wechatpaySerial); params.setWechatpaySignature(wechatpaySignature); params.setWechatpayTimestamp(wechatpayTimestamp); params.setWechatpayNonce(wechatpayNonce); params.setBody(body); return wechatApiProvider.callback(TENANT_ID).transactionCallback(params, data -> { //TODO 對(duì)回調(diào)解析的結(jié)果進(jìn)行消費(fèi) });}
基本就是抄來(lái)就能用的。還有更多請(qǐng)參閱 payment-spring-boot-samples項(xiàng)目:
地址:https://github.com/NotFound403/payment-spring-boot-samples
5. 文檔寫(xiě)文檔確實(shí)是一個(gè)枯燥的事情,參考了其它一些開(kāi)源項(xiàng)目的樣子弄了個(gè)像模像樣的文檔:
地址是:https://notfound403.github.io/payment-spring-boot
快速接入指南、JavaDoc、踩坑分享都在文檔里面了。如果有什么需要完善的地方可以提交ISSUE。
今天的分享就到這里,如果你在微信支付中遇到了什么問(wèn)題可以留言提問(wèn),分享使我快樂(lè)。
以上就是Spring Boot項(xiàng)目中集成微信支付v3的詳細(xì)內(nèi)容,更多關(guān)于Spring Boot項(xiàng)目微信支付的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 怎么用微信讀書(shū)免費(fèi)看書(shū)?2. 抖音蠟筆小新新是什么歌 抖音蠟筆小新新歌詞介紹3. 珈樂(lè)網(wǎng)易云有號(hào)嗎 珈樂(lè)網(wǎng)易云賬號(hào)ID是什么4. solidworks拉伸凸臺(tái)給定深度的方法5. 釘釘APP查看我的賬單的操作方法6. 趣推怎么發(fā)長(zhǎng)視頻到朋友圈?趣推發(fā)長(zhǎng)視頻到朋友圈的方法7. 手機(jī)QQ如何徹底刪除單個(gè)(一個(gè))人的聊天記錄8. 如何用支付寶掃碼乘地鐵9. 新浪微博的閱讀量互動(dòng)量等各種數(shù)據(jù)哪里查看?10. 支付寶免押金租自行車怎么取 支付寶免押金租車流程介紹
