springBoot集成微信H5支付

public AjaxResult buyWxH5CoinPay(HttpServletRequest request) throws Exception {
WXPay wxpay = new WXPay(config, WXPayConstants.SignType.MD5);
// 构建支付请求参数
Map<String, String> data = new HashMap<>();
data.put("appid", config.getAppID());
data.put("mch_id", config.getMchID());
data.put("nonce_str", WXPayUtil.generateNonceStr());
data.put("body", rechargeRecordDto.getPurchaseBusiness());
data.put("out_trade_no", orderNo);
data.put("total_fee", totalFee.stripTrailingZeros().toPlainString());
data.put("spbill_create_ip", spbillCreateIp);
data.put("notify_url", notify_url);
data.put("trade_type", "MWEB");

Map<String, Object> sceneInfo = new HashMap<>();
sceneInfo.put("h5_info", new HashMap<String, String>() {{
put("type", "Wap");
}});
// 生成签名
String sign = WXPayUtil.generateSignature(data, key, WXPayConstants.SignType.MD5);
data.put("sign", sign);
// 发起统一下单请求
Map<String, String> resp = wxpay.unifiedOrder(data);
// 处理支付结果
if (resp.get("return_code").equals("SUCCESS") && resp.get("result_code").equals("SUCCESS")) {
// 获取支付跳转链接
String mwebUrl = resp.get("mweb_url");
// 返回给前端进行跳转
return AjaxResult.success(mwebUrl);
}
return AjaxResult.error("支付方式升级中,请尝试其他支付方式吧!");
}

1.如果说WXPayUtil这个方法没有,则需要导入这个jar包

<dependency>
<groupId>com.github.wxpay</groupId>
<artifactId>wxpay-sdk</artifactId>
<version>0.0.3</version>
</dependency>

2.我只是把H5微信支付的调用写出来,至于业务代码则需要根据每个人的需求来做更改

3.注意,这里的微信的请求参数尤其是appId等一些字段千万不要错,如果错了是无法成功唤醒H5的微信支付。如果请求参数没错的话  微信H5页面是会直接跳转到微信的支付页面。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值