我的编程空间,编程开发者的网络收藏夹
学习永远不晚

微信小程序支付开发遇到的错误怎么解决

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

微信小程序支付开发遇到的错误怎么解决

今天小编给大家分享一下微信小程序支付开发遇到的错误怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

  第一个坑,获取用户的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');

  }

  });

  }

  })

  }

以上就是“微信小程序支付开发遇到的错误怎么解决”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

微信小程序支付开发遇到的错误怎么解决

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

微信小程序支付开发遇到的错误怎么解决

今天小编给大家分享一下微信小程序支付开发遇到的错误怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。  第一个坑,获取用
2023-06-26

小程序怎么开发调用微信支付及微信回调地址

本篇内容主要讲解“小程序怎么开发调用微信支付及微信回调地址”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序怎么开发调用微信支付及微信回调地址”吧!首先观看微信提供的文档https://pay
2023-06-30

支付宝小程序与微信小程序开发的区别有哪些

这篇文章主要介绍支付宝小程序与微信小程序开发的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!浅谈支付宝小程序与微信小程序开发的区别一、app.json(1)设置小程序通用的的状态栏、导航条、标题、窗口背景色
2023-06-14

小程序开通微信支付的流程是什么

这篇文章主要介绍“小程序开通微信支付的流程是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“小程序开通微信支付的流程是什么”文章能帮助大家解决问题。  小程序开通微信支付的流程  最先便是务必要掌
2023-06-26

小程序发起微信支付功能怎么实现

这篇文章主要讲解了“小程序发起微信支付功能怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“小程序发起微信支付功能怎么实现”吧!wx.requestPayment(OBJECT)发起微信
2023-06-26

微信小程序开发时遇到的坑有哪些

这篇文章主要讲解了“微信小程序开发时遇到的坑有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序开发时遇到的坑有哪些”吧!最近参与开发了公司的第一款小程序,开发体验基本类似于基于w
2023-06-13

如何使用PHP开发微信小程序的支付功能?

如何使用PHP开发微信小程序的支付功能?随着微信小程序的普及,越来越多的开发者开始关注微信小程序的支付功能。在微信小程序中,用户可以通过支付功能实现购买商品、充值账户等操作。本文将介绍如何使用PHP开发微信小程序的支付功能,并提供具体的代码
2023-10-26

uni-app开发微信小程序遇到的部分踩坑实战

最近在用uni-app开发微信小程序,这里将开发中遇到的坑和问题记录一下,所以下面这篇文章主要给大家介绍了关于uni-app开发微信小程序遇到的部分踩坑,需要的朋友可以参考下
2023-02-08

如何解决小程序开发中遇到的问题

这篇文章主要介绍了如何解决小程序开发中遇到的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。小程序面试题1. bindtap和catchtap的区别是什么?bind事件绑定
2023-06-14

python怎么实现微信小程序的多种支付方式

本篇内容主要讲解“python怎么实现微信小程序的多种支付方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么实现微信小程序的多种支付方式”吧!多支付原理1.利用鸭子类型。规定前台
2023-06-30

mpvue开发小程序遇到的问题有哪些及怎么解决

本篇内容介绍了“mpvue开发小程序遇到的问题有哪些及怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!项目结构 |---build
2023-06-26

微信小程序开发中回到顶部怎么做

这篇文章主要为大家展示了微信小程序开发中回到顶部怎么做,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“微信小程序开发中回到顶部怎么做”这篇文章吧。1、如何实现点击返回顶层?最近在研究微信小程序,被这
2023-06-26

微信小程序triggerevent没触发怎么解决

当微信小程序中的triggerevent没有触发时,可能是以下几个原因导致的:事件绑定错误:首先要检查代码中的事件绑定是否正确,确保事件绑定的名称和触发事件的名称是一致的。事件触发条件不满足:检查事件触发的条件是否满足,例如,某个按钮的点击
微信小程序triggerevent没触发怎么解决
2024-02-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录