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

springboot實現(xiàn)小程序支付的項目實踐

 更新時間:2023年09月15日 11:28:17   作者:微服匯網絡科技  
本文主要介紹了springboot實現(xiàn)小程序支付的項目實踐,?可以通過調用微信支付?API?實現(xiàn)支付功能,具有一定的參考價值,感興趣的可以了解一下

今天給大家分享java小程序支付

首先我們學習任何東西要先看官網

下面是支付業(yè)務流程

我們具體用代碼去實現(xiàn)上面的業(yè)務流程

功能截圖

代碼截圖

 pay(){
    //調用后臺生成訂單
    var orderNumber = "20210101123456";
    var amount = 0.01;
    WxPay.wxpay(app, amount, orderNumber, '支付測試', function(code) {
      // 下單成功,跳轉到訂單管理界面
      if (code == 0) {
      }
    });
  },
function wxpay(app, money, orderNum, goodsName, callback) {
  wx.request({
    header: {
      "token": app.globalData.token
    },
    url: app.globalData.domain + '/api/pay/wechat/unifiedOrder',
    data: {
      storeId: app.globalData.storeId,
      orderNum: orderNum,
      totalAmount: money,
      goodsName: goodsName
    },
    success: function (res) {
      if (res.data.code == 0) {
        // 發(fā)起支付
        wx.requestPayment({
          timeStamp: res.data.data.timeStamp,
          nonceStr: res.data.data.nonceStr,
          package: res.data.data.package,
          signType: 'MD5',
          paySign: res.data.data.paySign,
          fail: function (resp) {
            wx.showToast({
              title: '支付失敗',
              icon: 'none'
            })
            callback(1);
          },
          success: function () {
            wx.showToast({
              title: '支付成功',
              icon: 'none'
            })
            callback(0);
          }
        })
      } else {
        wx.showToast({
          title: res.data.msg,
          icon: 'none'
        })
        callback(1);
      }
    }
  })
}
/**
     * 統(tǒng)一下單(詳見https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1)
     * 在發(fā)起微信支付前,需要調用統(tǒng)一下單接口,獲取"預支付交易會話標識"
     * 接口地址:https://api.mch.weixin.qq.com/pay/unifiedorder
     *
     * @param request 請求對象,注意一些參數(shù)如appid、mchid等不用設置,方法內會自動從配置對象中獲取到(前提是對應配置中已經設置)
     */
    @GetMapping("/unifiedOrder")
    public R unifiedOrder(@RequestAttribute("userId") Long userId, String orderNum, BigDecimal totalAmount, String goodsName, HttpServletRequest req) throws WxPayException {
    	WxPayUnifiedOrderRequest request = new WxPayUnifiedOrderRequest();
    	request.setOutTradeNo(orderNum);
    	MemberEntity member = memberService.queryObject(userId);
    	request.setOpenid(member.getOpenid());
    	request.setBody(goodsName);
    	request.setNotifyUrl(notifyUrl);
    	request.setTotalFee(totalAmount.multiply(new BigDecimal(100)).intValue());
    	request.setSpbillCreateIp(IPUtils.getIpAddr(req));
    	request.setTradeType("JSAPI");
    	WxPayUnifiedOrderResult result = wxPayService.unifiedOrder(request);
    	String timeStamp = String.valueOf(System.currentTimeMillis() / 1000);
        String nonceStr = String.valueOf(System.currentTimeMillis());
    	//signKey 商戶平臺設置的密鑰key
    	//簽名字段:appId,timeStamp,nonceStr,package,signType
    	Map params = new HashMap();
    	params.put("appId", wxPayService.getConfig().getAppId());
    	params.put("timeStamp", timeStamp);
    	params.put("nonceStr", nonceStr);
    	params.put("package", "prepay_id=" + result.getPrepayId());
    	params.put("signType", "MD5");
    	String sign = SignUtils.createSign(params, "MD5",    wxPayService.getConfig().getMchKey(), new String[0]);
    	params.put("paySign", sign);
    	return R.ok().put("data", params);
    }

