Java实现支付宝一个/批量退款、查询退款结果

4 篇文章 0 订阅
4 篇文章 0 订阅

本文主要是Java实现支付宝一个/批量退款、查询退款结果:

     /**
 * 支付宝退款接口
 * @author Mark
 * @param out_trade_no
 *            订单支付时传入的商户订单号,不能和支付宝交易号(trade_no)同时为空。
 * @param trade_no
 *            支付宝交易号
 * @param refund_amount
 *            需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数
 * @return 将提示信息返回
 */
public synchronized static String alipayRefundRequest(String out_trade_no, String trade_no, double refund_amount) {
    String returnStr = null;
    String out_request_no = "BZ35581R88001";// 随机数 不是全额退款,部分退款使用该参数
    try {
        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",
                PropertiesUtils.getProperty("ALIPAY_APPID"), PropertiesUtils.getProperty("ALIPAY_PRAVITEKEY"),
                "json", "GBK", PropertiesUtils.getProperty("ALIPAY_PUBLICKEY"), "RSA2");
        AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
        request.setBizContent("{" 
                + "\"out_trade_no\":\""+out_trade_no+"\"," 
                + "\"trade_no\":\""+trade_no+"\"," 
                + "\"refund_amount\":\""+refund_amount+"\"," 
                +"\"out_request_no\":\""+out_request_no+"\"," 
                + "\"refund_reason\":\"正常退款\"" + " }");
        AlipayTradeRefundResponse response;
        response = alipayClient.execute(request);

        if (response.isSuccess()) {
     //System.out.println("支付宝退款成功");
            returnStr="SUCCESS";
        } else {
            returnStr = response.getSubMsg();// 失败会返回错误信息
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
    return returnStr;
}
/**
 * 支付宝退款查询接口
 * @author Mark
 * @param out_trade_no
 *            订单支付时传入的商户订单号,不能和支付宝交易号(trade_no)同时为空。
 * @param trade_no
 *            支付宝交易号
 * @param refund_amount
 *            需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数
 * @return 将提示信息返回
 */
public synchronized static String alipayRefundQueryRequest(String out_trade_no, String trade_no) {
    String returnStr = null;
    try {
        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",
                PropertiesUtils.getProperty("ALIPAY_APPID"), PropertiesUtils.getProperty("ALIPAY_PRAVITEKEY"),
                "json", "GBK", PropertiesUtils.getProperty("ALIPAY_PUBLICKEY"), "RSA2");
        AlipayTradeFastpayRefundQueryRequest request = new AlipayTradeFastpayRefundQueryRequest();
        request.setBizContent("{" 
                + "\"out_trade_no\":\""+out_trade_no+"\"," 
                + "\"trade_no\":\""+trade_no+"\"," 
                +"\"out_request_no\":\""+out_trade_no+"\""
                + " }");
        AlipayTradeFastpayRefundQueryResponse response = alipayClient.execute(request);
        if (response.isSuccess()) {
            returnStr="SUCCESS";
               // System.out.println("退款成功");
        } else {
            returnStr = response.getSubMsg();// 失败会返回错误信息
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
    return returnStr;
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值