Iain
Iain
  • 发布:2019-03-15 17:03
  • 更新:2021-10-11 17:35
  • 阅读:15856

uni-app 解决 app中调用微信支付一直返回 -1 的错误

分类:uni-app

官方文档和示例并没有写清楚。导致app中调用微信支付一直返回 -1 的错误,最终通过百度找到一位大佬成功接通iOS版微信支付、支付宝的案例,结合文档iOS和安卓版orderInfo字段数据格式不一致的情况,稍加修改后调用微信支付成功。以下为安卓版微信支付的调用代码。苹果版请参考点击此处查看iOS版完整案例

                // 安卓调用微信支付  
                uni.requestPayment({  
                    provider: "wxpay",  
                    timeStamp: JSON.stringify(result2.timestamp),  
                    nonceStr: result2.noncestr,  
                    package: result2.package,  
                    signType:"MD5",  
                    paySign: result2.sign,  
                    orderInfo: JSON.stringify({  
                        appid: result2.appid,  
                        noncestr: result2.noncestr,  
                        package: result2.package,  
                        partnerid: result2.partnerid,  
                        prepayid: result2.prepayid,  
                        timestamp: result2.timestamp,  
                        sign: result2.sign,  
                    }),  
                    success:function(res){  
                        uni.showToast({  
                            title:"支付成功",  
                            icon:"success",  
                            duration:2000,  
                            complete:function(){  

                            }  
                        });  
                    },  
                    fail:function(res){  
                        // console.log(JSON.stringify(res));  
                        uni.showModal({  
                             content: "支付失败,原因为: "   res.errMsg,  
                             showCancel: false  
                         })  
                        console.log('fail:'   JSON.stringify(res));  
                    }  
                });
1 关注 分享
c***@163.com

要回复文章请先登录注册

xiaolan

xiaolan

回复 z***@qq.com :
一样的问题
2019-07-06 16:19
z***@qq.com

z***@qq.com

回复 1***@qq.com :
同样的,包名,签名,appid检查n遍,参数也与作者的一一对照了,一样还是-1,自定义基座和云打包都是一样失败
2019-07-01 12:28
1***@163.com

1***@163.com

回复 Iain :
我就过了半个月准备上线,ios又不行了!想哭
2019-06-27 17:47
1***@163.com

1***@163.com

安卓支付正常,IOS支付返回"requestPayment:fail:HBuilder mainifest.json中配置的支付appid和生成订单使用的appid不一致,如果是HB调试请在线打包,http://ask.dcloud.net.cn/article/282"
自检:1、manifest.json中配置的appid为:wx27a0bc799bf4805c
2、调用uni.requestPayment传入参数格式{"appid":"wx27a0bc799bf4805c","noncestr":"whQac7tQf6FmXOCE","package":"Sign=WXPay","partnerid":"1284515901","prepayid":"wx27165629410724ee19585d421610863700","timestamp":"1561625789","sign":"9C6A4D685A6A333CF85ED85399DCECD2"}
3、微信开放平台Bundle ID:com.onetree.unishop
4、采用的是云打包自定义基座
2019-06-27 17:45
s***@163.com

s***@163.com

楼主 orderinfo 是去调用微信下单接口或者其他平台下单接口 传入参数 获取的吗
2019-06-26 17:03
Iain

Iain (作者)

回复 1***@qq.com :
你再试试打包后行不行
2019-06-06 15:57
2***@qq.com

2***@qq.com

回复 1***@qq.com :
你好,在吗,请问你怎么解决的
2019-06-04 10:30
[已删除]

[已删除]

确保包名,签名这些信息和开放平台一致
2019-05-28 23:54
xwjonline

xwjonline

mark 过两天做支付的时候参考一下
2019-05-28 21:56
1***@qq.com

1***@qq.com

为啥我的自定义基座也是返回-1 啊 appid没错啊 配置也没错
2019-05-20 14:58