国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java對接微信支付:JSAPI支付成功之“微信回調(diào)”

這篇具有很好參考價值的文章主要介紹了java對接微信支付:JSAPI支付成功之“微信回調(diào)”。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

承接上一篇微信支付,現(xiàn)在簡單說一下 微信支付回調(diào)

目錄

一、支付回調(diào)

二、微信回調(diào)地址問題

1.本地/上線測試

2.控制器調(diào)用接口(代碼)

總結


一、支付回調(diào)

當用戶支付成功之后,支付平臺會向我們指定的服務器接口發(fā)送請求傳遞訂單支付狀態(tài)數(shù)據(jù)

二、微信回調(diào)地址問題

1.本地/上線測試

如果你是再本地進行測試,那就需要使用內(nèi)網(wǎng)穿透工具(NATAPP-內(nèi)網(wǎng)穿透 基于ngrok的國內(nèi)高速內(nèi)網(wǎng)映射工具),得到的地址要外網(wǎng)能訪問到,具體使用直接點擊到官網(wǎng)有文檔介紹,就不在這里多說了。

上線測試就自己改到相應的環(huán)境地址。

微信回調(diào)地址 示例:

v3PayNotifyUrl:  https://***.mynatapp.cc/jsapiPay/payNotify   # 微信回調(diào)地址

2.控制器調(diào)用接口(代碼)

代碼如下:

@PostMapping("/payNotify")
public void payNotify(HttpServletRequest request, HttpServletResponse response) throws Exception{
    //獲取報文
    String body = getRequestBody(request);
    //隨機串
    String nonceStr = request.getHeader("Wechatpay-Nonce");

    //微信傳遞過來的簽名
    String signature = request.getHeader("Wechatpay-Signature");

    //證書序列號(微信平臺)
    String serialNo = request.getHeader("Wechatpay-Serial");

    //時間戳
    String timestamp = request.getHeader("Wechatpay-Timestamp");

    InputStream is = null;
    try {
        is = request.getInputStream();
        // 構造 RequestParam
        RequestParam requestParam = new RequestParam.Builder()
                .serialNumber(serialNo)
                .nonce(nonceStr)
                .signature(signature)
                .timestamp(timestamp)
                .body(body)
                .build();
        // 如果已經(jīng)初始化了 RSAAutoCertificateConfig,可以直接使用  config
        // 初始化 NotificationParser
        NotificationParser parser = new NotificationParser(config);
        // 驗簽、解密并轉(zhuǎn)換成 Transaction
        Transaction transaction = parser.parse(requestParam, Transaction.class);
        //記錄日志信息
        Transaction.TradeStateEnum state = transaction.getTradeState();
        String openid = transaction.getPayer().getOpenid();
        if (!StringUtils.equals("SUCCESS", state.toString())) {
            log.error("微信回調(diào)失敗,JsapiPayController.payNotify.transaction:{}",transaction.toString());
            //通知微信回調(diào)失敗
            response.getWriter().write("<xml><return_code><![CDATA[FAIL]]></return_code></xml>");
        }
        //TODO------
       //根據(jù)自己的需求處理相應的業(yè)務邏輯,異步

       
        //通知微信回調(diào)成功
        response.getWriter().write("<xml><return_code><![CDATA[SUCCESS]]></return_code></xml>");
    } catch (Exception e) {
        e.printStackTrace();
    }finally {
        is.close();
    }
}




/**
     * 讀取請求數(shù)據(jù)流
     * @param request
     * @return
     */
    private String getRequestBody(HttpServletRequest request) {
        StringBuffer sb = new StringBuffer();
        try (ServletInputStream inputStream = request.getInputStream();
             BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
        ) {
            String line;

            while ((line = reader.readLine()) != null) {
                sb.append(line);
            }
        } catch (IOException e) {
            log.error("讀取數(shù)據(jù)流異常:{}", e);
        }
        return sb.toString();
    }

總結

回調(diào)的基本上官方文檔都有說,其他的就不多說了,基本上就是處理自己的業(yè)務邏輯問題。文章來源地址http://www.zghlxwxcb.cn/news/detail-663922.html

