/**
* 微信支付微信 回调。java版
*
* @return
* @throws IOException
* @throws QQConnectException
*/
@SuppressWarnings( { "unchecked", "static-access" })
public String wxnotifyurl() throws IOException, QQConnectException {
logger.error("微信 回调 wxnotifyurl() start ============");
String inputLine;
Orderpay orderpay = new Orderpay();// 订单支付信息
Order order = new Order();
Order order2 = new Order();
String notityXml = "";
String resXml = "";
Map<String, String> map = new HashMap();
try {
while ((inputLine = getRequest().getReader().readLine()) != null) {
notityXml += inputLine;
}
getRequest().getReader().close();
logger.error("微信 回调 wxnotifyurl() notityXml ============" + notityXml);
map = XMLUtil.doXMLParse(notityXml);
} catch (JDOMException e) {
logger.error("JDOMException===" + e.getMessage());
throw new NullPointerException("JDOMException参数异常");
} catch (IOException e) {
logger.error("IOException====" + e.getMessage());
throw new NullPointerException("IOException参数异常");
}// 解析微信返回的信息,以Map形式存储便于取值
if (!map.isEmpty()) {
orderpay.setOrderid(map.get("out_trade_no").substring(0, map.get("out_trade_no").length() - 2));
orderpay.setPaystatus(map.get("result_code").equals("SUCCESS") ? "y" : "n");
orderpay.setPayamount(map.get("total_fee").length() > 0 ? Double.parseDouble(map.get("total_fee")) / 100.00 : 0.00);
orderpay.setCreatetime(map.get("time_end"));
orderpay.setConfirmuser(map.get("openid"));
orderpay.setPaymethod(orderpay.orderpay_paymethod_wxpayescow);
// order.setPaystatus(orderpay.getPaystatus());
order.setId(orderpay.getOrderid());
orderid = orderpay.getOrderid();
order2 = orderService.selectOne(order);
/************************************** 支付异常情况处理 *******************************************************/
if (order2 == null) {
if ("n".equals(map.get("result_code").equals("SUCCESS") ? "y" : "n")) {
} else if ("y".equals(map.get("result_code").equals("SUCCESS") ? "y" : "n")) {
// 支付成功
resXml = "<xml>" + "<return_code><![CDATA[SUCCESS]]></return_code>" + "<return_msg><![CDATA[OK]]></return_msg>" + "</xml> ";
logger.error("resXml 支付处理成功 ================" + resXml.toString());
}
}
/************************************** 支付情况处理END *******************************************************/
}
BufferedOutputStream out = new BufferedOutputStream(getResponse().getOutputStream());
out.write(resXml.getBytes());
out.flush();
out.close();
logger.error("微信 回调 wxnotifyurl() end ============");
return null;
}
相关推荐
最新PHP版的微信H5支付完整代码,改好商户资料和您服务器回调地址即可使用,回调代码保存回调结果到log文件里,方便您调试查看.
微信公众号支付回调验证微信公众号支付回调验证微信公众号支付回调验证微信公众号支付回调验证微信公众号支付回调验证微信公众号支付回调验证微信公众号支付回调验证
里面是微信最新支付程序 demo,填写参数可直接运行,无效我是2B,里面无多余代码 已整理,C#版
微信支付退款回调接口,需要对req_info字段进行解密,其中需要用到AES-256进行加解密,这是修改本地jdk/jre文件的两个jar包,因为我是jdk8,所以此处是jdk8版本的,敬请下载,相关博文可以点击我博客名进行查询
springboot对接微信小程序支付以及回调详细代码 非常详细,完整流程代码 拿走不谢 亲测可用
微信支付-商户支付模式一url接口回调-java版,代码清晰,可直接运行
微信、支付宝支付整合,自用,仅供参考
SP 扫码支付是用的最普遍的一种接口,所有 ASP 的网站都可以整合使用,微信扫码支付结果会实时在微信中回调显示,同时实现支付下单结果返回,并入库自动更新订单操作。 微信公众号支付是基于微信公众号而开发的支付...
很多人都不太用微信支付后的回调页面,因为扫码支付完成后页面就不动了,上传的代码包含了微信支付成功后回调URL,采用了js轮询技术 微信支付+回调,js轮询实现, 保证能用。
php微信支付+回调,js轮询实现2018年11月更新 。刚出产的!保证能用
微信app支付-回调-退款.rar
授权需要回调信息,但在开发过程中由于是在本地开发微信回调不到本地,但部署到服务器上又麻烦(效率太低)。所以最后采用了网络穿透来解决,可以使微信的回调信息请求到本地方便开发调试。 具体步骤已经整理成文档...
准备工具:微信公众号授权无限回调工具 认证过的公众号,记着加白名单IP,这个网上教程很多就是在微信公众号设置里面加IP白名单 域名一枚,也需要微信公众号加进去受访信任,服务器一台。 LINUX服务器安装宝塔,...
微信分享及回调相应结果
微信企业号回调模式实例(Java版) 认真阅读word文档,按照步骤实行,琢磨了一个礼拜,只收一分。
微信支付怎么能调起来,怎么就能进行微信支付了?支付完成回调怎么处理,里面有一份我写的微信支付原理文档,文档中的截图非常详细,下载这个觉对可以让你从0掌握微信支付
这是一款基于ThinkPHP6.0开发的微信公众号多域名回调系统。本系统有如下功能: 微信公众号多域名回调功能:微信公众号后台默认只能授权2个网页域名,用本系统突破这个限制,用同一个公众号对接无限多个网站。网站...
Delphi开发的微信、支付宝支付源代码,无需域名,只需输入微信公众号、微信商户号、微信API密钥;支付宝APPID 、支付宝验签密钥文件;订单编号、支付金额,就可以完成以下微信、支付宝支付。 1、生成微信支付二维码...
2023全新微信公众号无限回调系统源码 | 亲测可用 目前支持对接易支付,支持用户自助充值,自助购买授权,支持自助更换授权,支持自助续费授权。 2023全新微信公众号无限回调系统源码 | 亲测可用 目前支持对接易...
对接微信支付统一下单接口时,下单支付成功后的回调工具类,相关的回调工具类使用,大家可以关注我的博客进入查看,有关键代码解析,配套使用更佳