当前位置:   article > 正文

微信app支付返回-1错误的情况解决方法_支付错误,支付异常错误:-1

支付错误,支付异常错误:-1

做过微信支付的都知道这是一个坑。。。


总结了一下最近两次微信支付中碰到的问题:


  1. <span style="font-size:14px;">switch (resp.errCode) {
  2. case -4:// 认证被否决
  3. ToastUtils.showToast(this, R.string.authorize_refuse);
  4. finish();
  5. break;
  6. case 0:// 正常返回
  7. if (PayActivity.order_comefrom_orderdetail) {
  8. finish();
  9. for (int i = 0; i < BaseApplication.mActivitys.size(); i++) {
  10. if (BaseApplication.mActivitys.get(i) instanceof PayActivity) {
  11. BaseApplication.mActivitys.get(i).finish();
  12. }
  13. }
  14. return;
  15. }
  16. commonDialog = DialogUtils.CommonDialog(this, handler, R.string.pay_result, -1, R.string.to_home, -1);
  17. break;
  18. case -1:// 一般错误
  19. ToastUtils.showToast(this, R.string.general_error+resp.errStr);
  20. finish();
  21. break;
  22. case -3:// 发送失败
  23. ToastUtils.showToast(this, R.string.send_failed_retry);
  24. finish();
  25. break;
  26. case -5:// 不支持的错误
  27. ToastUtils.showToast(this, R.string.unsupport_error);
  28. finish();
  29. break;
  30. case -2:// 用户取消
  31. ToastUtils.showToast(this, R.string.pay_cancel);
  32. finish();
  33. break;
  34. }</span>



碰到最多的、最头痛的应该就是这个“-1”的错误了(想再喷一下微信,就不能分的细一点?)。


以下总结一般哪些情况会是-1:

  • 签名:
签名问题主要是app打包时,需要以正式的签名进行打包,不然是调起不了微信的,签名问题,可以到这里查看如果将签名信息填写到微信服务器上https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5。

  • 缓存?   
   这个主要是看网上很多人说的有可能需要清除微信的缓存才可以调起,如果各种方法都试过了,你可以试着清一下。反正我试了没用。

  • appid
   这点一般都不会出错,可能是你瞎了填错了,或者微信后台的appid被别人换了,去这里检查一下就好https://open.weixin.qq.com/


  • 服务器订单签名
 这一点也很容易出错,我两次出问题都是卡在这里,其实对照着https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1里面写,一般不会出错,只是有一点要:

 package:这个字段,一定要传,签名的时候后台一定要加进去,为什么坑呢,因为微信文档里写着,“”暂填写固定值Sign=WXPay”,坑了很多人,很多人不写就会出错。还有就是用android 中gson解析的时候package与java关键字冲突(不知道微信是怎么想的。。),要手动解析,或者你就不管它,手动赋值“Sign=WXPay”



声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/283975
推荐阅读
相关标签
  

闽ICP备14008679号