您的位置:首页 > 移动开发

安卓app接入微信支付

2016-08-05 15:35 513 查看
1、首先在微信开放平台上有账号,并创建一个应用,填上您的包名、签名(注:签名最好是将app装在手机上、然后通过签名获取工具来获取签名,微信开放平台上面有),通过微信支付审核后即可开始开发。

2、开始开发app

创建一个类继承自Application,在入口处注册微信api

// 微信api
api = WXAPIFactory.createWXAPI(this, Constants.WXAPPID, true);
api.registerApp(Constants.WXAPPID);


3、在需要调用微信支付的地方,

IWXAPI api = WXAPIFactory.createWXAPI(activity, Constants.WXAPPID);
// 判断是否安装微信
if (!api.isWXAppInstalled()) {
return;
}
// 判断微信版本是否支持支付
if (api.getWXAppSupportAPI() < Build.PAY_SUPPORTED_SDK_INT) {
return;
}
// 解析服务端发来的json
JSONObject mJSON = null;
try {
mJSON = new JSONObject(strJson);
} catch (JSONException e) {
e.printStackTrace();
}
// 发送请求
PayReq req = new PayReq();
try {
req.appId = mJSON.getString("appid");
req.partnerId = mJSON.getString("partnerid");
req.prepayId = mJSON.getString("prepayid");
req.nonceStr = mJSON.getString("noncestr");
req.timeStamp = mJSON.getString("timestamp");
req.packageValue = "Sign=WXPay";
req.sign = mJSON.getString("sign");
} catch (JSONException e) {
e.printStackTrace();
}
api.sendReq(req);


如此即可调起微信支付,如果不能调起,先检查签名、包名是否与开放平台上面的一致,若一致则是服务端的问题,一般是服务端签名问题,关于服务端怎么实现,过几天也会写博客分享出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  api 微信 开放平台