到此這篇關于springboot實現(xiàn)小程序支付的項目實踐的文章就介紹到這了,更多相關springboot 小程序支付內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java自動化實現(xiàn)在Excel工作表中創(chuàng)建、修改和刪除表格

    Java自動化實現(xiàn)在Excel工作表中創(chuàng)建、修改和刪除表格

    在Java應用中,我們經常需要動態(tài)處理Excel里的表格,本文將使用Spire.XLS for Java輕松搞定表格的創(chuàng)建、修改和刪除操作,需要的可以了解下
    2025-09-09
  • Maven Plugins報錯的正確解決方案

    Maven Plugins報錯的正確解決方案

    文章介紹了如何解決Maven插件報錯的問題,建議在本地Maven倉庫目錄中刪除報錯的插件文件,然后在IDEA中刷新Maven以重新加載,同時,作者還提到了一個無效的方法,即通過修改Maven的setting.xml文件添加鏡像源
    2026-03-03
  • Springboot傳輸數(shù)據時日期格式化問題

    Springboot傳輸數(shù)據時日期格式化問題

    這篇文章主要介紹了Springboot傳輸數(shù)據時日期格式化問題,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • java后端http接口流式輸出到前端的方法示例

    java后端http接口流式輸出到前端的方法示例

    這篇文章主要介紹了java后端http接口流式輸出到前端的相關資料,對比SseEmitter與WebFlux兩種實現(xiàn)方式,通過實例代碼詳細分析了其適用場景及優(yōu)劣,需要的朋友可以參考下
    2025-09-09
  • Netty中的心跳檢測機制詳解

    Netty中的心跳檢測機制詳解

    這篇文章主要介紹了Netty中的心跳檢測機制詳解,Netty 是 基于 TCP 協(xié)議開發(fā)的,在四層協(xié)議 TCP 協(xié)議的實現(xiàn)中也提供了 keepalive 報文用來探測對端是否可用,TCP 層將在定時時間到后發(fā)送相應的 KeepAlive 探針以確定連接可用性,需要的朋友可以參考下
    2023-12-12
  • Springboot 配置屬性綁定實現(xiàn)方式詳解

    Springboot 配置屬性綁定實現(xiàn)方式詳解

    本文詳細介紹了Spring Boot中的配置屬性綁定,包括使用@ConfigurationProperties注解進行配置文件數(shù)據批量綁定,以及如何在JavaBean中定義配置屬性,感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • 使用MQ消息隊列的優(yōu)缺點詳解

    使用MQ消息隊列的優(yōu)缺點詳解

    這篇文章主要介紹了使用MQ消息隊列的優(yōu)缺點詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • 簡單了解Java方法的定義和使用實現(xiàn)詳解

    簡單了解Java方法的定義和使用實現(xiàn)詳解

    這篇文章主要介紹了簡單了解Java方法的定義和使用實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Java數(shù)據結構之基于比較的排序算法基本原理及具體實現(xiàn)

    Java數(shù)據結構之基于比較的排序算法基本原理及具體實現(xiàn)

    最近剛學習完七種比較常見的基于比較的排序算法,感覺比較重要,所以寫個博客記錄一下,通讀本篇對大家的學習或工作具有一定的價值,需要的朋友可以參考下
    2021-09-09
  • MyBatisPlus?TypeHandler自定義字段類型轉換Handler

    MyBatisPlus?TypeHandler自定義字段類型轉換Handler

    這篇文章主要為大家介紹了MyBatisPlus?TypeHandler自定義字段類型轉換Handler示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08

最新評論

文山县| 甘谷县| 嘉黎县| 阿克苏市| 安图县| 诸暨市| 绥宁县| 贺兰县| 林州市| 抚远县| 永昌县| 绥宁县| 广河县| 巫溪县| 邵武市| 河东区| 辉县市| 巩义市| 北宁市| 周口市| 厦门市| 仁怀市| 锡林浩特市| 桓仁| 政和县| 宁安市| 胶州市| 南郑县| 永寿县| 伊宁县| 林口县| 盐边县| 阿拉善左旗| 岳池县| 松滋市| 贵溪市| 麻栗坡县| 葫芦岛市| 大姚县| 华安县| 南靖县|