3***@qq.com
3***@qq.com
  • 发布:2019-03-08 02:08
  • 更新:2022-03-17 15:58
  • 阅读:16314

uniapp调起微信支付 uni.requestPayment()

分类:uni-app

在官方文档中给写到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

以上为我的传值,包名和签名已经核对很多遍了也是在真机打包的希望大佬帮忙看一下

2019-03-08 02:08 负责人:无 分享
已邀请:
Iain

Iain - 专业打杂30年

看这篇文章试试看。。如果后端没问题的话

http://ask.dcloud.net.cn/article/35697

1***@qq.com

1***@qq.com - 普通的开发者

有成功的吗 代码给我看看 谢谢很急

1***@qq.com

1***@qq.com

成功了吗,可以看一下你写的代码吗?

1***@qq.com

1***@qq.com

fail:{"errMsg":"requestPayment:fail:[payment微信:-1]General errors"}

s***@qq.com

s***@qq.com

{  
    "errMsg": "requestPayment:fail:[payment微信:-1]General errors"  
}
s***@163.com

s***@163.com

appid:"wxaaf53cd7e0662592"
noncestr:"TEBT6eOKlm2PgtPFLLIgtokJEZAqoJPI"
package:"Sign=WXPay"
partnerid:"1527441441"
prepayid:"wx08020247670324ac3638dac42622951771"
sign:"92114E4F8B90108A02AB65C656ABB965"
timestamp:1551981767

核对了下公司的产品,微信支付需要的数据只有这7个,还是多检查下是不是参数或者签名的方法不对,之前开发时也是死活支付不了,最后排查是签名方法错误

2***@qq.com

2***@qq.com

这个问题是最恶心的,这其实就是个sign的值不对,我们找了两天才找到这个问题
sign:这个值是30位,也就是说这个值只需要前30位就可以了
sign:"92114E4F8B90108A02AB65C656ABB965",这里的值是32位,只要截取前30位就可以了

1***@qq.com

1***@qq.com

你不使用微信返回的sign试一下,自己去计算签名。
我自己计算签名是能够成功调起的

f***@126.com

f***@126.com

我的是成功的。就是按照官方的参数提交的

5***@qq.com

5***@qq.com

微信小程序按照官方文档的格式发 不要放在orderInfo中发

该问题目前已经被锁定, 无法添加新回复