前面我们说了统一下单(公众号同样适用只是参数有细微的差别,一定要注意)

接着说一下微信支付成功之后支付结果通用通知

该链接是通过【统一下单API】中提交的参数notify_url设置,如果链接无法访问,商户将无法接收到微信通知。

通知url必须为直接可访问的url,不能携带参数。示例:notify_url:“https://xxx.com”sn

       InputStream inStream = request.getInputStream();ByteArrayOutputStream outSteam = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len = 0;while ((len = inStream.read(buffer)) != -1) {outSteam.write(buffer, 0, len);}System.out.println("~~~~~~~~~~~~~~~~付款成功~~~~~~~~~");outSteam.close();inStream.close();String result = new String(outSteam.toByteArray(), "utf-8");// 获取微信调用我们notify_url的返回信息Map<Object, Object> map = PayCommonUtil.doXMLParse(result);if (map.get("result_code").toString().equalsIgnoreCase("SUCCESS")) {
<pre name="code" class="java">                                //验证签名,在网上看到很多人都不去验证签名,这种做法,一般情况下不会有问题,但是。。。。。,多的我就不说了<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwUAAAA+CAIAAAD1UiDdAAAStUlEQVR4nO2d25nkqBKE1xY5I2fwBVOwRRb1eZCAvEQCKlXPnF3F/7DfVJXEJUnIIFGv/vkhhBBCCHk3//ztBhBCCCGE/GWohwghhBDydqiHCCGEEPJ2qIcIIYQQ8naohwghhBDydqiHCCGEEPJ2qIcIIYQQ8naohwghhBDydqiHCCGEEPJ2qIcIIYQQ8naohwghhBDydqiHCCGEEPJ2qIcIIYQQ8nae66GStm1LxX6z58N+pZEXqDuOvLcP4L6rtiPvvsiU7JeqYXe56tBdWTbDcvmqiiPvspzrklsFn/fUW5Ch4pGwpQz6fo6NaRm4y/So3WqLnjW0XV/SVR72DnmtNsWS3USzVowPuxIW/tAhcZmoyNg0CuUkez6MwcKZLL8bOspsCul2tp7Anh15vwoa9G5pso5ZnHPeEv32VLpJSzovQr7Y17rQ+5unn3f2UtrgyIKvyicOcDVi4iTXVahlrf6xlULX0GXuOYfr/LDoamZx4bkOJ1me+VTqZd9eQ+qF05XzDtV7Wt/2fMgIOW/Q5YPtBhWpIicOSwvHRawV2JftIEn7f3NVfMQTPXSuT3lZD7Wv5FKxbalM9JAs3Hxx5H1Lua4BenKAODzjZhTxdyLHGhYaiIKxIPL+5gVI1PNl/5vM6uBn//XV/ZmH2GarS+SH1vloyG0hIHjDwQzk0GStiPXQkjM9WwjWIndfDCPRbsOyDL3AtZTjuVBmtP1az9USL+5zi6hr/6ogRdiwLOPOtMzoqqtB5exRqUaEs9IY3hTWhquUVKftTA+VdJYTDbX8PjSdb2u9zWpSV4NfykNhIZoyW+fDblizXdVn+bNeHdRm+ptriItqX6BWtefDDvgdPVTy3haK4ziUiy5NT9PncAcm9JCLAWbg5cj/J/VQsPp1Fbigh1QMqT8MxgrpodGwfpPbiZfaGeMpbhkQu69x73srUp5Jcl8D/GGGUijhxq7X7l0/7NKiHro+77kcqilXbtCnd1Tri4v32HXrLs/1fT7q2zhgTAdixNIg9cVzqZ11Pprkqt5Vy2laRPioU9n1JpJqduNwLQFiCW0BCEblPu6ywCd6CISwpbEJVdOR9z0VoYegi+kpe36K9FD7JB0Y6qF6oR09U/dNPdRHp1omSho91EM6EIQD0AO9XxiUGgz00HXpV9eQlnKSuZhvUNKWcimheLH7xBGqXcJ4w4SNVo9oW6IWm0hnWcEZ8xfV0RM9ZKzgnDK6tN/wJD8Ueuo0PzTfVducBspxjNMHxgZmQxJ8Kae5CL5R0gkoTVHMb+aHgq26u0vJu31PNvELbo3BJxPxtdWPlDl8/qMHK7U0JGWn3mBjFrjG2zUGevTneihebEXjTENsfkg2CdpE59pdbGmNuX47jpK2lIoLtD2hAM8M1SC1wdKjNY4u39BDVxcjDYnDe6CHYCFS7sg1zSbm0K1oxQhIpe2vVpIUE818zgGsfWTb4q3Lb+mh0XAKea76gew5NOnNNeS3EdMP5odQS+K5ceS9f2+zELbQzZbSbrDp24V5aNa9J9P3F3igh66VznvuehfX9BCehj01VP+DhGmY2RtKpSF4sqM6QP4fFyXb1ZLA52ZFlaFzuFud6tcCgvdBsPOP9FAflD4QBd1l+g1Vg61wlh+SItImFVyk9+Wu6qEtJXFwH+sha064YZVLdJMav7yKrushNR2aTfq3ODTJXNFsI4+doF/QNvp7OPt6TLMx+At6KCfjskFxS3pI/GavdeLY6iHZCOfC0v+j/NBxZLmkxkR7KdfdLoeEz6dSckq7nBFw3v5ZPSSMvpJe2r67hvwGQneMxhPnB1TWVmxLqmpMOYuMsBWR49M0U09rq8ghBhceR5FSbDjf/gIP80NiuYwHDLhRLyHQQ3MjHXm/glZpeuixVWUbVQpGzJj7esh8rVwY5JC2bYsOwKDGsttquT7e8unJ1WpPu6tleWAUk1GOu7Smh9pHISxwkejXS2Qu5IeunJaLkmiJx9sdILK8GYN2Bn2aBDlZw8qlqnanh/Z9b8siEu5L80B6Vbg3CUUXKgjqIdWlda4xKHZ4vTlBT72FpQnB33aASN9tMzjfSrmUFtrGeqiWaR/rxOYdj5wVBUjq29TJgt+J8etfFZmJap27JzOaLfVEsSI7iRTmN9eQX2K5AjQ7wO7GppmsA0yTBZG7DHcoofL+L+mhk8BzVUfhJBEyXm8LRs7YvVqEIr0JVw8j3KQ6UPWKfEidcE6tadZHzahuo9rwXllJPlHgdYDYxKgkkeh2b02P7h/mhyJnVgtuLrIOOdTGv6WNZgMys2egh2Z7u3iPavWQ9q86ZkYvxX4dbbnlsiML/QZL2b7xRSWdfm3PReRnM54oeHeB7Do+Gk6zMiidYH15oIee5YeEpBiI8rX80KlGbNrsUpfVqHp30LthpXLU5KEeWrb99LLBylS/UOIgaOwwgqr8kBnVm7PkKPWhLZ0fqiZXdvr6GvJLTLeTqFU6nl6K0GetV0bdNWU4mlurTjumFmhz/ppAeqyHuiqPkt0gE13NE+eHrEH8/Djyvu0ppV463JJ9uMdYGKu57NAJSoALoXrN0au08xG9oHZF9EQPHUdNkw72EK7zPTTgLfTYELAxozC3trczVpJGWssPdcXtMm5GGpltPgg3KA344SrqFj5Q0GIiadtSqVFEbCOsfYXpXDzUI3R+pTLtk62SbnJ9ZKXFMCcTfkcP4Uz1p3oIWLkVtssdjWkAWsBUW9L078vqdSVdde37vvfjyOufE3OhdCzoEPBkkKpyJWnrSj3UcuLor5aXqPbU4eLqcrzVhNxcQ34Jq4fk0KkZKT4YH7G9McuG/GC7s7ZHNcucdszRJMV5gr/Jw+eH5L7wsgqQPz8/P/gkYaqHml/7rPgguD7PD41aoWbUci1HO8/zU6ikPRWd+o8cS97kHLOk5/mh3kLr9YGhdO+GewjXMDRxh6jd5MreTnVl19n9mR46v0+lakSth6whS1KeHGdSWl/SLQeCRkRmc3t6b3GUTAB6CI7mFZdBpgwqnAU9dN6bUx+gtjSov7r6JT0kvVw32TZ0RQ/94JWu34AjGuiu9uRaW4mmjBSNKbftoVCn/Z/78tGrURUorPpEyi091J/TC4L3HZT39MKaOjS9+eYa8kss6yGrLuVqVjuqnQlsqVB34IQ/V0Z7mZmRk0naav51I67z5fMy41LWp6wimOmhPlZBfkgtVfARMGDlcCEbHqFYPXRrHZYrh6kDbRatyeSyKcpoheg/Qn6sh0znUSejOkAE7cmTHOshb6vBGIZrWVUfeslVqY4drWWRHgLtlKYZx0LVVNyBD6jWGeeH9LUG12yph7rRxRNsogI5eYz4QwvpxEfEDKiKSs4CFJdSzrs7WRnOw3g+wBkXh/M1PdSsXs9ctbzyJXYVWHx/1Q58Hju6HKrqapIfQr3AJq3fiipaJsoM0ZIeMmrqslWThD7iLoDzQ2gb8PU15HOGZVg9FM3my7QtAqo7oj013FWj+kX/o/nuZqQMxq5zOnkyWnX/rFD6teeHdAdHn37MPNF7ps254IXPD+GNVdDiwQIZ55is8F6TQ2bJaXUc7X8qgXZdskvDZTOoD3vRMH9jak/FfHLlRLFO7TZcvLFot9iM9DzMtOqfp9a321G4LYbiN9z7TAzofh1swz+Z5lU/qI3EzWyfN53ND4mGq4eNrTFUawLVF2JMGM437z57LuefUa3poUG4cdoLDZ7ZsMzzQ1A011bou8yEBkOFtj/xiJ/lpSTHs+S9piKL7yMw/WhPg4bQzY4xbVJbw+qw/VHeD+oh5YdmU/O9NeRjRiMarr+wDHWNzWoFEhGMHJyFqRzNL+JtrNE30nntb9E+WGbwqh/8OUX0fT0EhrBPuP6j3N9u0HYl77uLiP1ikB9Czw/ds2Xgm95ZzC5rrcTAu42ebsreLVHQW1Ej3VVqCk+WcPSzHTdnKCDixrYwX7jgAhMtl5VkIicieARBNmGaH/ILaaSHwqzRV/NDOorE/TebidAbVFQGlpK/uzIjrE/McojCdPH/6qYtHoONsqt/bmylh87/hZLwDGGjlTh/Xq036Lp3plYtOf0mrH/ymaKw6yWd62BSf0p02iDrtlmCOQzSWj9H3l3sXVgOocYxU1+24gv5IeWEYqX9+hryMQP/LOAsMRj3U6rpQu3NJgTjSvudS9NdzVoRrYPtziAXIWpvnvwv1EOEEPL/yofak5A/Av0z4t95XkYIIYQQ8u+GeogQQgghb4d6iBBCCCFvh3qIEEIIIW+HeogQQgghb4d6iBBCCCFvh3qIEEIIIW+HeogQQgghb4d6iBBCCCFvh3qIEEIIIW/nsR7qr1hprLyZ+HpVEHxz0rQC/evwrS4/d9495F+Vdr5xRbySUb6EyL6oSryRybdYvhup/9q+FRjzrby/ZcGMrh3L2HfMocpHRY4HUBdkXpvU3xkGXnp0pxsrRvRF6lfkybImL/SR1w5fO6Vf0ObeQ2RNh98kKRsOfY8QQsiUv6yH6r/j6yeFRXFxOV6G5bdg2ENZKj/HgQL2z0wPlXS+9u58y+L5Ntrz31gOpeHr+/KiwoMdw0G+/TSM2aL3vWP6rbpQPwxfSijfX2nfOBj26LasG3S7txO9C9TdNNR3xpeVHrKlXz+u6nVhxf4uyf6iyvM98xRDhBDyGQ/0kF7H4xD+TK9MdvZf1kM1vPsXTYs3JJvvB/GsvVzaCKv6o3+X84qWNK3XeiR6wfc8zt6uXGuh3gT/NvWhfrCawGfjFvJDdhBQNyZyoRYZj6cezqgQVErK3rS9g0dOqsCSTsW89debx0Jx311zKYoIIeQ2fyY/ND1iCIOYCfio+qXS8EnDoLF7SpNkSWgHE75LupQPEir10LCrofEBi1QLY+JTl6jdN/SQE17GvrAPM42ydtbjR/ISVONTyJ+RL6kyryHBR3c/q3rIXNuL8MePJYmM354PcWR25D0VXaH2ll4XT8oIIeQJf+e8rKRt2/Y9z2PvJU4eL/Q6ROrcg/0lqK4kraJC0eEj03VYo/RBKjV21uuPvG/7vhbVJtHPyoN1PTTDdgNrHVn/nerHWlA9JqOzNQt66DJv6JrmrvYRPMTznfMy3bb+8JAxnnAzqOpDqU8IIWSdr+ihlPY9Z5yp8Wtz3fOmIh8dhZw6okSxfxa/wdOq/Uagh65gNso5naeC+MnoSA8FTzuXlHJO+RBpolTavVEjen5IPJQjjuPGTfN8lh+a0w1e0nZ6x6kA41G6hlMNeC/GPs3e1YpL6EA91Ac3MMZ11/TppZt66LwxeORLuIz/up9HiqENhTDzQ4QQ8oRneqhFMBu82q82LolHIZoGGBZfQ1B0ABLersPWan4IdCP8vj0ZHQfQ/ns9GFOh9aekPWfZ0NWoduQqQX3jt0uhHvKrAR/poWGh5okm30pZjHx+qIX/b+uh/jh12EmbioyewL75/JCsdeSTi8CDyau51EOEEPIxz56n3uWfo//oWIOFhv6DmOtfcfZH7p9hpkk/QAGPKkx95tLHeshXp74/csrlqsPrO/HQrCkzkln2EWN3nc8iDOMuOrAKtY42b1BoLxF4yEr1C+dl/bY1PRR6afuilj+Sty1t8/F5GXS8xafrTnGddpXPxI+58cCMEELu8u3nh8STMv7MKNInBeQ5bAlBsil+oNTpIRwzAtkWEOkhFQbdTv3oeqiF1FSOnIurXmoCF3V1NEXXVbMuP79jOy6Td2Hlsqa4lOhzeDHqE84PibsW9JA/rzSqxd+lShgKbV/I+Pmhy69hC6Zc6URgBuaHCCHkGb/wPPV5YmPFkL9IhwMVtKx68le0b2QIE5v4cX4oKkN+q6sHQbD1qj/nEdxc66iF9CM0e0bzkR4Cki2SakNaH//f9ZC8aaqH7Oj03oQu2QQxUvbPn6f2E+Rn8ixcM0HKR1nUQ/oIkhBCyJjv6qEW3l2cB7cNHimJIrh8ZNjeIf73MNuNQBA9TiLVFwipR33Se6Waqw4XHK8vZAz95LwMtEBVddsQi+dlMVAPRT26e14Gc3H2FnEcGXXf+plzSdFF+cP0eGukhy4Pzs6R42e3TLt09aEeEg9m8fSMEELmPNFD18osHjmBB08wHgV6yOeA8CVNcrloZS4cJDFgSJmEulphbs+Bj+/RD9O6PIM/n7mdH4r6NVJLgbVsziWsPLym/iJzU/EAiYurFY0RQP1OXYGOnm2770tVnEJdswnBvZIfkrNDP6Jka/9RF0B/03qI+SFCCPk6fJ8rIYQQQt4O9RAhhBBC3g71ECGEEELeDvUQIYQQQt4O9RAhhBBC3g71ECGEEELeDvUQIYQQQt4O9RAhhBBC3g71ECGEEELeDvUQIYQQQt4O9RAhhBBC3g71ECGEEELeDvUQIYQQQt7O/wA9tmfQ2mDOqgAAAABJRU5ErkJggg==" alt="" />if (verifyWeixinNotify(map)) {
//订单处理
response.getWriter().write(PayCommonUtil.setXML("SUCCESS", "OK")); // 告诉微信服务器,我收到信息了,不要在调用回调action了
}
}
public boolean verifyWeixinNotify(Map<Object, Object> map) {SortedMap<String, Object> parameterMap = new TreeMap<String, Object>();String sign = (String) map.get("sign");for (Object keyValue : map.keySet()) {if(!keyValue.toString().equals("sign")){parameterMap.put(keyValue.toString(), map.get(keyValue));}}String createSign = PayCommonUtil.createSign("UTF-8", parameterMap);if(createSign.equals(sign)){return true;}else{return false;}}

