微信小程序支付申请,微信小程序支付开发详解

 

  https://pay.weixin.qq.com/wiki/d ... chapter=7_4&index=2 业务流程在这里大家看文档的时候可以看到。第一个坑,获取用户的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');

  }

  });

  }

  })

  }

 


【本站声明】
  1、本站文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系。
  2、本网站不对文章中所涉及的内容真实性、准确性、可靠性负责,仅系客观性描述,如您需要了解该类商品/服务详细的资讯,请您直接与该类商品/服务的提供者联系。


KESION 科汛软件

KESION 科汛软件是国内领先的在线教育软件及私域社交电商软件服务提供商,长期专注于为企业提供在线教育软件及社交电商SaaS平台解决方案。
公司核心产品云开店SaaS社交电商服务平台、在线教育SaaS服务平台、教育企业数字化SaaS云平台、企微营销助手、私有化独立部署品牌网校和在线教育咨询等。

KESION 不断通过技术创新,提供产品和服务,助力企业向数字化转型,通过科技驱动商业革新,让商业变得更智慧!



▼点击进入科汛官网了解更多



热门标签
微信小程序
上/下篇
换一换相关推荐
精选内容
热点精选