package com.crm.ucard.service;

import com.crm.rely.backend.core.dto.wasabi.*;
import com.crm.rely.backend.exception.ServiceException;

public interface UcardNotifyService {

    /**
     * 卡交易通知
     */
    void cardTransactionNotify(WasabiTransactionDto dto) throws Exception;

    /**
     * 卡授权交易通知
     */
    void cardAuthTransactionNotify(WasabiAuthTransactionDto dto) throws ServiceException;

    /**
     * 卡授权交易冲正通知
     */
    void cardFeePatchNotify(WasabiFeePatchNotifyDto dto) throws ServiceException;

    /**
     * 卡3ds通知
     */
    void card3dsNotify(WasabiThird3dsTransactionDto dto) throws Exception;

    /**
     * 持卡人通知
     */
    void cardHolderNotify(WasabiHolderQueryDto dto) throws ServiceException;

    /**
     * 实体卡事件通知
     */
    void physicalCardNotify(WasabiPhysicalCardNotifyDto dto) throws ServiceException;

    /**
     * 速汇交易通知
     */
    void expressRemittanceTransactionNotify(WasabiTransactionTransferDto dto) throws ServiceException;

}
