微信支付失败提示缺少参数:appld怎么解决?

微信接口出现“调用支付jsapi缺少参数appid”

  1. 微信jsapi调用微信支付时报 :调用支付JSAPI缺少参数:sign 这个问题我查了很久,最后把前端的代码也拿过来看来,发现前端 sign的参数名传错了~~~~~~~前后端分离很容易出现这种问题,对 ...

  2. 这段时间一直比较忙,一忙起来真感觉自己就只是一台挣钱的机器了(说的好像能挣到多少钱似的,呵呵):这会儿难得有点儿空闲时间,想把前段时间开发微信公众号支付遇到问题及解决方法跟大家分享下,这些“暗坑”能不 ...

  3. 检查后台返回参数中没有paySign字段

  4. 最近公司要做一个H5小游戏里边涉及到微信公众号支付,中间摸爬滚打遇到了很多坑.记录一下,留待后人看. 我们来看一下这个方法 GetJsApiParameters 怎么样,看起来像不像输出了一个JSON ...

  5. 一般是安卓没问题,苹果会出现这样的问题,弹出下面这样的提示,如果你也是这样,那就恭喜你,现在,你找到解决的方法了 请看红色框框的timeStamp(图片有点小,可以鼠标右键打开图片 查看) 请注意,这 ...

  6. 简介:微信小程序支付这里的坑还是有的,所以提醒各位在编写的一定要注意!!! 1.首先呢,你需要准备openid,appid,还有申请微信支付后要设置一个32位的密钥,需要先生成一个sign,得到pre ...

  7. 简介:微信小程序支付这里的坑还是有的,所以提醒各位在编写的一定要注意!!! 1.首先呢,你需要准备openid,appid,还有申请微信支付后要设置一个32位的密钥,需要先生成一个sign,得到pre ...

  1. 属性是对象的特征,每个对象都有自己独立的属性值.一个对象的属性发生变化,不会影响另外一个对象的属性.属性是封装在对象之中的变量,是对象的成员.属性也叫成员变量. null表示一个变量没有指向任何对象. ...

  2. 本文转载自: gulp详细入门教程

  3. ISO 8601 國際標準化組織的国际标准ISO 8601是日期和时间的表示方法,全称为<数据存储和交换形式·信息交换·日期和时间的表示方法>.目前是第三版ISO以替代第 ...

  4. <p>在编程中,一直强调的一点就是注释的编写,注释的规范等等.尤其是越是核心,程序越复杂,逻辑越多的清空下,注释的编写对我们以后的阅读代码,维护软件起着至关重要的作用.一款软件有着好的注释 ...

  5. 游戏中Row所指代的是: HTML中row指的是行 SQL指的是列 其实,在翻译中来说,Row既是行也是列:准确一点讲,是横着的 现多指代的是行:

简介:对接微信H5支付报错:“调用支付JSAPI缺少参数: total_fee”、“当前页面的URL未注册”、“商户号该产品权限预开通中,请等待产品开通后重试”,微信支付的文档简直有毒。

这两天需要给公司的项目接一个微信H5支付,由于是一个老项目,所以他们之前已经写了一套小程序的支付在运行了,查阅了微信支付的api文档之后,发现接口也适用于H5支付,所以就修修补补继续拿来用了,过程十分的不顺畅,碰到了一些理所当然又感觉非常奇葩的问题。

如上图,第一眼看到这个错误,肯定都以为是自己在调用下单接口的时候少传了金额参数,但实际上却不是,在我再三查阅文档之后,确定以及肯定不是这个问题,在微信开发者社区逛了一圈之后,发现很多人出现这个问题,但真实的原因都不是因为金额未传,而是因为其他的一堆乱七八糟的错误,诸如:“request body乱码”、“设备机型问题”等,简直五花八门。

由于这个东西本地不太方便调试,所以最好发到服务器上测试,遂开启了疯狂log模式,在打印的log日志中发现微信给我的提示“appid和openid不匹配”,瞬间反应过来,之前是小程序,现在是公众号,二者的appid是不一样的,修改过来之后,发现依旧报这个错误,继续查找log,发现它又换了一个错误“appid和mch_id不匹配”,这个是要求我们在公众号中开启微信支付功能。

至此,我的问题得到了解决,如果大家有碰到类似的问题,别犹豫,多打点儿log就能找到真实的错误原因。

二、当前页面的URL未注册: /h5/

如上图,在total_fee的问题解决了之后,紧接着就又碰到了url未注册的问题,这个提示信息倒是挺精准的,这个是需要在微信的商家账户平台(老版本直接在公众号的支付菜单)中为JSAPI支付配置一个支付授权目录,我这里的目录是/h5/,注意最后面这个斜杠不能省略,因为表示的是一个目录而非请求,所以必须带上。

配置好了之后,发现还是不行,查资料的过程中,发现有人跟我配置的一模一样就没问题,但是我这里就是不行,后来看到有人说是#号的问题,因为前端页面是vue写的,路由使用的是hash,所以是带上了一个#号,但是人家用了#号也没啥问题,不过我还是将前端项目中的vue路由模式改为history,配合nginx进行访问之后,此问题得到解决。

如果大家不知道如何配置,那么可移步另一篇文章:

这里还需要注意一点,我在查资料的过程中,发现很多人提到目录的层级问题,我们配置的目录是到/h5/这一层,如果路径太深的话,超过1层了貌似也会报这个错,不过我并么有去验证,大家如果碰到了这个问题,可以去试一下。

三、商户号该产品权限预开通中,请等待产品开通后重试

如上图,本以为支付配置好了之后就可以了,结果又提示权限预开通的问题,这个问题跟total_fee有的一拼,因为根本不是支付权限没配置好,是因为trade_type参数传的不对,按照微信支付的官方文档来传,H5支付需要传MWEB,但是实际在使用的过程中,其实需要传JSAPI,简直有毒。

手机站微信支付失败原因分析:

1、网站是否绑定阿里云备案的独立域名(手机站和PC站域名一样的时候,手机站不用单独绑定,只需要在手机站后台——设置——域名绑定页面勾选就可以)

2、是否正确对接认证服务号;

3、微信公众平台——基本设置——是否开启开发者;

4、是否正确填写IP白名单;

5、公众平台——公众号设置——功能设置中的业务域名、JS接口域名、网页授权账户是否与网站绑定的独立域名一致;

6、微信商户平台——支付授权目录是否正确(格式:http://网站域名/pay/pay17/)

7、配置的商户号与对接的认证服务号——微信支付中的商户号是否一致;

8、API密钥是否为32位,与网站后台所配置是否一致;

备注:检查商户平台商户类型是否为特约商户,如果为特约商户要按照特约商户的配置方式进行操作;

具体问题截图及解决方案:

提交订单后提示支付失败——如图:

提示页面URL未注册—如图:

以上问题解决参照第6条:

微信端打开网站提交订单时提示缺少参数—如图:

PC端、APP端访问网站提交订单时提示—如图:

以上两种问题解决参照第8条。

微信支付显示商户号与APPID不匹配

在使用微信支付时提示“商户号mch_id与appid不匹配”

申请微信支付的认证服务号与微网站对接的认证服务号不一致;

微信支付的商户号不是微信公众平台——认证服务号——左侧”微信支付“中申请的;

配置网站后台微信支付时,填写的商户号不正确;

我要回帖

更多关于 支付配置错误怎么办 的文章

 

随机推荐