到此通知也说完了,接下的一篇博文来我们说说退款接口,今天就不写了,下班了,明天再接着说

java微信app支付-支付结果通用通知相关推荐

  1. Java微信扫码支付

    Java微信扫码支付 以下内容是基于模式二开发 在开发之前需要先到微信支付官网注册账号,并获取到以下信息 appid:wx1137939101111111公众账号id mch_id:143811111 ...

  2. JAVA微信APP支付接口整合

    2019独角兽企业重金招聘Python工程师标准>>> 上次我们看到了支付宝的APP支付工具,那么这次就来封装封装微信的APP支付;如果已经清楚了支付宝的支付流程,那么微信支付也和它 ...

  3. Java微信APP支付-申请退款

    前面已经讲过微信APP支付的统一下单.支付结果通知的接口开发,现在我们讲述一下申请退款的流程开发. 官方的API地址:https://pay.weixin.qq.com/wiki/doc/api/ap ...

  4. JAVA微信扫码支付及微信App支付开发(模式二)完整功能实现

    一,准备工作 事前申请一个商家版的微信公众号(目前微信支付只有商家版公众号可开通),然后开通微信支付功能,并做相应的配置. 申请开通微信公众号和开通微信支付需要等待审核,一般都5个工作日左右.开通成功 ...

  5. JAVA微信扫码支付模式二功能实现完整例子

    概述 本例子实现微信扫码支付模式二的支付功能,应用场景是,web网站微信扫码支付.实现从点击付费按钮.到弹出二维码.到用户用手机微信扫码支付.到手机上用户付费成功.web网页再自动调整到支付成功后的页 ...

  6. java微信公众号支付开发平台_Java微信公众平台开发之公众号支付(微信内H5调起支付)...

    官方文档 准备工作:已通过微信认证的公众号,必须通过ICP备案域名(否则会报支付失败) 借鉴了很多大神的文章,在此先谢过了 整个支付流程,看懂就很好写了 一.设置支付目录 在微信公众平台设置您的公众号 ...

  7. Java微信小程序支付篇

    在做完一个仿美团的应用,我将其中涉及到的一些技术点进行总结和整理,当下次遇到类似的问题就能省下不少时间,避免踩坑. 一.微信小程序支付的使用 微信支付有官方提供的SDK,但要自己处理的东西比较多.我使 ...

  8. 【微信】Java 微信扫码支付(模式二)

    一.前言 今天是一个有意义的日子,八月十五中秋节. 在这个这么有意义的日子里,小编写下这篇博客,自己的记忆肯定非常深,哈哈哈,先自嘲一下. 记得小编的前一篇关于微信的博客中提到了,微信是一种生活方式, ...

  9. 随手记录JAVA微信扫码支付模式二功能

    概述 本例子实现微信扫码支付模式二的支付功能,应用场景是,web网站微信扫码支付.实现从点击付费按钮.到弹出二维码.到用户用手机微信扫码支付.到手机上用户付费成功.web网页再自动调整到支付成功后的页 ...

