实现Java H5接入微信支付教程

一、流程步骤

步骤 操作
1 获取微信支付的AppID和商户号
2 通过微信支付接口统一下单,获取预支付ID
3 前端页面调用微信JSAPI,唤起微信支付
4 微信支付成功后,微信服务器异步通知支付结果
5 商户服务器确认收到通知后返回成功响应

二、具体步骤及代码实现

1. 获取微信支付的AppID和商户号

  • 从微信公众平台获取AppID和商户号
  • 将AppID和商户号配置到项目中

2. 统一下单,获取预支付ID

// 请求参数
Map<String, String> data = new HashMap<>();
data.put("appid", "your appid");
data.put("mch_id", "your mch_id");
// 其他参数参考微信支付开发文档

// 发起请求
String result = HttpRequest.post("
    .body(JSON.toJSONString(data))
    .execute().body();

// 解析返回结果,获取prepay_id
String prepayId = JSON.parseObject(result).getString("prepay_id");

3. 调用微信JSAPI,唤起微信支付

// 调用微信JSAPI
function onBridgeReady() {
    WeixinJSBridge.invoke(
        'getBrandWCPayRequest', {
            appId: '',
            timeStamp: '',
            nonceStr: '',
            package: '',
            signType: '',
            paySign: ''
        },
        function(res) {
            if (res.err_msg == "get_brand_wcpay_request:ok") {
                // 支付成功逻辑
            } else {
                // 支付失败逻辑
            }
        }
    );
}

4. 微信支付成功后,微信服务器异步通知支付结果

// 验证签名,并处理业务逻辑
// 详细步骤参考微信支付开发文档

5. 商户服务器确认收到通知后返回成功响应

// 返回成功响应给微信服务器
PrintWriter writer = response.getWriter();
writer.write("<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>");

通过以上步骤,你可以实现Java H5接入微信支付的功能。如果有任何问题,可以参考微信支付开发文档或向我提问。祝你顺利完成!