退款java_java实现支付宝退款功能
最近完成的差不多的项目突然需要加退款的流程需求了,所以来小小的实现以下。
其实对比其他的支付和退款来说,支付宝算是特别专业,也是特别简单的一个了。
一、引入支付宝SDK
在这里说一下,其实每种支付都会有一个官方带的SDK,我们可以把这个sdk引入到我们的项目中去,然后我们就可以调用里面的方法和对象,给里面传值,进行我们相应的请求的访问和介入。
首先引入如上图所示的jar包,然后我们就算是成功了一半了。
下载地址
然后我们需要把这个jar包引入到所需要的地方,这里不做过多的描述。
二、找到需要的资源
做支付,最最基本的还是各种appid,还有公钥,私钥,以及请求的网关等等内容,支付宝需要的包括:
APP_ID:开放平台账号申请的appid
requestUrl:实现功能所需要请求的网关地址
APP_PRIVATE_KEY:用户自己生成的私钥
ALIPAY_PUBLIC_KEY:支付宝生成的公钥
CHARSET:我们需要的字符编码,一般为utf-8的
三、编写请求代码
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.AlipayTradeRefundModel;
import com.alipay.api.request.AlipayTradeRefundRequest;
import com.alipay.api.response.AlipayTradeRefundResponse;
public class AlipayUtil {
private static final Logger LOGGER = LoggerFactory.getLogger(AlipayUtil.class);
private static String APP_ID = "234789720984098";
//支付宝退款请求的网关
private static String requestUrl = "https://openapi.alipay.com/gateway.do";
//用户自己生成的私钥
private static String APP_PRIVATE_KEY = "随机字符,见文档";
//支付宝公钥
private static String ALIPAY_PUBLIC_KEY = "从支付宝中获得";
//编码级别
private static String CHARSET = "UTF-8";
public static String refundOrder(AliRefundTO aliRefundTO){
System.out.println("开始调用支付宝加密******************************************************");
//实例化客户端
AlipayClient alipayClient = new DefaultAlipayClient(requestUrl, APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
//SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
AlipayTradeRefundModel refundModel = new AlipayTradeRefundModel();
refundModel.setTradeNo(aliRefundTO.getTrade_no());
refundModel.setRefundAmount(aliRefundTO.getRefund_amount());
refundModel.setRefundReason("商品退款");
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
request.setBizModel(refundModel);
try{
AlipayTradeRefundResponse response = alipayClient.execute(request);
System.out.println(response.getMsg()+"\n");
System.out.println(response.getBody());
}catch(Exception e){
e.printStackTrace();
LOGGER.error("支付宝退款错误!",e.getMessage());
}
return "";
}
public static void main(String[] arg){
AliRefundTO aliRefundTO=new AliRefundTO();
aliRefundTO.setRefund_amount("0.01");
aliRefundTO.setTrade_no("2018050421001004310518105890");
String res=refundOrder(aliRefundTO);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
退款java_java实现支付宝退款功能相关推荐
- java 支付宝退款_java实现支付宝退款功能
最近完成的差不多的项目突然需要加退款的流程需求了,所以来小小的实现以下. 其实对比其他的支付和退款来说,支付宝算是特别专业,也是特别简单的一个了. 一.引入支付宝SDK 在这里说一下,其实每种支付都会 ...
- java 微信退款接口_java版微信和支付宝退款接口
本文实例为大家分享了java微信退款接口和支付宝退款接口的具体代码,供大家参考,具体内容如下 1.微信退款接口 相对来说我感觉微信的退款接口还是比较好调用的,直接发送httppost请求即可: /** ...
- java退款功能的思路步骤_java实现支付宝退款功能
java实现支付宝退款功能 发布时间:2020-09-09 03:19:03 来源:脚本之家 阅读:78 作者:王啸tr1912 最近完成的差不多的项目突然需要加退款的流程需求了,所以来小小的实现以下 ...
- UniApp + SpringBoot 实现接入支付宝支付功能和退款功能
一.支付宝开放平台设置 注册支付宝支付功能需要个体工商户或企业才可以!需要有营业执照才能去申请哦! 1.登录到控制台 进入支付宝开放平台 控制台 2.开发设置 3.产品绑定APP支付 如果没有绑定AP ...
- java 支付宝 退款_Java 支付宝支付,退款,单笔转账到支付宝账户(支付宝支付)
最近一直在接触第三方,刚接入完支付宝的API做一下总结,个人能力薄弱有不对的地方望指教. 做的是一个小型电商项目,所以会接入第三方的支付和登入功能, 第一次接入第三方撸了很多官方文档. 然后创建应用 ...
- 支付宝支付开发实践总结-Java-支付宝当面付-支付宝小程序-二维码生成-支付宝退款-APP调起支付宝支付
虽然目前相对较火的支付方式是微信支付,但是本人更喜欢支付宝支付,有积分拿,还可以部分提现免手续费,每月还有信用卡还款免手续费额度,捐步数,蚂蚁森林等等,扯远了,总之,对我来说,微信用于沟通,支付宝是支 ...
- 微信退款和支付宝退款接口调用(java版)
项目中需要使用到微信和支付宝的退款功能,在这两天研究了一下这两个平台的退款,有很多坑,在开发中需要留意 1.微信退款接口 相对来说我感觉微信的退款接口还是比较好调用的,直接发送httppost请求 ...
- JAVA 支付宝退款接口
2019独角兽企业重金招聘Python工程师标准>>> **构建表单参数 ** <input type="hidden" name="WIDbat ...
- java 支付宝退款、提现(单笔转账到支付宝账户接口)
支付宝退款 import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; import com.alipa ...
最新文章
- 【UML建模】UML图详细总结
- mysql 中修改对象_在MySQL中,创建一个数据库后,还可以对象其进行修改,不过这里的修改是指可以修改被创建数据库的相关参数,也可以修改数据库名。...
- Spring Boot下的Redis缓存实战
- MySQL的大小写问题
- 回溯时间是什么意思_《凡人修仙之仙界篇》分析时间法则的不同体现形式
- 多线程并发如何高效实现生产者/消费者?
- 饿了吗商品列表_仅仅一字之差,饿了么起诉饿了吗
- 努力的钻研深层次的【飞鸽传书】技术
- 编辑php程序推荐的软件,PHP程序员都爱用的开发工具推荐
- Druid 在小米公司部分技术实践
- dns代表计算机哪个术语,windows dns 术语解释
- matlab2010b无法启动,MATLAB2010b simulink 启动警告问题
- CSS度量单位px/pt/em/in/pc/mm/cm
- java ligerui_[Java教程]ligerUI
- 1007: A+B 输入输出练习VIII
- FCAA答题练习收集记录
- android 盈利模式
- bpmn不带网关的流程
- 芯片封装技术——Wire Bond与Flip Chip
- 基于unity+HTC VIVE的室内漫游交互(教你如何“无代码”VR交互)
热门文章
- CSDN博客如何添加量子恒道统计?
- 元宇宙创作者必备技能TouchDesigner
- 新手如何玩转自媒体!从零开始做自媒体,25种赚钱模式,教你如何空手套玩转自媒体
- 主键索引、唯一索引、普通索引、全文索引、组合索引的区别
- 【裂缝检测】文献阅读笔记
- 苹果审核reject理由大全(1): 兑换码、奖品是iphone
- python对共轭复数的定义_python怎么print出共轭复数
- 如何解决Protel 99SE添加库文件时出现“File is not recognized“
- 全面了解MAC OS X系统(以 Mac OS 9为例)
- 怎么在电脑上找到自己安装的软件的安装包