统一收单交易退款

名称:alipay.trade.refund
类型:服务端接口
功能:当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,支付宝将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。 交易超过约定时间(签约时设置的可退款时间)的订单无法进行退款 支付宝退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。一笔退款失败后重新提交,要采用原来的退款单号。总退款金额不能超过用户实际支付金额。


注意:接口为通用接口,该场景下,请参考如下编写:

/**
 * 测试预授权交易退款
 */
@Test
public void testTradeRefund() throws Exception {
    AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");
    AlipayTradeRefundModel model = new AlipayTradeRefundModel();
    model.setOutTradeNo("tradePay000002"); //与预授权转支付商户订单号相同,代表对该笔交易退款
    model.setRefundAmount("0.01");
    model.setRefundReason("预授权退款测试");    
    model.setOutRequestNo("refund0000001");//标识一次退款请求,同一笔交易多次退款需要保证唯一,如部分退款则此参数必传。
    AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
    request.setBizModel(model);
    AlipayTradeRefundResponse response = alipayClient.execute(request);
    logger.info("response: {}"+response.getBody());
}


onlineServer