集成微信支付重点,适用于有集成经验并且已经看过开发文档的同学
1.申请开通
按照官方文档步骤
(注册平台账号——认证(300 如果失败3次需再付300认证,信息提前确认)——创建应用审核(签名用微信的提取工具)——开通支付功能——集成)
2.集成
1.定义全局变量
private IWXAPI api;
2、注册APPID
支付界面 注册操作
api = WXAPIFactory.createWXAPI(this,null);
api.registerApp("应用APPID");
3、开始支付
orderInfo (存放后端生成的支付信息)进行赋值后向微信应用发起支付请求(调起微信)
public void payVX() {
if (orderInfo != null && orderInfo.length() > 0) {
String[] str = orderInfo.split("#");
PayReq req = new PayReq();
req.appId = str[0];
req.partnerId = str[1];
req.prepayId = str[2];
req.nonceStr = str[3];
req.timeStamp = str[4];
req.packageValue = str[5];
req.sign = str[6];
// 在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信
api.sendReq(req);
}
}
4、支付回调
WXPayEntryActivity(回调界面,微信应用支付操作完成会回调咱们应用的此Activity),这里需要注意该文件必须在wxapi这个文件夹下,及com.xxx.xxx.wxapi.WXPayEntryActivity(路径错误会导致微信支付结果回调失败)
应用清单文件注册此Activity
5、打包测试
签名文件一定要和在平台注册应用的签名一样,很多问题都是签名造成的
比如只能调起一次微信,第二次就不能调起微信 这种问题去查看签名是否一致
6、常规报错
调不起微信支付,通常通过以下几个步骤检查下
–检查 微信开发平台是否开通微信支付功能?
–检查 App端 的APPID 与服务端下单时的APPID 是否一致?
–检查 App的包名是否与微信开发平台设置的一致?
–检查 App的签名是否与微信开发平台设置的一致?
查看自己应用签名的工具(注册应用需要)
https://open.weixin.qq.com/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android.apk
自己集成时间比较早 当时碰到的小问题已经忘了 基本注意点就这些