微信支付报错锦集

来源:互联网 发布:java 字符串比较相等 编辑:程序博客网 时间:2024/05/13 05:48

以下内容整合于网络。
返回-1错误 的情况解决方法

 switch (resp.errCode) {                  case -4:// 认证被否决                      ToastUtils.showToast(this, R.string.authorize_refuse);                      finish();                      break;                  case 0:// 正常返回                      if (PayActivity.order_comefrom_orderdetail) {                          finish();                          for (int i = 0; i < BaseApplication.mActivitys.size(); i++) {                              if (BaseApplication.mActivitys.get(i) instanceof PayActivity) {                                  BaseApplication.mActivitys.get(i).finish();                              }                          }                          return;                      }                      commonDialog = DialogUtils.CommonDialog(this, handler, R.string.pay_result, -1, R.string.to_home, -1);                      break;                  case -1:// 一般错误                      ToastUtils.showToast(this, R.string.general_error+resp.errStr);                      finish();                      break;                  case -3:// 发送失败                      ToastUtils.showToast(this, R.string.send_failed_retry);                      finish();                      break;                  case -5:// 不支持的错误                      ToastUtils.showToast(this, R.string.unsupport_error);                      finish();                      break;                  case -2:// 用户取消                      ToastUtils.showToast(this, R.string.pay_cancel);                      finish();                      break;              }

以下总结一般哪些情况会是-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”
摘自:http://blog.csdn.net/chniccs/article/details/51159351

“请求参数错误,请核实再试或交易出错,请稍后再试” 的可能原因

微信支付经常会出现有些奇怪找不到原因的问题,下面就是其中的一个例子
当你的微信支付出现 “支付请求参数错误,请核实再试”或 “交易出错,请稍后再试”的错误的时候,不访从下面几点找原因
1,确保你的微信的app_id,app_secret,parent_id,parent_key,parent_sign_key的信息是否填写正确了。
2,请检查package的参数是否错误或为空等情况,具体设置可参考开发文档。
3,微信的金额是以分为单位的,所以请检查一下你传入的金额最小值是不是大于1(千万不要传小数点进去)。

有什么问题可扫描上面的二维码或加下面群:376057017,直接问我。
摘自:http://blog.sina.com.cn/s/blog_63eb3eec0101h7x1.html

0 0