到了這里,關于java對接微信支付:JSAPI支付成功之“微信回調(diào)”的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 微信支付APIV3統(tǒng)一回調(diào)接口封裝(H5、JSAPI、App、小程序)

    微信支付APIV3統(tǒng)一回調(diào)接口封裝(H5、JSAPI、App、小程序)

    ?? @ 作者: 一恍過去 ?? @ 主頁: https://blog.csdn.net/zhuocailing3390 ?? @ 社區(qū): Java技術棧交流 ?? @ 主題: 微信支付統(tǒng)一回調(diào)接口封裝(H5、JSAPI、App、小程序) ?? @ 創(chuàng)作時間: 2022年07月12日 對微信支付的H5、JSAPI、H5、App、小程序支付方式進行統(tǒng)一,此封裝接口適用于普通商戶

    2024年02月08日
    瀏覽(51)
  • 微信公眾號使用uniappH5、python對接微信支付V3-JSAPI的支付功能

    微信公眾號使用uniappH5、python對接微信支付V3-JSAPI的支付功能

    微信公眾號網(wǎng)頁用uniapp,后臺用的python,近期對接微信支付-apiv3版-jsapi支付,特此整理記錄方便日后查找使用 apiv3升級后,請求體使用不用xml使用json,每次請求需要在header中添加簽名,而簽名需要用微信支付的商戶證書私鑰進行RSA加密 使用公眾號進行對接流程如下 先保存公

    2024年02月02日
    瀏覽(22)
  • java微信公眾號JSAPI支付以及所遇到的坑

    上周做了個支付寶微信掃碼支付,今天總結一下。微信相比支付寶要麻煩許多 由于涉及到代理商,沒辦法,讓我寫個詳細的申請流程,懵逼啊。 筆記地址?http://note.youdao.com/noteshare?id=269ddffb1f95e69eafb281d054f9ff25sub=82AACBC2E6814133938D407BD3FF4737 先梳理下流程,對應的文檔 微信統(tǒng)一下

    2024年02月08日
    瀏覽(23)
  • 【微信支付】springboot-java接入微信支付-JSAPI支付/查單/退款/發(fā)送紅包(三)---退款

    【微信支付】springboot-java接入微信支付-JSAPI支付/查單/退款/發(fā)送紅包(三)---退款

    微信支付開發(fā)文檔:https://pay.weixin.qq.com/docs/merchant/apis/jsapi-payment/create.html 退款與查單的請求頭類似,但是查單是GET請求,所以在構造簽名的時候相對簡單些,但是退款請求中有請求參數(shù),在構造簽名時,需要將請求體添加到請求頭參數(shù)中。 1、構造請求參數(shù) 查看微信支付開

    2024年01月19日
    瀏覽(33)
  • 【微信支付】springboot-java接入微信支付-JSAPI支付/查單/退款/發(fā)送紅包(二)---查單

    【微信支付】springboot-java接入微信支付-JSAPI支付/查單/退款/發(fā)送紅包(二)---查單

    文章地址:https://blog.csdn.net/ssdadasd15623/article/details/134684556 查詢訂單分為微信訂單號查詢以及商戶訂單號查詢,這里使用商戶訂單號,也就是自己的系統(tǒng)的訂單號 https://pay.weixin.qq.com/docs/merchant/apis/jsapi-payment/query-by-out-trade-no.html 在請求接口時,注意??:請求參數(shù)內(nèi)的Authori

    2024年02月03日
    瀏覽(28)
  • 【微信小程序】Java實現(xiàn)微信支付(小程序支付JSAPI-V3)java-sdk工具包

    【微信小程序】Java實現(xiàn)微信支付(小程序支付JSAPI-V3)java-sdk工具包

    ? ? ? 對于一個沒有寫過支付的小白,打開微信支付官方文檔時徹底懵逼 ,因為 微信支付文檔太過詳細, 導致我無從下手,所以寫此文章,幫助第一次寫支付的小伙伴梳理一下。 一、流程分為三個接口:(這是前言,先看一遍,保持印象,方便理解代碼) 1、第一個接口:

    2024年02月03日
    瀏覽(30)
  • 微信的 h5 支付和 jsapi 支付

    微信的 h5 支付和 jsapi 支付

    申請地址: https://pay.weixin.qq.com/ 如果你還沒有微信商戶號,請點擊上面的鏈接進行申請,如果已經(jīng)有了,可以跳過這一步 首先點擊 賬戶中心 ? API安全 ? 申請API證書 申請詳細步驟: https://kf.qq.com/faq/161222NneAJf161222U7fARv.html 首先點擊 賬戶中心 ? API安全 ? 設置APIv3密鑰 ?

    2024年02月13日
    瀏覽(16)
  • 〔支付接入〕微信的 h5 支付和 jsapi 支付

    〔支付接入〕微信的 h5 支付和 jsapi 支付

    申請地址: https://pay.weixin.qq.com/ 如果你還沒有微信商戶號,請點擊上面的鏈接進行申請,如果已經(jīng)有了,可以跳過這一步 首先點擊 賬戶中心 ? API安全 ? 申請API證書 申請詳細步驟: https://kf.qq.com/faq/161222NneAJf161222U7fARv.html 首先點擊 賬戶中心 ? API安全 ? 設置APIv3密鑰 ?

    2024年02月13日
    瀏覽(53)
  • 【微信公眾號】微信 jsapi 支付大概流程

    【微信公眾號】微信 jsapi 支付大概流程

    jsapi 支付可運用于微信小程序和 h5 jsapi 支付不會彈出二維碼(這點與 native 支付不同) jsapi 支付運用于移動端 native 支付運用于 PC 端 ?? 微信支付需要商家申請 商戶號 ,商務號需要和小程序或公眾號(服務號)進行綁定 ?? 在微信商務平臺可開通 native 支付、jsapi 支付或其

    2024年02月09日
    瀏覽(20)
  • uniapp微信小程序JSAPI支付前端生成簽名,并調(diào)起微信支付

    簽名方式使用的是SHA256withRSA 插件 npm install jsrsasign 使用

    2024年01月17日
    瀏覽(94)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包