写在前面:看懂单笔交易关闭,首先得看完即时到账支付文章

1、即时到账退款接口

Controller层代码

 /*** @Description: 支付宝退款* @author lc* @param orderNo 订单号* @param refundAmount 退款金额* @param refundReason 退款原因* @return*/@RequestMapping("/alipayTradeRefund")public void alipayTradeRefund() {try {String orderNo = getString_UrlDecode_UTF8("orderNo");String refundAmount = getString_UrlDecode_UTF8("refundAmount");String refundReason = getString_UrlDecode_UTF8("refundReason");String mId = getString_UrlDecode_UTF8("mId");String refundType = getString_UrlDecode_UTF8("refundType");String channel = getString_UrlDecode_UTF8("channel");String source = getString_UrlDecode_UTF8("source");orderNo = "1510795680802";refundAmount = "0.1";refundReason = "协商退款";mId = "1";String timestamp = DateUtil.format(new Date()); // 把请求参数打包成数组Map<String, String> sParaTemp = new HashMap<String, String>();sParaTemp.put("service", "refund_fastpay_by_platform_nopwd");
//          sParaTemp.put("out_trade_no", orderNo);sParaTemp.put("partner", AlipayConfigUtil.partner);  sParaTemp.put("_input_charset", AlipayConfigUtil.input_charset);  sParaTemp.put("notify_url", AlipayConfigUtil.refund_notify_url);// 异步通知地址 sParaTemp.put("dback_notify_url", AlipayConfigUtil.dback_notify_url);// 充值通知地址sParaTemp.put("refund_date", timestamp);//退款请求时间  sParaTemp.put("refund_reason", refundReason);//退款原因
//              sParaTemp.put("trade_no", trade_no);//退款批次号:回调的时候根据此字段修改退款申请的状态  sParaTemp.put("batch_no",DateUtil.currentTime());sParaTemp.put("batch_num", "1");//退款总笔数 // 支付宝交易号 ^金额 ^协商退款String detail_data = "2018012521001004290271183144" + "^" + refundAmount + "^" + refundReason;  sParaTemp.put("detail_data", detail_data);//单笔数据集  // 建立请求String sHtmlText = AlipaySubmit.buildRequest("", "", sParaTemp);System.out.println(sHtmlText);} catch (Exception e) { logger.error("alipayTradeRefund:支付宝退款异常!" + e.getMessage());e.printStackTrace();}}

2、退款返回参数说明

T:查询成功

F:查询失败

p:处理中

3、异步通知

/** pc支付宝和微信退款异步通知* @param payWayCode* @param httpServletRequest* @param httpServletResponse* @throws Exception*/@RequestMapping("/refundNotify/{payWayCode}")public void refundNotify(@PathVariable("payWayCode")String payWayCode , HttpServletRequest httpServletRequest , HttpServletResponse httpServletResponse) throws Exception {String encoding ="";Map<String , String> notifyMap = new HashMap<String , String >();Map<String, String[]> requestParams = httpServletRequest.getParameterMap();notifyMap = this.parseNotifyMsg(requestParams);String str = "fail";// 签名if(AlipayNotify.verify(resultMap) {        logger.debug("支付宝签名成功返回结果:" + resultMap);// 异步通知业务操作// 回馈信息str = "success";}else {logger.debug("签名失败返回结果:" + notifyMap);}httpServletResponse.getWriter().print(str);
}
 /*** @Description: 解析支付宝发来的请求* @author lc* @param requestParams* @param    */public static Map<String , String> parseNotifyMsg(Map<String, String[]> requestParams){Map<String,String> params = new HashMap<String,String>();for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {String name = (String) iter.next();String[] values = requestParams.get(name);String valueStr = "";for (int i = 0; i < values.length; i++) {valueStr = (i == values.length - 1) ? valueStr + values[i]: valueStr + values[i] + ",";}params.put(name, valueStr);}return params;}

注意:太懒了,没有写请求jsp,直接在请求地址写Controller层地址查询了。

吊袜带

java对接支付宝(四)-即时到账无秘退款相关推荐

  1. java 支付宝 第三方即时到账支付

    java 支付宝 第三方即时到账支付 alipay 的几个内核功能文件: =============================================================== ...

  2. 支付宝接口 - 即时到账交易接口 对接 整理 1

    支付宝官方开放平台接口说明: https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.Gp6DiG&treeId=62&a ...

  3. 聚合支付PC端-支付宝(即时到账交易接口)

    聚合支付 第三章 支付宝(即时到账交易接口) 文章目录 聚合支付 前言 一.开发前准备 二.java实现 1.pom中引入相关jar包 2.支付相关工具类 3.支付相关参数 4.支付实现 5.查询实现 ...

  4. java 对接支付宝支付

    2019独角兽企业重金招聘Python工程师标准>>> 对接支付宝支付的前提: 1,商户开通支付能力 登录蚂蚁金服 开放平台:https://open.alipay.com/plat ...

  5. JAVA对接支付宝支付(超详细,一看就懂)

    Java对接支付宝支付 更多内容 冷文博客: 传送门 引入 为什么要发这篇帖子呢?原因很简单,就是因为在一个稍稍正规一点的应用上都会有支付这个环节,我们日常的在线支付如今包括支付宝,微信钱包,QQ钱包 ...

  6. java对接支付宝支付

    java对接支付宝支付演示 现在有不少的项目都需要对接支付,这里主要是进行讲解对接支付宝H5支付 废话不多说 上代码 引入支付宝官方的sdk <!-- https://mvnrepository ...

  7. 关于JAVA对接支付宝开发文档错误总结

    如果在对接支付宝官方文档时出现该错误,解决的方法是:检查是否与支付宝进行签约,如果签约后出现以下错误: 解决方法是检查支付宝的公钥与私钥是否与商户id对应,对于java对接支付宝,生成的密钥密钥长度为 ...

  8. java对接支付宝实现支付功能

    ** java对接支付宝实现支付功能 ** Controller /*** 支付功能* @return*/ @RequestMapping("/test") public Mode ...

  9. java 支付宝 第三方即时到账支付 接口

    alipay 的几个内核功能文件: AlipayFunction.Java package com.test.util.alipay;import java.io.FileWriter; import ...

最新文章

  1. 微软开源 Quantum Katas,领先的量子编程解决方案
  2. 在外壳中获取程序执行时间
  3. python实现文件下载-Python实现HTTP协议下的文件下载方法总结
  4. 源路由 就是指定数据传输经过这个路由服务器
  5. UVA 10917 Walk Through the Forest
  6. android图像处理系列之五-- 给图片添加边框(中)
  7. 嵌套的json ajax,通过jquery或javascript通过AJAX读取嵌套的JSON并输出到表中
  8. PNG免扣苹果IPHONE手机模型样机,让一切简单一点!
  9. 每天一点正则表达式复习(一)
  10. eeprom和编程器固件 k2_斐讯K1K2新版固件v22.4.xx.xx简单刷机教程
  11. 影响因子在10的计算机杂志什么水平,国人无人发表的TOP期刊,影响因子翻倍,5分变10分,不收版面费!...
  12. Wintel机器代码反逆向(C/C++反逆向破解)
  13. 苹果10月23日或发布iPad mini
  14. 支付宝付款弹窗 被浏览器拦截
  15. Overture五线谱打曲谱用得上的排版技巧
  16. 谷歌AI中国中心成立,人工智能势不可挡?
  17. 我的偶像王坚博士,一位执着的学者!
  18. 计算数组中某个元素的所在位置
  19. 在华为工作的优点和缺点
  20. cmd下获取指定进程名的pid号,并通过taskkill结束该进程

热门文章

  1. selenium学习——问卷星(可控比例)
  2. 三元一次方程组步骤_《三元一次方程组及其解法》学习要点
  3. 获取对话框当前cfont_获取对话框当前cfont_MFC设置对话框、字体对话框、颜色对话框(转)...
  4. ABAP SY-系统值
  5. 詹姆斯高斯林_Google / Oracle上的高斯林
  6. 阿龙的下拉菜单demo
  7. 关于零输入响应和零状态响应的想法
  8. 程序员实习过程中应该掌握的问问题技巧
  9. 腾讯音乐知识图谱搜索实践
  10. 错误:The Operation Couldn't be Completed