Android微信支付SDK

来源:互联网 发布:淘宝助手在哪 编辑:程序博客网 时间:2024/06/05 06:32

最近在做一个有关微信支付的一个项目,所以在此总结一下微信支付sdk接入的问题,为以后再次遇到此问题做个范例。
首先我们需要准备以下资源:
1).微信支付的AppId
2).微信依赖的Jar包
3).Activity类——>WXPayEntryActivity.java(可以从微信Demo中copy过来)

调起微信支付界面:
请求参数:
请求参数

微信支付最主要的就是我们将参数给传递过去,发起支付的流程,提交订单的时候的参数根据项目需要配置。

下面代码就是调起微信支付:

PayReq req = new PayReq();  // 测试用appIdreq.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"; // optionalToast.makeText(PayActivity.this, "正常调起支付",Toast.LENGTH_SHORT).show();// 在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信api.sendReq(req)

回调如下:
返回结果:
返回Code码
<1>WXPayEntryActivity这个类是在你调起微信支付完成支付(或取消或失败)后,再回到你的App时会调用的一个页面。还需要注意的是这个类文件的路径
<2>若不需要回调的那个页面可以将onCreate方法里的setContentView(R.layout.pay_result) 给注掉。
<3>回调结果里Demo给了一个弹窗,咱们如果不需要,也可以修改为如下:

    public void onResp(BaseResp resp) {        if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {            if(resp.errCode==0){                //支付成功            }            finsh();        }    }

目前,我只做到这么多,等后续发现问题会及时更新的。