7***@qq.com
7***@qq.com
  • 发布:2024-05-14 11:09
  • 更新:2024-05-15 14:10
  • 阅读:164

安卓app微信支付始终报错payment微信:-1

分类:uni-app

正在做把之前apicloud的app转到uniapp。用的是自定义基座(目前是安卓)的方式,包名和证书,都是用的原来和apicloud一样的名字和证书。

支付环节,支付宝支付,顺利调通,微信支付就一直失败(微信分享功能是正常的)。研究了多个类似帖子,一一查找问题,依然无法解决。先上微信支付的相关代码:
var orderInfo = {
"appid": res.data.appid, // 应用ID(AppID)
"noncestr": res.data.noncestr, // 随机字符串
"package": res.data.package, // 固定值
"partnerid": res.data.partnerid, // 商户号(PartnerID)
"prepayid": res.data.prepayid, // 预支付交易会话ID
"timestamp": res.data.timestamp, // 时间戳(单位:秒)
"sign": res.data.sign // 签名,这里用的 MD5 签名

            };  

uni.getProvider({
service: 'payment',
success: function (res:any) {
console.log(res.provider)
if (~res.provider.indexOf('wxpay')) {

                        console.log('orderInfo=')  
                        console.log(JSON.stringify(orderInfo))  
                        uni.requestPayment({  
                            "provider": "wxpay",  //固定值为"wxpay"  
                            // 'timeStamp': JSON.stringify(orderInfo.timestamp),    
                            // 'nonceStr': orderInfo.noncestr,    
                            // 'package': orderInfo.package,    
                            // 'signType':"MD5",    
                            // 'paySign': orderInfo.sign,    
                            "orderInfo": orderInfo,   
                            success: function (res:any) {  
                                uni.showModal({  
                                    title:'支付成功'  
                                })  
                                //var rawdata = JSON.parse(res.rawdata);  
                                console.log(res);  
                            },  
                            fail: function (err:any) {  
                                uni.showModal({  
                                    title:'支付失败:'+JSON.stringify(err)   
                                })  
                                console.log('支付失败:' + JSON.stringify(err));  
                            }  
                        });  

上面orderInfo是从后台返回的数据,肯定是对的,因为apicloud的app也是使用这个后台接口,并且支付正常。
下面检查大家说的几个常见问题:
1 包名和微信支付上面的不一致,我是采用的是原来apicloud一样的包名和证书,自定义基座安装后,也查看了这个自动以基座的包名和签名,都是和微信开放平台上面保持一致的。而且目前微信分享功能是正常的。
2 支付的签名问题,因为支付的签名字段是来自后台的程序,这个和apicloud(apicloud的微信支付正常)的一致的,所以也应该没问题

所以麻烦请教一下大家,到底问题有可能出在什么地方?谢谢

2024-05-14 11:09 负责人:无 分享
已邀请:
7***@qq.com

7***@qq.com (作者)

补充一下,这是完整的错误信息:

支付失败:{"errMsg":"requestPayment:fail [payment微信:-1]General errors","errCode":-100,"code":-100}

7***@qq.com

7***@qq.com (作者)

换了个手机测试,居然好了。之前清除缓存啥的,都试过,死活就是不行。

要回复问题请先登录注册