package com.yc.ship.module.trade.service.pay;


import com.yc.ship.module.trade.controller.admin.order.vo.order.PayOrderReqVO;
import com.yc.ship.module.trade.dal.dataobject.order.TradeOrderPayDO;
import com.yc.ship.module.trade.dal.dataobject.refund.RefundDO;
import com.yc.ship.module.trade.dal.dataobject.refund.RefundRecordDO;

/**
 * &#064;Description ：不同支付方式服务
 * &#064;Author ：qsl
 * &#064;Date ：2025/7/7 20:54
 */
public interface PayTypeService {

    /**
     * 扣款
     * @param tradeOrderPayDO
     * @param payOrderReqVO
     */
    Long deduct(TradeOrderPayDO tradeOrderPayDO, PayOrderReqVO payOrderReqVO);

    /**
     * 退款
     * @param refundDO
     * @param refundRecordDO
     * @return
     */
    Long refund(RefundDO refundDO, RefundRecordDO refundRecordDO);
}
