在官方文档中给写到5+App端,支付宝支付和微信支付 orderInfo 均为 String 类型。
但是文档中并未标注出微信支付的orderInfo 具体包含什么信息
在查阅了各种文档后发现有的人写到需要包含以下信息{"appid":"wx0411fa6a39d61297","noncestr":"JtTZtgl321R0Srex","package":"Sign=WXPay","partnerid":"1230636401","prepayid":"wx0719000786330952e4da2f6e1916764944","timestamp":1551956407,"sign":"D5FEA891553A6565C4337245A7150E9C"}
按照文档拼接了以上数据并且在逻辑层中转化为字符串类型
但是真机打包后报错
后查阅官方文档git 中后端php样例发现多返回了
$outparams['retcode']=0;
$outparams['retmsg']='ok';
加入两个参数后依然进入失败区间返回payment微信:-1general errors
后尝试将orderInfo 以object形式使用 依然无果
希望官方可以统一一下文档
appid:"wxaaf53cd7e0662592"
noncestr:"TEBT6eOKlm2PgtPFLLIgtokJEZAqoJPI"
package:"Sign=WXPay"
partnerid:"1527441441"
prepayid:"wx08020247670324ac3638dac42622951771"
retcode:0
retmsg:"ok"
sign:"92114E4F8B90108A02AB65C656ABB965"
timestamp:1551981767
以上为我的传值,包名和签名已经核对很多遍了也是在真机打包的希望大佬帮忙看一下
10 个回复
Iain - 专业打杂30年
看这篇文章试试看。。如果后端没问题的话
http://ask.dcloud.net.cn/article/35697
1***@qq.com - 普通的开发者
有成功的吗 代码给我看看 谢谢很急
1***@qq.com
成功了吗,可以看一下你写的代码吗?
1***@qq.com
fail:{"errMsg":"requestPayment:fail:[payment微信:-1]General errors"}
s***@qq.com
4***@qq.com
你还有返回这个-1,我连-1都没有
2021-01-16 18:43
4***@qq.com
回复 4***@qq.com: 就返回了fail errors
2021-01-16 18:43
s***@163.com
appid:"wxaaf53cd7e0662592"
noncestr:"TEBT6eOKlm2PgtPFLLIgtokJEZAqoJPI"
package:"Sign=WXPay"
partnerid:"1527441441"
prepayid:"wx08020247670324ac3638dac42622951771"
sign:"92114E4F8B90108A02AB65C656ABB965"
timestamp:1551981767
核对了下公司的产品,微信支付需要的数据只有这7个,还是多检查下是不是参数或者签名的方法不对,之前开发时也是死活支付不了,最后排查是签名方法错误
2***@qq.com
这个问题是最恶心的,这其实就是个sign的值不对,我们找了两天才找到这个问题
sign:这个值是30位,也就是说这个值只需要前30位就可以了
sign:"92114E4F8B90108A02AB65C656ABB965",这里的值是32位,只要截取前30位就可以了
1***@qq.com
你不使用微信返回的sign试一下,自己去计算签名。
我自己计算签名是能够成功调起的
f***@126.com
我的是成功的。就是按照官方的参数提交的
5***@qq.com
微信小程序按照官方文档的格式发 不要放在orderInfo中发