java微信h5支付_Java-实现微信H5支付

本文介绍了如何使用Java实现微信H5支付的详细步骤,包括在服务端创建订单、调用微信统一下单接口、处理回调等关键流程,并提供了相关代码示例。

做的是微信H5支付,微信APP支付已经有了,H5支付还没有,需要注意的是:H5支付需要在微信支付商家后台单独开通。

微信H5支付开发流程图:

616e968bd9d0c4cb82939e804e480e02.png

红色的就是我们服务端需要做的,简单来说的业务流程就是:

在我们自己的系统里下订单

把我们系统的订单号,和一系列参数编辑好,以XML的格式传给微信统一下单接口

得到微信下单回执,在成功的情况下,把mweb_url参数传给前端访问它

在前端用户已付款的情况下,微信访问你之前传的回调参数,在你自己的系统里运行一些业务逻辑(如更改订单状态)

到这里微信H5支付的业务流程基本上算完成了。

具体的代码是:

// 需要的jar等,这里为了方便就把一些工具类的方法写在一起了,需要的jar在这里,没有的在下面具体的类上的注释也有标出来

import java.io.IOException;

import java.nio.charset.Charset;

import java.util.HashMap;

import java.util.Map;

import org.apache.hc.client5.http.fluent.Request;

import org.apache.hc.core5.http.entity.ContentType;

import org.dom4j.DocumentException;

import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSON;

/*创建微信的H5订单信息*/

@Override

public OrderCreateVO getWechatH5PayOrderInfo(int fee, String callback,

Long uid, String out_trade_no) {

// 请求和响应参数参考:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_20&index=1

HashMap params = new HashMap();

// 公众账号ID:微信分配的公众账号ID(企业号corpid即为此appId)

params.put("appid", WX_APP_ID);

// 商户号:微信支付分配的商户号

params.put("mch_id",WX_MCH_ID);

// 设备号:终端设备号(门店号或收银设备ID),注意:PC网页或公众号内支付请传"WEB"

params.put("device_info", "WEB");

// 随机字符串:随机字符串,不长于32位。推荐随机数生成算法(https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=4_3)

params.put("nonce_str", PayUtil.getRandom

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值