1.配置申请地址 https://open.alipay.com/platform/home.html。开发对接中需要申请以下参数,下列参数务必严格保密

//支付宝网关地址:https://openapi.alipay.com/gateway.do
//支付宝申请的APPID
//商户应用私钥(与支付宝数据交互时,保证数据安全,防止数据被篡改)
//支付宝公钥(与支付宝数据交互时,保证数据安全,防止数据被篡改)
//签名算法类型(RSA2或者RSA,支付宝推荐使用RSA2)
//编码格式(utf-8,gb2312,gbk)

2.导入支付宝需要的依赖,此为Maven版

<dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>4.9.124.ALL</version>
</dependency>

3.重要代码

   //网关地址,APPID,商户应用私钥,数据格式,编码格式,支付宝公钥,签名算法类型AlipayClient alipayClient = new DefaultAlipayClient(aliPayGateway,appID,rsa_private_key,format,charset,alipayPublicKey,signType);     //请求对象,调用支付宝 不同接口,需使用不同对象AlipayTradeRefundRequest alipayTradeCloseRequest =new AlipayTradeRefundRequest();    //请求参数集合对象,除了公共参数之外,所有参数都可通过此对象传递AlipayTradeRefundModel alipayTradeRefundModel =new AlipayTradeRefundModel();   //退款的订单号,传入生成支付订单时的订单号即可alipayTradeRefundModel.setOutTradeNo(outTradeNo);     //退款金额alipayTradeRefundModel.setRefundAmount(refundAmount);    //退款的原因alipayTradeRefundModel.setRefundReason(refundReason);alipayTradeCloseRequest.setBizModel(alipayTradeRefundModel);AlipayTradeRefundResponse refundResponse= null;try {refundResponse = alipayClient.execute(alipayTradeCloseRequest);} catch (AlipayApiException e) {return ReturnUtils.returnVal(CommonConstants.appCode.UNKNOWNERROR.get(),refundResponse.getMsg());}    //退款的执行流程与支付不太一样,支付时成功之后,需要通知回调接口,而退款则不需要,只需判断响应参数 refundResponse.getFundChange().equals("Y") 判断是否发生了资金变化, equals("Y")表示资金发生了变化,退款成功if (refundResponse.getFundChange().equals("Y")) {return ReturnUtils.returnVal(CommonConstants.appCode.SUCCESS.get(),refundResponse.getMsg());}else {return ReturnUtils.returnVal(CommonConstants.appCode.UNKNOWNERROR.get(),refundResponse.getMsg());}

详细接口或参数说明,以支付宝官方文档为准, 支付宝API网址(https://opendocs.alipay.com/apis)

Java对接支付宝退款功能相关推荐

  1. java退款功能的思路步骤_java实现支付宝退款功能

    java实现支付宝退款功能 发布时间:2020-09-09 03:19:03 来源:脚本之家 阅读:78 作者:王啸tr1912 最近完成的差不多的项目突然需要加退款的流程需求了,所以来小小的实现以下 ...

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

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

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

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

  4. C#.Net对接支付宝支付功能的介绍

    需求:我的平台是会员制的,会员分多级,每一级都需要收款功能,如下: 2015年对接支付宝支付功能时需要3个参数:alipay_id.alipay_key.seller_email,同一个平台申请帐号完 ...

  5. java对接支付宝支付

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

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

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

  7. java 支付宝退款_java实现支付宝退款功能

    最近完成的差不多的项目突然需要加退款的流程需求了,所以来小小的实现以下. 其实对比其他的支付和退款来说,支付宝算是特别专业,也是特别简单的一个了. 一.引入支付宝SDK 在这里说一下,其实每种支付都会 ...

  8. JAVA对接支付宝,实现支付功能

    网站对接支付宝支付 沙盒开通 支付宝给我们提供了支付宝支付沙盒 供测试 注册沙盒可以自行 百度开通 这里不过多介绍 对接支付宝主要流程 我们在我们订单支付时给支付宝发送一个创建订单请求 在创建订单时创 ...

  9. java对接支付宝(四)-即时到账无秘退款

    写在前面:看懂单笔交易关闭,首先得看完即时到账支付文章 1.即时到账退款接口 Controller层代码 /*** @Description: 支付宝退款* @author lc* @param or ...

最新文章

  1. java为啥要捕捉异常_java – 为什么在捕获时使用IOexception而不是Exception?
  2. tls 禁用重协商_SSL/TLS高危不安全重新协商漏洞
  3. 秒杀多线程第十五篇 关键段,事件,互斥量,信号量的“遗弃”问题
  4. spring 的aop操作
  5. hadoop遇到的问题及处理
  6. iOS - UITableView reloadData滚动到顶部无效问题解决
  7. WC2013 糖果公园
  8. LoadRunner字符串编码转换函数:lr_convert_string_encoding
  9. location.href参数丢失
  10. 集成电路工艺专题复习
  11. 怎么把OFD文件转换成PDF文件?
  12. 扫雷——Windows上的经典小游戏
  13. leapftp,leapftp怎么上传文件
  14. matlab中zeros和ones函数使用方法
  15. 动态规划 - 买卖股票
  16. Jedis Connection Pool
  17. 便携软件制作入门教程及实例
  18. 使用GeoGebra绘制三角形的外接圆和内切圆
  19. Matlab计算波形的总谐波失真--THD(附完整代码)
  20. Matlab R2019b[破]安装教程

热门文章

  1. hadoop的单机版测试和集群节点的搭建
  2. UEFI开发与调试---edk2中的Module
  3. Android中DNS域名劫持问题-解决方案
  4. MySQL高级:索引优化之防止索引失效
  5. 功放限幅保护_更改限幅电路的功放清单
  6. 智能验证码 阿里云人机验证的使用(PHP)
  7. 笔记整理英语篇(二) - 日常词汇
  8. 基于uFUN开发板和扩展板的联网校准时钟
  9. 剪映怎么去水印,剪映怎么剪辑视频
  10. slf4j报错:SLF4J:Failed to load class org.slf4j.impl.StaticLoggerBinder.Defaulting to no-operat有效解决办法