永发信息网

微信支付接口,提示:调用支付jsapi缺少参数: $key0$

答案:7  悬赏:0  手机版
解决时间 2021-04-02 11:27
微信支付接口,提示:调用支付jsapi缺少参数: $key0$
最佳答案
在弄微信JSAPI支付接口时,发现一个问题,就是在苹果的手机上,发现微信会提示一个错误,而在安卓上没有提示这个错误。
错误提示:
微信支付调用JSAPI缺少参数:timeStamp
一开始,我因为是命名的大小写问题
我就去看了一下调用微信支付的地方,我发现明明就有这个参数,怎么就提示缺少了呢。在经过了一方面的了解之后,我发现这个时间戳是用time()生成的,而在生成的json格式中,发现时间戳是没有引号("")包含的。
新版的JSAPI接口地方,对于不同版本的接口,可能这个有所不同,请自己查看,反正就是“生成jsapi支付请求json”的地方。
新版的路径如下:
修改WxPay.JsApiPay.php文件中GetJsApiParameters方法,其中的timeStamp应该是字符串类型。
解决方法:
将时间戳转换成字符串
$timeStamp = strval(time());
全部回答
我的是因为总金额的问题,微信的总金额是以分为单位的,而且不能有小数点,以字符串为主,如果金额是元为单位那么就得乘以100,转换成分为单位。修改后,我的问题就解决了!
出现这种问题的情况很多,timeStamp的格式问题也算其中一种,也有可能是body部分的长度超出。其实解决的唯一办法,就是按照微信支付文档逐一核对参数(包括格式、长度、值的要求),没有别的办法。网上贴出来的多是个例(就算timeStamp问题也只是个例中出现频率较高而已)。
在微信商户平台管理里面将API秘钥设置为程序里面调用微信支付接口32位数字的key就解决了。
我用的jsapi1.0,告诉我有这个问题,于是百思不得其解,网上说要用字符串也不行。用的1.1的js api的库也不行,最后发现是我忘了写,package: ''prepay_id=**" 中的‘‘‘‘‘‘prepay_id=’’’’’’这个了,真是,浪费我一晚上啊,大家如果遇到了,可以看下是不是这个造成的。。。
调用jsApiCall()里的<%=wxJsApiParam%> 这个东西请不要再加单引号或双引符号,加上就会报“调用支付jsapi缺少参数: $key0$”错误
解决方法就是修改下 lib/Wxpay.Data.php约2731行处SetTimeStamp方法,修改为 $this->values['timeStamp'] = (string)$value;
希望采纳谢谢!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在你成功的时候是朋友认识了你,在你失败的时
在淘宝上i.t代购了一双新百伦.鞋子不再身边.
聋哑人打手语一共多少画
锦州申港地产
民事诉讼诉讼费多少钱
请问:指数高斯分布(ex-gaussian),如何在SP
快乐大本营2016年5月7日嘉宾
马六03年发动机1.6排量的有吗?
cpu 酷频技术是不是垃圾?
本能2完整版下载地址
南化寺的仁焕法师怎样啊,有真实了解么?谢谢
サヨナラCOLOR 这首歌的罗马音
学生要上到初几还是高几才能随心所欲地用英语
微商怎么才能做到巅峰
谁知道富豪刑警电视里那个像刺猬的糖叫什么名
推荐资讯
女人看到男人的身体有没有反应?
那个银行的信用卡账单日和还款日相差25天
解方程: 1。13.2x+9x=33.33 2。9x-4.3=20 3
想离婚怎么办,可是又不舍得我的一对儿女。爸
你们都是怎么赚钱的,特么我要穷死了
浅析魔兽团队怎样才能强大
减肥!!!
如何对软件项目进行可行性分析
酣什么睡去词语
犹和优用音序查字法,应先查什么,再分别查什么
只用黄砂做底砂怎样种水草
关于秋至的句子
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?