Android微信支付开发源代码_微信支付V3接口Demo下载
2015-08-13 09:20:50  By: dwtedx

最近公司的项目需要使用微信支付、导致我不得不去研究微信支付、这里跟大家分享一个可以正常支付的demo、但是demo需要开发者配置自己的参数才可以运行起来、首先在Constants.java中设置相关参数、具体请查看该文件注释、同时根据注释修改androidmanifest.xml文件

要保证: 包名和开放平台一致、签名和开放平台一致、并且再公众平台做设置、详情请阅读: http://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_5 注意:此条仅仅适用于android、ios不受签名文件限制

要保证回调类WXPayEntryActivity.java文件必须位于包名的wxapi目录下、否则会导致无法回调的情况、注意:此条仅仅适用于android,ios有固定格式、请参考ios demo、微信支付一共可分为3个步骤、App支付生成预支付订单、生成App微信支付参数、调用微信App支付

android微信支付demo


1、App支付生成预支付订单

protected Map<String,String>  doInBackground(Void... params) {
    String url = String.format("https://api.mch.weixin.qq.com/pay/unifiedorder");
    String entity = genProductArgs();

    Log.e("orion",entity);

    byte[] buf = Util.httpPost(url, entity);

    String content = new String(buf);
    Log.e("orion", content);
    Map<String,String> xml=decodeXml(content);

    return xml;
}


2、生成App微信支付参数

private void genPayReq() {
    req.appId = Constants.APP_ID;
    req.partnerId = Constants.MCH_ID;
    req.prepayId = resultunifiedorder.get("prepay_id");
    req.packageValue = "Sign=WXPay";
    req.nonceStr = genNonceStr();
    req.timeStamp = String.valueOf(genTimeStamp());


    List<NameValuePair> signParams = new LinkedList<NameValuePair>();
    signParams.add(new BasicNameValuePair("appid", req.appId));
    signParams.add(new BasicNameValuePair("noncestr", req.nonceStr));
    signParams.add(new BasicNameValuePair("package", req.packageValue));
    signParams.add(new BasicNameValuePair("partnerid", req.partnerId));
    signParams.add(new BasicNameValuePair("prepayid", req.prepayId));
    signParams.add(new BasicNameValuePair("timestamp", req.timeStamp));

    req.sign = genAppSign(signParams);

    sb.append("sign
" req.sign "

");

    show.setText(sb.toString());

    Log.e("orion", signParams.toString());

}


3、调用微信App支付

private void sendPayReq() {
    msgApi.registerApp(Constants.APP_ID);
    msgApi.sendReq(req);
}


另外再说明一下、很多情况下支付结果可能会返回-1、这种情况请仔细检查签名和包名、另外还有一个要说明的问题是、一个签名只能对应一个手机

意思是就是相同的签名在一部手机上只有一个App(一个包名、亲测的)、大家测试的时候注意一下、如果发现代码签名正常、还是返回-1、那么就换一部手机试试

最后给贴上Demo的源代码、希望对大家有用、有兴趣的哥们可以下载看看

源代码下载链接: http://dwtedx.com/download.html?bdkey=s/1kTgW5mv 密码: yjqu

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

DD记账
top
+