欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring Boot項目中集成微信支付v3

 更新時間:2021年01月06日 11:31:10   作者:碼農(nóng)小胖哥  
這篇文章主要介紹了Spring Boot項目中集成微信支付v3,幫助大家更好的理解和使用spring boot框架,感興趣的朋友可以了解下

1. 前言

最近忙的一批,難得今天有喘氣的機會就趕緊把最近在開發(fā)中的一些成果分享出來。前幾日分享了自己寫的一個微信支付V3的開發(fā)包payment-spring-boot-starter,就忙里偷閑完善了一波。期間給微信支付提交了6個BUG,跟微信支付的產(chǎn)品溝通了好幾天。

項目地址: https://github.com/NotFound403/payment-spring-boot

別忘記給個Star啊。

那么都完善了哪些內(nèi)容呢?胖哥來一一介紹。

2. Maven 中央倉庫

是的,不用再自行編譯打包部署了,我已經(jīng)提交到Maven中央倉庫了。最新的坐標(biāo)是:

<dependency>
  <groupId>cn.felord</groupId>
  <artifactId>payment-spring-boot-starter</artifactId>
  <version>1.0.1.RELEASE</version>
</dependency>

這才算有了點正經(jīng)開源項目的樣子。

3. 功能更加完善

在上次分享中僅僅實現(xiàn)了微信支付的代金券能力,這次加入了更多的微信支付能力:

微信支付V3的基礎(chǔ)支付-直連模式優(yōu)化。
實現(xiàn)微信支付V3的合單支付。
同時自行實現(xiàn)了多商戶、多APPID的多租戶模式。后續(xù)微信支付分等功能也將接入進(jìn)來。

4. 完善樣例

大部分還是喜歡拿來就用,那么我編寫了一個DEMO項目,比如微信支付回調(diào)的控制器代碼:

/**
 * 微信支付成功回調(diào).
 * <p>
 * 無需開發(fā)者判斷,只有扣款成功微信才會回調(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());
  // 對請求頭進(jì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 對回調(diào)解析的結(jié)果進(jìn)行消費
  });
}

基本就是抄來就能用的。還有更多請參閱 payment-spring-boot-samples項目:

地址:https://github.com/NotFound403/payment-spring-boot-samples

5. 文檔

寫文檔確實是一個枯燥的事情,參考了其它一些開源項目的樣子弄了個像模像樣的文檔:

地址是:https://notfound403.github.io/payment-spring-boot

快速接入指南、JavaDoc、踩坑分享都在文檔里面了。如果有什么需要完善的地方可以提交ISSUE。

今天的分享就到這里,如果你在微信支付中遇到了什么問題可以留言提問,分享使我快樂。

以上就是Spring Boot項目中集成微信支付v3的詳細(xì)內(nèi)容,更多關(guān)于Spring Boot項目微信支付的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解Java攔截器以及自定義注解的使用

    詳解Java攔截器以及自定義注解的使用

    這篇文章主要為大家介紹了Java攔截器以及自定義注解的使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助<BR>
    2021-12-12
  • SpringBoot中的錯誤處理機制源碼解析

    SpringBoot中的錯誤處理機制源碼解析

    這篇文章主要介紹了SpringBoot中的錯誤處理機制源碼解析,springboot根據(jù)訪問者的request中的Accept屬性來判斷要返回什么樣的數(shù)據(jù),SpringBoot存在一個錯誤處理機制,會根據(jù)不同請求返回不同的結(jié)果,需要的朋友可以參考下
    2023-12-12
  • struts2.2.3+spring3.1.0+mybatis3.1.0框架整合集成簡單demo

    struts2.2.3+spring3.1.0+mybatis3.1.0框架整合集成簡單demo

    本篇文章主要介紹了struts2.2.3+spring3.1.0 + mybatis3.1.0框架整合,結(jié)合在一起實現(xiàn)用戶的增刪改查功能,有需要的可以了解一下。
    2016-11-11
  • SpringBoot中事務(wù)失效的原因詳解

    SpringBoot中事務(wù)失效的原因詳解

    這篇文章主要介紹了SpringBoot中事務(wù)失效的原因詳解,spring中的事務(wù)是依賴AOP的,AOP是通過動態(tài)代理實現(xiàn)的,只有通過代理類訪問的方法才能被攔截,需要的朋友可以參考下
    2023-10-10
  • Java如何判斷字符串中是否包含某個字符

    Java如何判斷字符串中是否包含某個字符

    這篇文章主要介紹了Java如何判斷字符串中是否包含某個字符,可以使用String類的contains()方法,另一種方法使用String類的indexOf方法,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • 基于SpringBoot生成二維碼的幾種實現(xiàn)方式

    基于SpringBoot生成二維碼的幾種實現(xiàn)方式

    本文將基于Spring Boot介紹兩種生成二維碼的實現(xiàn)方式,一種是基于Google開發(fā)工具包,另一種是基于Hutool來實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2022-03-03
  • 在SpringBoot中使用MongoDB完成數(shù)據(jù)存儲

    在SpringBoot中使用MongoDB完成數(shù)據(jù)存儲

    本文主要介紹了在SpringBoot中如惡化使用MongoDB完成數(shù)據(jù)存儲,接下來這篇我們將圍繞MongoDB進(jìn)行,MongoDB是一個開源的,面向文檔的NoSQL數(shù)據(jù)庫管理系統(tǒng),使用類似JSON的BSON(二進(jìn)制JSON)格式來存儲數(shù)據(jù),具有靈活的數(shù)據(jù)模型和強大的查詢功能,需要的朋友可以參考下
    2023-11-11
  • Spring中使用ehcache緩存的方法及原理詳解

    Spring中使用ehcache緩存的方法及原理詳解

    這篇文章主要介紹了Spring中使用ehcache緩存的方法及原理詳解,ehcache具有很強的靈活性,提供了LRU、LFU和FIFO緩存淘汰算法,Ehcache 1.2引入了最近最少使用、最久未使用和先進(jìn)先 出緩存淘汰算法, 構(gòu)成了完整的緩存淘汰算法,,需要的朋友可以參考下
    2024-01-01
  • SpringIOC?BeanDefinition的加載流程詳解

    SpringIOC?BeanDefinition的加載流程詳解

    這篇文章主要為大家介紹了SpringIOC?BeanDefinition的加載流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • JAVA設(shè)計模式之責(zé)任鏈模式詳解

    JAVA設(shè)計模式之責(zé)任鏈模式詳解

    這篇文章主要介紹了JAVA設(shè)計模式之責(zé)任鏈模式詳解,需要的朋友可以參考下
    2015-04-04

最新評論