赞
踩
做过微信支付的都知道这是一个坑。。。
总结了一下最近两次微信支付中碰到的问题:
- <span style="font-size:14px;">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;
- }</span>
碰到最多的、最头痛的应该就是这个“-1”的错误了(想再喷一下微信,就不能分的细一点?)。
以下总结一般哪些情况会是-1:
package:这个字段,一定要传,签名的时候后台一定要加进去,为什么坑呢,因为微信文档里写着,“”暂填写固定值Sign=WXPay”,坑了很多人,很多人不写就会出错。还有就是用android 中gson解析的时候package与java关键字冲突(不知道微信是怎么想的。。),要手动解析,或者你就不管它,手动赋值“Sign=WXPay”
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。