package cn.quant.baa.pay.acquirer;

import cn.quant.baa.pay.jpa.entity.TransactionSummaryEntity;
import cn.quant.baa.pay.model.web.*;

/**
 * Created by Administrator on 2021/9/1 0001.
 */
public interface Acquirer {
    Object code();

    ChannelResponse pay(PayRequestData request, TransactionSummaryEntity transaction) throws Exception;
    ChannelResponse refund(RefundRequestData request) throws Exception;
    ChannelResponse checkPay(CheckPayRequestData request) throws Exception;
    ChannelResponse checkRefund(CheckRefundRequestData request) throws Exception;
    ChannelResponse close(CloseRequestData request) throws Exception;
    void callback(CallbackRequestData request) throws Exception;
}
