2019独角兽企业重金招聘Python工程师标准>>>

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

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

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

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

[java] view plain copy

  1. InputStream inStream = request.getInputStream();
  2. ByteArrayOutputStream outSteam = new ByteArrayOutputStream();
  3. byte[] buffer = new byte[1024];
  4. int len = 0;
  5. while ((len = inStream.read(buffer)) != -1) {
  6. outSteam.write(buffer, 0, len);
  7. }
  8. System.out.println("~~~~~~~~~~~~~~~~付款成功~~~~~~~~~");
  9. outSteam.close();
  10. inStream.close();
  11. String result = new String(outSteam.toByteArray(), "utf-8");// 获取微信调用我们notify_url的返回信息
  12. Map<Object, Object> map = PayCommonUtil.doXMLParse(result);
  13. if (map.get("result_code").toString().equalsIgnoreCase("SUCCESS")) {
  14. t;pre name="code" class="java">                                //验证签名,在网上看到很多人都不去验证签名,这种做法,一般情况下不会有问题,但是。。。。。,多的我就不说了
  15. <img src="https://img-blog.csdnimg.cn/2022010705145735250.png" alt="" />
  16. if (verifyWeixinNotify(map)) {
  17. //订单处理
  18. response.getWriter().write(PayCommonUtil.setXML("SUCCESS", "OK")); // 告诉微信服务器,我收到信息了,不要在调用回调action了
  19. }
  20. }
  21. bsp;

[java] view plain copy

  1. public boolean verifyWeixinNotify(Map<Object, Object> map) {
  2. SortedMap<String, Object> parameterMap = new TreeMap<String, Object>();
  3. String sign = (String) map.get("sign");
  4. for (Object keyValue : map.keySet()) {
  5. if(!keyValue.toString().equals("sign")){
  6. parameterMap.put(keyValue.toString(), map.get(keyValue));
  7. }
  8. }
  9. String createSign = PayCommonUtil.createSign("UTF-8", parameterMap);
  10. if(createSign.equals(sign)){
  11. return true;
  12. }else{
  13. return false;
  14. }
  15. }
 

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

转载于:https://my.oschina.net/u/2380961/blog/743141

微信支付-接收返回通知结果相关推荐

  1. 微信支付通知 php,微信支付开发交易通知实例

    一.交易通知 用户在成功完成支付后,微信后台通知(POST)商户服务器(notify_url)支付结果.商户可以使用notify_url的通知结果进行个性化页面的展示. 对后台通知交互时,如果微信收到 ...

  2. 微信支付 php编程,PHP编程:微信支付开发交易通知实例

    <PHP编程:微信支付开发交易通知实例>要点: 本文介绍了PHP编程:微信支付开发交易通知实例,希望对您有用.如果有疑问,可以联系我们. 一.交易通知 用户在成功完成支付后,微信后台通知( ...

  3. 微信支付退款结果通知解密 base64_decode / md5 / AES

    转自 https://jishu8.net/tag/wxpay 微信支付退款结果通知解密步骤如下: 第一步,对商户密钥key进行MD5加密,得到32位小写加密串StringA key设置路径:微信商户 ...

  4. php苹果app微信支付 无法返回,微信支付,php_微信支付APP返回-1怎么解决,微信支付,php,移动app - phpStudy...

    微信支付APP返回-1怎么解决 开发文档上面-1"可能的原因:签名错误.未注册APPID.项目设置APPID不正确.注册的APPID与设置的不匹配.其他异常等.",但是我检查过没问 ...

  5. 微信支付退款结果通知(回调) AES-256-ECB解密 代码

    微信支付中的退款后,微信那边需要回调.恶心的是需要我们解密. 给大家我的代码看看. 每个类都有一个主方法供大家测试用. Base64Util package com.xz.app.util;impor ...

  6. 微信支付回调重复通知,正确的响应

    好多人遇到这个问题,微信异步请求notify_url,我们接收到通知了,并且给微信返回下面的xml了,但是微信还是不停的给我们发通知.处理完业务后,新增如下代码: 微信文档:https://pay.w ...

  7. java微信支付异步通知_Java中微信支付退款异步通知解码

    微信所有的支付结果都是加密处理的,他和订单支付成功的异步通知不一样. 他的基本返回是: SUCCESS 我们需要对req_info解码才能看到退款的明文 解码后会得到明文: 解密步骤如下: (1)对加 ...

  8. android微信支付后返回第三方页面,微信支付后怎么返回指定界面 ios开发

    满意答案 timerise 2015.09.07 采纳率:40%    等级:10 已帮助:671人 在以下两个方法中实现(AppDelegate) //弃用的返回 - (BOOL)applicati ...

  9. 微信公众号支付--3--接收微信支付异步通知

    在JSAPI支付官方文档https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6里面,微信团队明确指出,在微信浏 ...

最新文章

  1. 创建DLL动态链接库——声明导出法
  2. 《父亲家书》选:给初为人师的儿子
  3. 后缀自动机 ---- P3804 【模板】后缀自动机(求每个等价类最长串的出现次数)
  4. Java的迭代器—— Iterator
  5. Nginx动静分离-tomcat
  6. 约瑟夫环问题之猴子选大王
  7. 自动点名系统c语言,用C语言编写一个随机点名系统
  8. MD文件图片base64自动编码
  9. 4918字,详解商品系统的存储架构设计
  10. 形容女人的词语大全(坏与好)
  11. SASS用法指南(转)
  12. 微信小程序开发的坑---tabBar
  13. 谁负责本单位的各部门计算机,关于加强计算机校园网管理的若干认识
  14. Java基础之CAS算法
  15. 特斯拉灯光秀指南「GitHub 热点速览 v.22.01」
  16. Barsetto百胜图BAV02自助咖啡机——创新咖啡体验
  17. Eclipse+Java+Swing实现电子商城
  18. android 清除通知栏,android startForeground去除通知栏
  19. 三剑客----awk
  20. java编写连接数据库代码

热门文章

  1. 使用sublime text 执行 tcl 出错
  2. 模块化、层次化网络监控平台
  3. 在CentOS_Linux版虚拟机中安装VMTools工具
  4. 分享两篇Google Map API的介绍
  5. C++编程易范的错误
  6. Spring Boot 动态数据源(多数据源自己主动切换)
  7. 和lock一起学beego 博客系统开发为例(五)
  8. 网络工作室暑假后第二次培训资料(SQLServer存储过程和ADO.NET访问存储过程)整理(一)...
  9. 政府和银行运维的差异
  10. nbalive05 editor 正式版