Java 通过统一下单 API 进行订单支付后,除等待微信notify_url 进行回调通知外,还可以主动查询订单状态。
前置条件:可参考《用JAVA实现微信扫码支付》
官网:【微信支付】扫码支付开发者文档(https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_2)
一、定义参数对象
定义请求参数对象
-查询订单请求参数(必填)
-查询订单请求参数(非必填)
定义接收参数对象
-查询订单接收参数(必填)
-查询订单接收参数(非必填)
二、生成订单信息
SOPConstants.WECHAT_PAY_APP_ID 是公众账号id
SOPConstants.WECHAT_PAY_MCH_ID 是商户id
WechatUtil.makeNonceStr() 是生成的随机字符串
WechatUtil.makeSign(BeanMap.create(ext)) 是根据请求参数制作签名
WechatUtil.truncateDataToXML(QueryOrderRequestExt.class, ext)
是将数据转换为XML形式
三、发起订单查询请求
SOPConstants.WECHAT_PAY_QUERY_URL 是微信订单查询的请求 URL
WechatConnection.connect() 是向微信发起请求的通用方法
ext.getResult_code()ext.getResult_codeext.getTrade_state() 的值都是
SUCCESS 才能确定订单支付成功
四、微信支付相关操作工具类
该工具类目前提供了数据转换、签名生成、随机数生成的通用方法
五、微信支付请求建立类
美国高防vps
END
查看更多文章请关注【实训在线】微信公众号
原文首发:http://asing1elife.com/
17274396