package com.ga.common.adapter.bank;

/**
 * 펌뱅킹(이체) 외부연동 어댑터.
 * <p>
 * 구현체는 ga-external-adapter 모듈에 위치한다.
 * 실제 KFTC/은행 SDK 연동 시 이 인터페이스만 새 구현으로 교체하면 된다.
 */
public interface BankTransferAdapter {

    /** 단건 이체 요청. 외부 시스템 응답을 그대로 반환 (영속화는 호출자 책임). */
    BankTransferResponse requestTransfer(BankTransferRequest request);

    /** 이전 거래의 현재 상태 조회 (대사용). */
    BankTransferResponse queryStatus(String txId);
}
