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. myeclipse按.自动提示方法
  2. Shell 文本操作利器收集
  3. java json转map
  4. SDOI2018:荣誉称号
  5. Android UI selector 例子 (drawable/color)
  6. vue 给取data值_web前端教程分享Vue相关面试题
  7. linux 内存管理 ppt,Linux内存管理 Memory Manager.ppt
  8. python基础自动化测试_Python自动化测试基础之HelloWorld
  9. 赫尔默特方差分量估计Python
  10. zk-snark 时延
  11. 【软件工程导论题型大总结】简答题总结
  12. 大华工业相机SDK【QT+ C++】vs2015配置环境
  13. BAT批处理文件,脚本时间值%time:~0,2%%time:~3,2%%time:~6,2%的用法
  14. Lora sx1278+stm32(ADC录音)+SPPEX音频压缩 数字对讲机
  15. win10终端中如何切换磁盘
  16. alios下载_AliOS Studio开源工具|AliOS Cloud App集成开发环境(AliOS Studio)下载 v1.2.1 官方Windows版 - 比克尔下载...
  17. EFR32晶体校准指南
  18. RNA m6A修饰问题汇总(第二期)
  19. centos路由查看命令_centos查看ip
  20. before和after怎么区分_before和after区别

热门文章

  1. 【LTE】Qualcomm LTE Packets log 分析(一)LTE Access Stratum Log Analysis 1_PSS 2_RACH
  2. 【电脑技巧】如何使用dxdiag查看电脑信息(Win11)
  3. 【北京-后厂村】大厂云集,精心筛选了19家公司推荐给你
  4. Alarm机制-学习记录
  5. WinRAR的 安装与下载
  6. 解决 wmware windows虚拟机无法使用U盘,提示“跟这台电脑连接的一个usb设备运行不正常 windows无法识别它”的问题!
  7. 计算机安装系统作用是什么,告诉你重装系统对电脑有什么影响
  8. 关于溢出标志OF和进/借位标志CF的判断
  9. 综合评价的基本理论和数据预处理
  10. VMware ESXi支持配置最大值