最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Boot項(xiàng)目中集成微信支付v3

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

1. 前言

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

項(xiàng)目地址: https://github.com/NotFound403/payment-spring-boot

別忘記給個(gè)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>

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

3. 功能更加完善

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

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

4. 完善樣例

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

/**
 * 微信支付成功回調(diào).
 * <p>
 * 無需開發(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)
  });
}

基本就是抄來就能用的。還有更多請(qǐng)參閱 payment-spring-boot-samples項(xiàng)目:

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

5. 文檔

寫文檔確實(shí)是一個(gè)枯燥的事情,參考了其它一些開源項(xiàng)目的樣子弄了個(gè)像模像樣的文檔:

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

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

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

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

相關(guān)文章

  • Java中圖像銳化操作的方法詳解

    Java中圖像銳化操作的方法詳解

    這篇文章主要給大家介紹了關(guān)于Java中圖像銳化操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Android 資源 id詳解及的動(dòng)態(tài)獲取

    Android 資源 id詳解及的動(dòng)態(tài)獲取

    這篇文章主要介紹了Android 資源 id詳解及的動(dòng)態(tài)獲取的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • springboot 排除redis的自動(dòng)配置操作

    springboot 排除redis的自動(dòng)配置操作

    這篇文章主要介紹了springboot 排除redis的自動(dòng)配置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • mybatis連接mysql的實(shí)現(xiàn)過程

    mybatis連接mysql的實(shí)現(xiàn)過程

    通過配置Maven的pom文件,可以簡化MyBatis連接數(shù)據(jù)庫的過程,免去手動(dòng)下載和導(dǎo)入各種依賴包的麻煩,本文介紹了如何利用Maven導(dǎo)入MyBatis及其他相關(guān)依賴,如Junit、MySQL連接驅(qū)動(dòng)、Druid連接池和Dbutil等,以簡化數(shù)據(jù)庫操作和測試
    2024-10-10
  • Java集合中的Collection接口總結(jié)

    Java集合中的Collection接口總結(jié)

    這篇文章主要介紹了Java集合中的Collection接口總結(jié),Collection 接口是 List和Set接口的父接口,該接口里定義的方法既可用于操作 Set 集合,也可用于操作 List 集合,需要的朋友可以參考下
    2023-11-11
  • java實(shí)現(xiàn)區(qū)域內(nèi)屏幕截圖示例

    java實(shí)現(xiàn)區(qū)域內(nèi)屏幕截圖示例

    這篇文章主要介紹了java截圖示例,需要的朋友可以參考下
    2014-04-04
  • 新手入門Jvm--Jvm垃圾回收

    新手入門Jvm--Jvm垃圾回收

    JVM是Java Virtual Machine(Java虛擬機(jī))的縮寫,JVM是一種用于計(jì)算設(shè)備的規(guī)范,它是一個(gè)虛構(gòu)出來的計(jì)算機(jī),是通過在實(shí)際的計(jì)算機(jī)上仿真模擬各種計(jì)算機(jī)功能來實(shí)現(xiàn)的
    2021-06-06
  • 在Spring中如何注入動(dòng)態(tài)代理Bean

    在Spring中如何注入動(dòng)態(tài)代理Bean

    這篇文章主要介紹了在Spring中如何注入動(dòng)態(tài)代理Bean問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • SpringBoot整合gateway全過程

    SpringBoot整合gateway全過程

    這篇文章主要介紹了SpringBoot整合gateway全過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Spring boot調(diào)用Oracle存儲(chǔ)過程的兩種方式及完整代碼

    Spring boot調(diào)用Oracle存儲(chǔ)過程的兩種方式及完整代碼

    這篇文章主要給大家介紹了關(guān)于Spring boot調(diào)用Oracle存儲(chǔ)過程的兩種方式及完整代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評(píng)論

濮阳县| 沙雅县| 林芝县| 红桥区| 上饶市| 洞口县| 德保县| 伊宁市| 武宣县| 玉门市| 齐齐哈尔市| 崇明县| 漳州市| 惠东县| 巨野县| 康定县| 莱阳市| 台东县| 苏尼特左旗| 临安市| 象山县| 徐汇区| 东明县| 黄骅市| 九江市| 张家港市| 黔南| 巨野县| 师宗县| 呼图壁县| 贡觉县| 万载县| 广安市| 奎屯市| 华阴市| 离岛区| 洛南县| 广南县| 潼关县| 绥阳县| 兴山县|