这几天自己集成了微信支付,写个总结留着以后看。。。
前后台同步开发,我们是后台生成订单,(在这之前自己尝试前台生成订单也成功调起了支付);当然最好是后台生成订单。
在这里也遇到了调起失败的问题,微信多次返回 -1 ,我这边查资料,找原因,确定 正式打包签名没问题,Appid没问题,代码肯定没问题,微信缓存也清理了 都没用
确定我前端没问题
我想应该是后端给我的参数有问题 ,和后台饿鑫哥反应了一下情况 ,后太修改了代码 ,果真是返回的sign是错误的,成功的调起了微信支付!!!
其实集成微信支付很简单,就这么几句代码
private voidTuneUpWxPay(JSONObject varObject)throwsJSONException {
mWxApi= WXAPIFactory.createWXAPI(SelectPayWaysActivity.this,Constants.WX_APP_ID, true);
mWxApi.registerApp(Constants.WX_APP_ID);
PayReq req =newPayReq();
req.appId= Constants.WX_APP_ID;
req.partnerId= Constants.WX_PARTNER_ID;
req.sign= varObject.getString("sign");
req.prepayId= varObject.getString("prepay_id");
req.nonceStr= varObject.getString("nonce_str");
req.timeStamp= String.valueOf(varObject.getInt("time_start"));
req.packageValue="Sign=WXPay";
Boolean b =mWxApi.sendReq(req);
Log.e(TAG,getString(R.string.pay_result_log) + b +",appId="+ req.appId+",partnerId="+ req.partnerId+",prepayId="+ req.prepayId+
",time_start"+ req.timeStamp+",sign"+ req.sign+",nonce_str"+ req.nonceStr);
}