微信开放平台 安卓支付接口 服务器签名验证 客户端获取参数后支付结果-1问题
else if(url.endsWith(ProtocolConst.WECHAT_PAY))
{
JSONObject json = jo.getJSONObject("data");
String appid = json.getString("appid");
IWXAPI wxApi = WXAPIFactory.createWXAPI(C1_CheckOutActivity.this, null);
wxApi.registerApp(json.getString("appid"));
if(!wxApi.isWXAppInstalled())
{
ToastView toast = new ToastView(C1_CheckOutActivity.this, "没有安装微信");
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
return;
}
if(!wxApi.isWXAppSupportAPI())
{
ToastView toast = new ToastView(C1_CheckOutActivity.this, "当前版本不支持支付功能");
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
return;
}
PayReq req = new PayReq();
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");
req.extData = "app data"; // optional
wxApi.sendReq(req);
}
客户端的AndroidManifest.xml的包名和微信开放平台应用里的包名一致;
keystore的签名也用的是客户端debug的keystore的签名和后台一致;(暂时用DEBUG方便测试)
怎么测试都是支付结果返回-1;
用客户端签名第一次支付成功,以后每次支付结果都是-1;如果删除微信的缓冲数据(设置-》应用程序-》微信-》清理缓冲)
就可以支付成功;
以上是出现问题的具体步骤,现在如何处理,高手速来