Android 端出现的问题
1 我的appid和签名、包名都是没有问题的。因为项目里面的微信分享和登陆都是可以正常使用的,不要再说设置的appid和包名和签名有问题了
2 微信支付权限已开通三天了,支付能力是有的,开放平台也能看到,支付是审核通过的
3 吊起支付的代码也是没有问题的(官方的app demo应该没有问题,只替换了appid,包名和签名(也考虑了debug和relece的差异,配置了走relece的签名),同样替换另一个项目可以正常支付)
req.appId = json.getString("appid");
req.partnerId = json.getString("partnerid");
req.prepayId = json.getString("prepayid");
req.nonceStr = json.getString("noncestr");
req.timeStamp = json.getString("timestamp");
req.packageValue = json.getString("package");
req.sign = json.getString("sign");
api.sendReq(req);
4 PayEntityActivity配置正确,依照官方demo配置的
5 将PayEntityActivity放到了指定的位置
6 现在我们有两个项目,一个项目是后台是md5校验的,一个HMAC-SHA256校验的,我用官方的demo修改后,支付md5校验的是可以的,不存在只能支付一次的问题,而HMAC-SHA256校验的只能支付一次
诉求1 请求官方能给我查一下我的appid是否具有支付能力或者其他微信后台的异常信息
问:后台用HMAC-SHA256校验的,我们Android端是不是要特殊处理?
如果需要设置校验类型signType 那么这个signType的取值是什么?取值范围是多少
req.signType="sha256";
api.sendReq(req);
如果需要设置校验类型signType 那么这个signType的取值是什么?取值范围是多少
1,可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、在开放平台配置的应用签名与实际的不符、其他异常等。
2,开放平台对应的包名与签名是否有正确设置如下:
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5
我横向的对别了另一个项目的支付,我发现了他也有两个appid,后台重新签名的appid和吊起支付的appid不一致,所以我一直觉得这两个appid就一定是不一样的。之前怀疑过这两个appid应该是一样的,让后台给我返回过,但是还是出现了问题,因为后台没有通过我的appid去统一下单,而是直接给我签名之后返回了。坑中坑,才导致我这里的问题不断。