中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序支付開發遇到的錯誤怎么解決

發布時間:2022-03-11 09:44:29 來源:億速云 閱讀:144 作者:iii 欄目:開發技術

今天小編給大家分享一下微信小程序支付開發遇到的錯誤怎么解決的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

  第一個坑,獲取用戶的openid,參數一定要拼在url連接上,否則會報{"errcode":40013,"errmsg":"invalid appid, hints: [ req_id: iil1ba0504ns86 ]"}錯誤

  onLoad: function () {

  var that = this

  wx.login({

  success: function (res) {

  if (res.code) {

  //發起網絡請求

  wx.request({

  url: 'https://api.weixin.qq.com/sns/jscode2session?appid=wxaacf22345345cfc7162fe3&secret=83ebd41c3e6f34a49b3a34578063434548ff3f71&js_code=' + res.code + '&grant_type=authorization_code',

  method: "POST",

  success: function (res) {

  that.setData({

  openid: res.data.openid

  })

  }

  })

  } else {

  console.log('獲取用戶登錄態失敗!' + res.errMsg)

  }

  }

  });

  }

  復制代碼

  第二個坑,支付統一下單接口,簽名這個坑是比較多人遇到問題的這個是MD5加密經常和簽名工具里面的加密簽名不一樣

  簽名加密工具地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1

  簽名加密的時候要轉成utf-8,加密我用自己的接口進行加密的 digest.update(data.getBytes("utf-8"));

  // 統一下單接口獲取sign(簽名)

  paysignjsapi: function (appid, attach, body, mch_id, nonce_str, notify_url, openid, out_trade_no, spbill_create_ip, total_fee, trade_type, key) {

  var self = this;

  //加密簽名

  wx.request({

  url: 'http://localhost:8080/XinXingWXApi/wxXcxApi/Md5Encrypt.do',

  method: 'GET',

  data: {

  appid: appid,

  attach: attach,

  body: body,

  mch_id: mch_id,

  nonce_str: nonce_str,

  notify_url: notify_url,

  openid: openid,

  out_trade_no: out_trade_no,

  spbill_create_ip: spbill_create_ip,

  total_fee: total_fee,

  trade_type: trade_type,

  key: key

  },

  //統一下單

  success: function (res) {

  var sign = res.data.strMd5

  var formData = ""

  formData += "" + appid + "" //appid

  formData += "" + attach + "" //附加數據

  formData += "" + body + "" //標題

  formData += "" + mch_id + "" //商戶號

  formData += "" + nonce_str + "" //隨機字符串,不長于32位。

  formData += "" + notify_url + "" //異步接收微信支付結果通知的回調地址

  formData += "" + openid + "" //用戶Id

  formData += "" + out_trade_no + "" //商戶訂單號

  formData += "" + spbill_create_ip + ""

  formData += "" + total_fee + "" //金額

  formData += "" + trade_type + "" //公共號支付

  formData += "" + sign + ""//簽名

  formData += ""

  復制代碼

  返回數據解析xml

  //請求統一下單接口

  wx.request({

  url: "https://api.mch.weixin.qq.com/pay/unifiedorder",

  method: 'POST',

  data: formData,

  success: function (data) {

  wx.request({

  url: "http://localhost:8080/XinXingWXApi/wxXcxApi/xmlAnalyze.do?strXml=" + data.data,

  method: 'POST',

  success: function (res) {

  var pk = 'prepay_id=' + res.data.prepayId;

  var timeStamp = self.createTimeStamp();

  //獲取支付簽名,并支付

  self.getsignType(appid, timeStamp, nonce_str, pk, "MD5", key);

  }

  })

  }

  })

  }

  });

  }

  第三就是調用支付了,這里也有幾個小坑,第一就是appId很多寫成appid就不行了,第二個就是preoatid 的參數格式要寫對prepay_id=wx2017011711060194dccf725232155886323 第三個就是調用支付的時候報支付簽名錯誤,也需要到簽名接口查看簽名是否一致,查看參數是否是對的,調用微信支付的時候必須加上appId

  getsignType: function (appid, timeStamp, nonce_str, pk, signType, key) {

  var that = this;

  wx.request({

  url: "http://localhost:8080/XinXingWXApi/wxXcxApi/getSignType.hn",

  method: 'GET',

  data: {

  appId: appid,

  timeStamp: timeStamp,

  nonceStr: nonce_str,

  pk: pk,

  signType: signType,

  key: key

  },

  success: function (res) {

  console.log(res.data.paySign)

  var paySign = res.data.paySign

  //調用微信支付

  wx.requestPayment({

  'appId': appid,

  'timeStamp': timeStamp,

  'nonceStr': nonce_str,

  'package': pk,

  'signType': 'MD5',

  'paySign': paySign,

  'success': function (res) {

  console.log(res);

  console.log('success');

  },

  'fail': function (res) {

  console.log(res);

  console.log('fail');

  },

  'complete': function (res) {

  // console.log(res);

  console.log('complete');

  }

  });

  }

  })

  }

以上就是“微信小程序支付開發遇到的錯誤怎么解決”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临潭县| 洮南市| 交口县| 平昌县| 布拖县| 曲阜市| 甘谷县| 大姚县| 珠海市| 比如县| 鹤岗市| 徐汇区| 德令哈市| 海丰县| 法库县| 裕民县| 招远市| 孟村| 九台市| 洛隆县| 福海县| 大安市| 平武县| 嘉峪关市| 台安县| 太仆寺旗| 凤台县| 太仓市| 嘉定区| 黎川县| 丹东市| 迁西县| 油尖旺区| 西乡县| 达州市| 汕头市| 余姚市| 繁峙县| 同德县| 潢川县| 乌兰浩特市|