java微信小程序支付


剛做小程序支付,網上找了博客來看,看了很多方式實現,但多數都是上傳文件估計有殘缺或獲取其他總是測試出問題,無奈自己研究整理一下我的小程序支付測式,話不多說,開干

首先給大家推薦一個weixin-java-tool這個開源工具包,里面封裝了很多東西,用起來很方便,有空的小伙伴可以多研究研究這個

這是碼雲地址:https://gitee.com/itwu/weixin-java-tools

 

 

點擊demo項目到

 

 

 找到自己需要的demo,我這里找的是微信支付,所以繼續微信支付 點擊微信支付的github

 

 

 之后下載源碼,導入開發工具eclipse中

把demo項目啟動,項目啟動后發現項目中有swagger繼承的api可以通過路徑:   localhost:8080/swagger-ui.html 查看接口文檔,這里可以找到自己的所要找的接口,我這里找到的是微信支付,其他的有時間的可以去多研究研究

 

 

 這些就需要自己多花時間研究了,下面就來上重點了,繼承到自己項目中

 

1.在pom文件中加入maven依賴 <!--微信開源封裝sdk-->

版本跟自己下載的demo項目中的一致就行(我這里是<weixin-java-pay.version>3.9.0</weixin-java-pay.version>)

 

<dependency>
  <groupId>com.github.binarywang</groupId>
  <artifactId>weixin-java-pay</artifactId>
  <version>${weixin-java-pay.version}</version>
</dependency>

 

2.把相關文件賦值到自己項目中

 

 3.application.yml文件中添加配置

 

 配置到此結束,下面上代碼了

4.新建控制層測試接口

 

 

接口測試代碼(只用寫這么多,其他的都是已經封裝好的直接調用就行)

@GetMapping("/createOrder")
public <T> T createOrder(HttpServletRequest req) throws WxPayException {
JSONObject obj = new JSONObject(ServletUtil.getParamMap(req));
JSONObject item = itemVkMapper.getItemInfo(obj);
WxPayUnifiedOrderRequest WxPay = new WxPayUnifiedOrderRequest();
WxPay.setBody(
"項目編號:" + item.getStr("itemid") + " 項目金額:" + item.getStr("money") + " 項目類型:" + item.getStr("zab_do"));
WxPay.setOutTradeNo(IdUtil.simpleUUID());
WxPay.setTotalFee(1);
WxPay.setSpbillCreateIp("127.0.0.1");
WxPay.setNotifyUrl(Variables.NOTIFY_URL);
WxPay.setTradeType(Variables.TRADETYPE);
WxPay.setOpenid(obj.getStr("openid"));
//    WxPayUnifiedOrderResult res = this.wxService.unifiedOrder(WxPay);
return this.wxService.createOrder(WxPay);
}

 后端測試代碼到這里就結束了,來微信小程序前端對接接口

 toPay: function (event) {
    var that = this
    wx.request({
      // url: wx.getStorageSync('domainName') + '/api/itempay.ashx', //僅為示例,並非真實的接口地址
      url: wx.getStorageSync('basePath') + '/pay/createOrder',
      method:'get',
      data: {
        itemid: event.target.dataset.itemid,
        userid: wx.getStorageSync('userId'),
        type: 'mp',
        openid: wx.getStorageSync('openid')
      },
      header: {
        'content-type': 'application/json' // 默認值
      },
      success: function (res) {
        // debugger;
        var param = res.data;
        wx.requestPayment(
          {
          'timeStamp': param.timeStamp,
          'nonceStr': param.nonceStr,
          'package': param.packageValue,
          'signType': 'MD5',
          'paySign': param.paySign,
          'success':function(result){
            console.log(result);
          },
          'fail':function(result){
            console.log(result);
          },
          'complete':function(result){
            console.log(result);
          }
        })
      }
    })
  },

操作到此結束,現在開始測試

 

 項目啟動准備測試  在微信開發工具中顯示

 

 轉為真機調試測試結果為

 

 ok了,其他的就自己測試測試了,言盡於此希望了能幫助到小伙伴們

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM