java实现支付宝退款功能

  

最近完成的差不多的项目突然需要加退款的流程需求了,所以来小小的实现以下。

  

其实对比其他的支付和退款来说,支付宝算是特别专业,也是特别简单的一个了。

  

<强>一、引入支付宝SDK

  

在这里说一下,其实每种支付都会有一个官方带的SDK,我们可以把这个SDK引入到我们的项目中去,然后我们就可以调用里面的方法和对象,给里面传值,进行我们相应的请求的访问和介入只,,,

  

癹ava实现支付宝退款功能"

  

首先引入如上图所示的jar包,然后我们就算是成功了一半了。

  

下载地址

  

然后我们需要把这个jar包引入到所需要的地方,这里不做过多的描述。

  

<强>二,找到需要的资源

  

做支付,最最基本的还是各种appid,还有公钥,私钥,以及请求的网关等等内容,支付宝需要的包括:

  
      <李> APP_ID:开放平台账号申请的appid李   <李> requestUrl:实现功能所需要请求的网关地址李   <李> APP_PRIVATE_KEY:用户自己生成的私钥李   <李> ALIPAY_PUBLIC_KEY:支付宝生成的公钥李   <李>字符集:我们需要的字符编码,一般为utf - 8的李   
  

<强>三、编写请求代码,

        进口org.slf4j.Logger;   进口org.slf4j.LoggerFactory;      进口com.alipay.api.AlipayClient;   进口com.alipay.api.DefaultAlipayClient;   进口com.alipay.api.domain.AlipayTradeRefundModel;   进口com.alipay.api.request.AlipayTradeRefundRequest;   进口com.alipay.api.response.AlipayTradeRefundResponse;      公开课AlipayUtil {      私有静态最终日志记录器=LoggerFactory.getLogger (AlipayUtil.class);   私有静态字符串APP_ID=?34789720984098”;//支付宝退款请求的网关   私有静态字符串requestUrl=" https://openapi.alipay.com/gateway.do ";//用户自己生成的私钥   私有静态字符串APP_PRIVATE_KEY="随机字符,见文档”;//支付宝公钥   私有静态字符串ALIPAY_PUBLIC_KEY="从支付宝中获得”;//编码级别   私有静态字符串CHARSET=皍tf - 8”;      公共静态字符串refundOrder (AliRefundTO AliRefundTO) {   System.out.println(“开始调用支付宝加密* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *”);//实例化客户端   AlipayClient AlipayClient=new DefaultAlipayClient (requestUrl、APP_ID APP_PRIVATE_KEY, json,字符集,ALIPAY_PUBLIC_KEY,“RSA2”);//SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为SDK的模型入参方式(模型和biz_content同时存在的情况下取biz_content)。   AlipayTradeRefundModel refundModel=new AlipayTradeRefundModel ();   refundModel.setTradeNo (aliRefundTO.getTrade_no ());   refundModel.setRefundAmount (aliRefundTO.getRefund_amount ());   refundModel.setRefundReason(“商品退款”);//实例化具体API对应的请求类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay   AlipayTradeRefundRequest请求=new AlipayTradeRefundRequest ();   request.setBizModel (refundModel);   尝试{   AlipayTradeRefundResponse响应=alipayClient.execute(请求);   System.out.println (response.getMsg () +“\ n”);   System.out.println (response.getBody ());   }捕捉(异常e) {   e.printStackTrace ();   LOGGER.error(“支付宝退款错误!”,e.getMessage ());   }   返回";   }      公共静态void main (String[]参数){   AliRefundTO AliRefundTO=new AliRefundTO ();   aliRefundTO.setRefund_amount (" 0.01 ");   aliRefundTO.setTrade_no (“2018050421001004310518105890”);   字符串res=refundOrder (aliRefundTO);   }   }   之前      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

java实现支付宝退款功能