安卓微信支付是没有问题的,就ios的端使用微信支付没有任何反应,什么错也没报。
首先:既然安卓能微信支付说明后台返回的参数是没有问题的
其次:ios就比安卓多了一个通用链接,我确定通用链接配置是没有问题的。
目前就完全不知道为什么ios端的微信支付会不行,一点反应都没有,也没有报错。这个问题已经卡了几天了,哪位大佬能指教一下哦。
6***@qq.com
- 发布:2019-12-13 18:30
- 更新:2023-12-13 19:23
- 阅读:4494
【求助】uni-app ios端无法唤起微信支付
分类:uni-app
18 个回复
4***@qq.com
appid和package直接写确认的值,不用返回的结果值,其他返回值都是string类型,我这边这样改是可以了。这个问题也困扰我好几天,各种配置都排查了好几遍,没想到这样改成功了,-_-||,希望能帮助到大家
1***@qq.com
解决了,签名和商户号加了个toString
2***@qq.com
太6了哥们,我靠,困扰我好几天,然后这边全部转成字符串就可以了
2024-08-22 15:29
LightChen - LightChenHB
同问
h***@yunyanit.com - 专注
同问
2***@qq.com
同问
vonfly - 中端开发工程师
同问,我有报错是-2
我吃柠檬 - .....
同问
vonfly - 中端开发工程师
已经解决,注意时间戳的长度。当然前提是你的安卓端已经走通。
1***@qq.com - 90后
ios端支付界面首次进入的时候不会更改url,导致与公众号接口url不一致,我的解决方法是在支付的时候加一个平台判断:
if(uni.getSystemInfoSync().platform==="ios"){
uni.setStorageSync('reload','true');
location.reload();
}
当然还有本地存储付款信息;
然后在onload里面判断是否是ios重载的页面,重新付款,这时候url就正确了:
if(uni.getStorageSync('reload')=='true'){
uni.setStorageSync('reload','');
that.submit();
}
1***@qq.com - 90后
究极解决办法:
if (location.href.indexOf('?#') < 0) {
location.href = location.href.replace('#', '?#')
}
1***@qq.com - 90后
弯路走太多了,只JSAIP支付目录,只设置顶级域名就行,例:https://www.test.com/
Sea121
同问,有人解决了吗
1***@qq.com
同问,有人解决了,告诉一下,谢谢!
q***@qq.com
1、安卓支付调通
2、IOS微信登陆/分享功能成功
3、微信支付不报错也不调起
prepay1和prepay2都打印了,支付中的success和fail、complete都不执行
【====================求救==================】
已解决,由于package在java中时保留字,后端返回packageValue,所以我以为就时叫这名字,关键是,安卓竟然过了
1***@qq.com - 你好
和楼上遇到一模一样的问题,谢谢
4***@qq.com
遇到同样的问题,排查后发现后端返回的是nonceStr而不是noncestr,但是最奇怪的是安卓能够调起支付,导致排查很久都没发现。希望能帮助到相同问题的人。
1***@qq.com
发起支付的orderInfo中的参数都是必填项,且参数名必须全小写,否则ios无法触发
uni.requestPayment
API。//订单对象,从服务器获取
var orderInfo = {
"appid": "wx499****7c70e", // 应用ID(AppID)
"partnerid": "148*52", // 商户号(PartnerID)
"prepayid": "wx202254****fbe90000", // 预支付交易会话ID
"package": "Sign=WXPay", // 固定值
"noncestr": "c5sEwbaNPiXAF3iv", // 随机字符串
"timestamp": 1597935292, // 时间戳(单位:秒)
"sign": "A842B45937F6EFF60DEC7A2EAA52D5A0" // 签名,这里用的 MD5 签名
};
w***@foxmail.com