1. 微信端支付,时间戳需要修改成字符串,不能为整型,IOS端会出现不兼容情况,一直提示支付失败,强制转换成string类型既可。
2. 微信端支付,建议不要直接使用后台的数据,要根据微信给的规范格式排序进行赋值调用,不然会造成支付调用不起来。
3. 微信端支付,支付一次后或者支付失败亦或者支付取消,再次支付,提示code值不存在或者过期,原因是后台获取该值后就失效,解决方法是后台再次赋值。
4. 微信支付,订单已生成,但支付时提示“支付失败”或者提示“当前页面的URL未注册”,解决方法是:商务那边配地址就可以了
。
5. 移动端浏览器支付功能,建议不使用新窗口打开,android环境下,新窗口打开有部分浏览器是不允许的,也调用不起本地的微信和支付宝应用;IOS环境下,新打开窗口仍然有拦截,甚至不提示是否允许新打开窗口,┭┮﹏┭┮。
6. 移动端浏览器支付功能,微信可以在连接后面添加redirect_url =return_url(完成支付或者支付失败后返回的地址),支付宝也可以设置returnUrl(后台处理一下),即可返回原本页面查询是否已付款或者重定向到指定页面进行后续操作,注意:回调地址需要encodeURIComponent处理。
7. 对于PC端新打开窗口进行扫码支付,解决新打开窗口被拦截问题。有两种方法是比较可行的,第一种是:动态创建A标签,再模拟用户点击,使用点击事件可跨过浏览器的拦截,此方法兼容性较差,较多浏览器不兼容;第二种是:使用同步ajax请求,然后使用window.open(),也可以跨过浏览器拦截,此方法比第一种的兼容性更好。但是建议还是不打开新窗口,无论在移动端还是PC端。