最新文章

  1. oracle归档日志是否启用,oracle归档日志满了,导致无法启动 ORA-03113
  2. 干货!我的计算机网络怎么考了 100 分的?
  3. 基本算法学习(一)之希尔排序(JS)
  4. hdu 4524 郑厂长系列故事——逃离迷宫
  5. java issynthetic_java.lang.reflect.Constructor.isSynthetic()方法示例
  6. WinCE驱动的动态卸载
  7. 图像特征提取与描述_角点特征02:SIFT算法+SURF算法
  8. 设计原则:不要为了复用而使用继承
  9. PsotgreSQL
  10. proxychains 一个好用的终端用代理拦截器
  11. 湖州机器人上课时间_【倒计时5天】燃到炸!湖州吾悦广场10月30日开业狂欢指南,请收下...
  12. 谷歌浏览器整个网页截图方法
  13. 还在花钱买课呢?教你白嫖开放注册图书馆价值上万元的学习资源
  14. Rufus --工具制作镜像
  15. java基于springboot校园音乐点歌网站平台ssm
  16. ⻦哥的LINUX私房菜 学习
  17. 用PS怎么画虚线圆?
  18. 知道ip获取计算机密码,知道iP地址怎么获取密码
  19. GUI 图片显示(SDL 多媒体开发库)——基于 rt-smart 微内核操作系统
  20. 百度网盘隐藏空间显示服务器,百度网盘隐藏空间在哪怎么打开?百度网盘隐藏空间这样开...

热门文章

  1. R语言入门第二集 实验一:R 语言数据结构、数据导入与数据处理
  2. linux红帽分区安装教程,RedHat Linux 9.0 硬盘安装教程手把手全部详细教程
  3. 《HTML5 Canvas学习笔记(10)》数钱数到手抽筋
  4. 如何升级Jenkins版本
  5. python gui 三维 pyqt5_【PyQt5-Qt Designer】在GUI中使用pyqtgraph绘图库
  6. Android4学习-高级编程读书笔记开始篇
  7. 【SQL语法基础】SQL99是如何使用连接的,与SQL92的区别是什么?
  8. 三维测量—DLP4500投影条纹图案步骤记录
  9. mhw跳过结尾_怪物猎人世界怎么刷珠子快 MHW刷珠子炼金SL大法
  10. iptv和宽带双线合一