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

Java如何實(shí)現(xiàn)微信支付v3的支付回調(diào)

 更新時(shí)間:2023年07月19日 11:29:40   作者:DrewLiang  
這篇文章主要給大家介紹了關(guān)于Java如何實(shí)現(xiàn)微信支付v3的支付回調(diào),微信實(shí)現(xiàn)支付功能與支付寶實(shí)現(xiàn)支付功能是相似的,文中給了詳細(xì)的示例代碼,需要的朋友可以參考下

使用微信支付的v3 API進(jìn)行支付的相關(guān)功能的開發(fā)

以前都是自己手搓api的, 現(xiàn)在有輪子了, 嘗試記錄一下如何使用

我的做法是首先打開v3的代碼倉庫, 直接進(jìn)去看看他們的文檔, 可以看到這么一坨東西

前置條件

1. 開發(fā)前準(zhǔn)備

2. 先引入maven

<dependency>
	  <groupId>com.github.wechatpay-apiv3</groupId>
	  <artifactId>wechatpay-java</artifactId>
	  <version>0.2.6</version>
	</dependency>

3. 初始化商戶配置

Config config = new RSAAutoCertificateConfig.Builder()
                .merchantId(wechatConstant.spMchId)
                .privateKeyFromPath(wechatConstant.privateKeyPath)
                .merchantSerialNumber(wechatConstant.merchantSerialNumber)
                .apiV3Key(wechatConstant.apiV3key)
                .build();

實(shí)現(xiàn)代碼

先從請求頭中獲取構(gòu)建RequestParam需要的參數(shù)

// 從請求頭中獲取信息
	String timestamp                        = request.getHeader("Wechatpay-Timestamp");
	String nonce                            = request.getHeader("Wechatpay-Nonce");
	String signature                        = request.getHeader("Wechatpay-Signature");
	String singType                         = request.getHeader("Wechatpay-Signature-Type");
	String wechatPayCertificateSerialNumber = request.getHeader("Wechatpay-Serial");

初始化解析器

// 初始化解析器 NotificationParser
    NotificationParser parser = new NotificationParser((NotificationConfig) config);

進(jìn)行驗(yàn)簽, 解密并轉(zhuǎn)換成Transaction, 驗(yàn)簽解密都是用API干了, 不用自己手動整了

import com.wechat.pay.java.service.partnerpayments.jsapi.model
	// 這個(gè)Transaction是微信包里面的
	Transaction decryptObject = parser.parse(requestParam, Transaction.class);

成功后需要對微信進(jìn)行應(yīng)答

  • 接收成功:HTTP應(yīng)答狀態(tài)碼需返回200或204,無需返回應(yīng)答報(bào)文。
  • 接收失?。篐TTP應(yīng)答狀態(tài)碼需返回5XX或4XX,同時(shí)需返回應(yīng)答報(bào)文
{   
    "code": "FAIL",
    "message": "失敗"
}

完成

總結(jié)

到此這篇關(guān)于Java如何實(shí)現(xiàn)微信支付v3的支付回調(diào)的文章就介紹到這了,更多相關(guān)Java微信支付v3支付回調(diào)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JAVA應(yīng)用系統(tǒng)工具快捷托盤實(shí)例代碼

    JAVA應(yīng)用系統(tǒng)工具快捷托盤實(shí)例代碼

    JAVA應(yīng)用系統(tǒng)工具快捷托盤實(shí)例代碼,需要的朋友可以參考一下
    2013-02-02
  • Spring各版本新特性的介紹

    Spring各版本新特性的介紹

    今天小編就為大家分享一篇關(guān)于Spring各版本新特性的介紹,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • mybatis攔截器及不生效的解決方法

    mybatis攔截器及不生效的解決方法

    本文主要介紹了mybatis攔截器及不生效的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 詳解Java中NullPointerException的處理方法

    詳解Java中NullPointerException的處理方法

    這篇文章將帶大家來單獨(dú)看一個(gè)很常見的異常--空指針異常,這個(gè)可以說是每個(gè)Java程序員都必知的異常,所以我們不得不單獨(dú)學(xué)習(xí)一下,文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-08-08
  • RabbitMQ,RocketMQ,Kafka?事務(wù)性,消息丟失,消息順序性和消息重復(fù)發(fā)送的處理策略問題

    RabbitMQ,RocketMQ,Kafka?事務(wù)性,消息丟失,消息順序性和消息重復(fù)發(fā)送的處理策略問題

    這篇文章主要介紹了RabbitMQ,RocketMQ,Kafka?事務(wù)性,消息丟失,消息順序性和消息重復(fù)發(fā)送的處理策略,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Windows下apache ant安裝、環(huán)境變量配置教程

    Windows下apache ant安裝、環(huán)境變量配置教程

    這篇文章主要介紹了Windows下apache ant安裝、環(huán)境變量配置教程,ANT的安裝很簡單,本文同時(shí)講解了驗(yàn)證安裝是否成功的方法和使用方法實(shí)例,需要的朋友可以參考下
    2015-06-06
  • SpringBoot實(shí)現(xiàn)緩存與數(shù)據(jù)庫雙寫策略的詳細(xì)代碼

    SpringBoot實(shí)現(xiàn)緩存與數(shù)據(jù)庫雙寫策略的詳細(xì)代碼

    在SpringBoot企業(yè)開發(fā)中,為了提升系統(tǒng)性能,我們都會給高頻查詢接口加上緩存,把熱點(diǎn)數(shù)據(jù)緩存起來,減少數(shù)據(jù)庫查詢壓力,因此本文給大家介紹了SpringBoot實(shí)現(xiàn)緩存與數(shù)據(jù)庫雙寫策略的詳細(xì)方法,需要的朋友可以參考下
    2026-04-04
  • 基于SpringAI+DeepSeek實(shí)現(xiàn)流式對話功能

    基于SpringAI+DeepSeek實(shí)現(xiàn)流式對話功能

    一般來說大模型的響應(yīng)速度通常是很慢的,為了避免用戶用戶能夠耐心等待輸出的結(jié)果,我們通常會使用流式輸出一點(diǎn)點(diǎn)將結(jié)果輸出給用戶,那么問題來了,想要實(shí)現(xiàn)流式結(jié)果輸出,后端和前端要如何配合?下來本文給出具體的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2025-02-02
  • MyEclipse安裝JS代碼提示的教程(Spket插件)

    MyEclipse安裝JS代碼提示的教程(Spket插件)

    本篇文章主要介紹了MyEclipse安裝JS代碼提示的教程(Spket插件),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • Java中@PathVariable 和 @RequestParam的區(qū)別小結(jié)

    Java中@PathVariable 和 @RequestParam的區(qū)別小結(jié)

    本文主要介紹了Java中@PathVariable 和 @RequestParam的區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-02-02

最新評論

高碑店市| 九龙城区| 房产| 沿河| 玉树县| 达拉特旗| 香河县| 香格里拉县| 南溪县| 镇巴县| 司法| 龙州县| 澄城县| 宁强县| 洱源县| 长汀县| 闵行区| 澜沧| 昌宁县| 景谷| 离岛区| 盈江县| 东源县| 化德县| 竹北市| 金堂县| 大宁县| 泰和县| 铁岭县| 白玉县| 松滋市| 漳平市| 朝阳市| 雷州市| 屯门区| 乌拉特前旗| 喜德县| 常州市| 扎鲁特旗| 太保市| 万荣县|