微信APP支付

微信app支付和jsapi支付不同的地方就是不需求获取openid,然后要注意的就是签名,一定要排好序

排序

 //再次发送请求微信获取prepay_id
            String PostResult = http.sendPost(ConstantUtil.GATEURL, xml);
            Map<String, Object> cbMap = XMLParser.getMapFromXML(PostResult);
            if (cbMap.get("return_code").equals("SUCCESS") && cbMap.get("result_code").equals("SUCCESS")) {
                //这就是预支付id
                prepay_id = cbMap.get("prepay_id") + "";
                maps = new HashMap<>();
                maps.put("appid", tbPayWQ.getAppId().trim());
                maps.put("noncestr", nonce_str);
                maps.put("package", "Sign=WXPay");
                maps.put("partnerid", tbPayWQ.getPartnerId().trim());
                maps.put("prepayid", prepay_id);
                maps.put("timestamp", new Date().getTime()+"");

            /*    String signs = "appid=" + tbPayWQ.getAppId().trim() + "&noncestr=" + nonce_str + "&package=Sign=WXPay&partnerid="
                        + tbPayWQ.getMchId().trim() + "&prepayid=" + prepay_id + "&timestamp=" +  new Date().getTime() + "" + "&key="
                        + tbPayWQ.getPartnerKey().trim();*/
                //参数加密
                 sign = WXPayUtil.generateSignature(maps, tbPayWQ.getPartnerKey().trim(), WXPayConstants.SignType.MD5);
                maps.put("sign", sign);

                return new Result<Map<String, String>>().ok(maps);
            } else {
                return new Result<Map<String, String>>().error(2, "获取参数失败");
            }
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println(e.getMessage());
        }

获取预支付id和jsapi一样,排好序后将加密后的签名和需要的参数发给安卓和ios就完成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值