关于微信支付,以及返回-1的问题(千万不要慌不要慌!)

1.关于微信支付返回-1的问题

从微信的官方文档来看,支付返回-1的都是ERR_COMM,也就是普通的,常见的错误。普通我倒是没觉得,常见我倒是常常见。

所有人都知道微信支付返回-1无非就是那几个常见的错误,什么sing错误,APP_ID错误什么什么的,但是很多情况都会返回-1,现在我们来一步一步的做排除。

2.一步一步的排除

2.1关于PayReq的配置

msgApi = WXAPIFactory.createWXAPI(RechargeActivity.this, APP_ID,false);
msgApi.registerApp(APP_ID);
PayReq request = new PayReq();
request.appId = json.getString("appid");
request.partnerId = json.getString("partnerid");
request.prepayId = json.getString("prepayid");
request.packageValue=json.getString("package");
request.nonceStr = json.getString("noncestr");
request.timeStamp = json.getString("timestamp");
request.sign = json.getString("paySign");

msgApi.sendReq(request);

appid:平台生成的

partnerId,nonceStr,timeStamp:后台给的

prepayId,sign:后台签名给返回的

packageValue:现在都写成固定值,而且也是微信官方推荐的"Sing=WXPay"

一般情况下req配置这几个就可以完成支付了,这个参数的值都是后台给返回的,可以让后台返回一个字符串自己解析进行赋值

2.2关于WXPayEntryActivity

当wxApi.sendReq(req);以后,会吊起这个类(这个类懒得话可以直接从官方demo中拷贝过来),这个类里的其他代买不要动,只需要动两个地方就可以了

第一:配置好自己的APP_ID

第二:

@Override
public void onResp(BaseResp resp) {
    
    switch (resp.errCode){
        case 0:
            //成功
            break;
        case -1:
            //失败
            break;
        case -2:
            //用户取消
            break;
    }
    

重写onResp方法,在里面坐一些支付结果的处理

2.3关于包名的签名

在微信开发平台的位置上,一定要讲包名和包名的签名写对了,签名就用微信官方的签名工具生成,一定要确保包名与你工程的包名一模一样

 

 

 

最后,其实debug和release版都可以测试微信支付,我个人觉得返回-1和debug和release版本的问题没有多少关系,至少我在处理返回-1的问题上只要能支付成功,debug和release都行,如果不行的话两个版本都不行;还有关于缓存的问题,个人觉得支付的成功与失败和缓存也没有多少关系,至少现在还没有遇到

当你确定上边三处都没有问题的话,就要等你的后台了,因为客户端能做的就有这么多了,最后祝完美解决问题,千万不要焦虑,那样只会适得其反。

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
微信JSApi支付是指在微信公众号或小程序内使用JSAPI调起微信支付功能,实现用户在微信内完成付款的一种方式。以下是常见的问题及解决方法: 1. 支付时提示“商户订单号重复” 解决方法:修改商户订单号,确保每笔订单的商户订单号唯一。 2. 支付时提示“支付金额与订单金额不一致” 解决方法:检查订单金额和实际支付金额是否相同,确保订单金额与实际支付金额一致。 3. 支付时提示“支付失败,请稍后再试” 解决方法:检查支付参数是否正确,确保支付参数的完整性和准确性。 4. 支付时提示“当前用户未授权,请先授权登录” 解决方法:用户需要先授权登录,获取用户信息后才能进行支付操作。 5. 支付时提示“当前用户未关注公众号” 解决方法:用户需要先关注公众号,才能进行支付操作。 6. 支付时提示“商户号与appid不匹配” 解决方法:检查商户号和appid是否对应,确保商户号和appid的匹配性。 7. 支付时提示“订单已关闭” 解决方法:订单可能已经被关闭或者已经完成支付,需要重新下单。 8. 支付时提示“系统繁忙,请稍后再试” 解决方法:服务器可能正在维护或者出现故障,需要等待一段时间后再尝试支付。 以上是微信JSApi支付常见问题及解决方法,如果以上方法无法解决问题,可以联系微信支付客服进行咨询。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值