Banking (은행 API)
※ 마지막 업데이트: 2023-05-16
정의
네임스페이스: GST.PlusWin6.Banking
어셈블리: GST.PlusWin6.Banking.dll
종속성
GST.PlusWin6.Dtos.dll (API 통신에 필요한 데이터 유형(클래스)이 정의된 어셈블리)
DevExpress Library (인터넷 뱅킹 이용자 정보를 입력받는 폼에서 참조)
설명
각 은행에서 제공하는 API는 PW6 백엔드 서버에 REST API 형태로 서비스가 구현되어 있으며, C# 윈폼(Windows Forms) 개발 환경에서 REST API 사용을 쉽게하기 위하여 클라이언트용 클래스를 제공
KB 국민은행 표준 API (Baro ERP)
KB국민은행에서 "BaroERP.exe" 실행 모듈 제공을 통해 인터페이스를 지원하고 있음
국민은행에서 배포하는 "바로ERP 표준API 개발가이드"(이하 개발가이드) 파일을 반드시 참고
클라이언트용 BaroERPClient 클래스를 참조하여 개발하며 모든 메서드는 개발가이드 파일에 JSON 포맷의 DTO 형식으로 값을 반환
은행 코드는 공통 코드 "SYS081", 카드 코드는 "SYS082"를 사용
사용자(고객사) 안내
국민은행 인터넷뱅킹을 가입하고, 바로 ERP 약정을 진행해야 사용 가능
[바로 ERP 약정 절차] : 국민은행 홈페이지 > 기업 > Star CMS > 부가서비스 > 바로ERP > 서비스약정
BaroERPClient
<Constructor>
public BaroERPClient();
public BaroERPClient(string baseHost, string jwt, string refreshToken);
<Property>
BaseHost
PW6 백엔드 서버 주소
public string BaseHost { get; set; }
Jwt
로그인 인증 JWT
public string Jwt { get; set; }
RefreshToken
로그인 인증 RefreshToken
public string RefreshToken { get; set; }
<Method>
SetBankingInfo
인터넷 뱅킹 ID와 비밀번호를 설정
public void SetBankingInfo(string id, string password);
SetBankingInfoFromPopup
인터넷 뱅킹 ID와 비밀번호를 설정하는 팝업 실행
public void SetBankingInfoFromPopup();
OpenBatchScrappingSite
[일괄 조회] 사이트(https://cms.kbstar.com/quics?page=C066759) 실행
일괄조회: 대외기관(예: 타은행, 카드사, 국세청 등)에서 제공하는 정보를 가져오기 위해 StarCMS에서 최신 정보를 스크래핑
public void OpenBatchScrappingSite();
OpenTransferAndApprovalSite
[이체 및 결재] 사이트(https://cms.kbstar.com/quics?page=C066733) 실행
public void OpenTransferAndApprovalSite();
<Functions>
전체 72개 중 19개 구현 (필요한 기능이 있을 경우 요청할 것)
3.1) [KFK12DF340]
예금주성명조회
GetDepositor
3.2) [KFK124A240]
예금계좌잔액조회
GetAccountInfo
3.3) [KFK124A141]
예금계좌 거래내역조회
GetTransactionHistory
3.4) [CA2010]
10건이하이체 등록
RegisterTransferOfSmall
3.5) [CA1150]
대량이체 등록
RegisterTransferOfLarge
3.6) [CA1031]
급여이체 등록
RegisterTransferOfSalary
3.7)
지로 조회납부 조회
3.8)
지로 조회납부 등록
3.9)
지로 입력납부 등록
3.10)
국세 조회납부 조회
3.11)
국세 조회납부 조회
3.12)
국세 자진납부 등록
3.13)
건별 전자납부번호 관세납부 조회
3.14)
10건이하 관세납부 조회
3.15)
10건이하 관세납부 등록
3.16) [CB1101211]
ERP 거래 등록내역조회
GetERPTransactionRegistrationList
3.17)
가상계좌 입금내역조회
3.18)
가상계좌 계좌내역조회
3.19) [CA0008]
출금계좌목록 조회
GetWithdrawalAccountList
3.20)
전체회원사 조회
3.21)
관세사/무역업체조회
3.22)
일반지로장표구분조회
3.23)
외화예금거래내역조회(보통예금)
3.24)
외화송금 처리결과 조회
3.25)
거래확인증(당행외화송금)
3.26)
해외은행송금 등록
3.27)
국내간송금(당행외화이체)
3.28)
국내간송금(타행외화이체)
3.29)
외상매출채권 구매기업 채권명세 등록
3.30)
구매자금대출 추심명세등록
3.31)
환율조회
3.32)
일중환율변동추이
3.33) [CA0001LSELS43]
타은행수시입출거래내역조회
GetTransactionHistoryOfOtherBank
3.34)
타은행외화거래내역조회
3.35) [CA0001LSELS74]
카드정보조회
GetCardInfo
3.36) [CA0001LSELS38]
카드한도내역조회
GetCardLimitList
3.37) [CA0001LSELS05]
카드승인내역조회
GetCardApprovalList
3.38)
카드청구내역조회
3.39)
카드대사내역조회
3.40)
신용카드매입매출내역조회
3.41)
현금영수증매입매출내역조회
3.42)
세금계산서매입매출내역조회
3.43)
세금계산서매입매출내역상세조회
3.44)
실시간집금처리결과조회
3.45)
자동집금처리결과조회
3.46)
자동집금처리결과상세조회
3.47) [CA0001LSELS39]
사업자번호조회
GetBusinessNumber
3.48)
집금대상그룹조회
3.49)
글로벌은행거래내역상세 조회
3.50) [CB1101311]
이체결과내역조회
GetTransferHistory
3.51) [CA0001LSELS09]
카드승인다건내역조회
GetCardApprovalMultiList
3.52) [CA0001LMLCB00]
전체계좌목록조회
GetAccountList
3.53) [CA0001LSELS28]
타행계좌목록조회
GetAccountListOfAnotherBank
3.54)
외화송금 상세처리결과 조회
3.55)
가입여부 확인
3.56)
지방세 자치단체별 구분 조회
3.57)
지방세 간략 조회
3.58)
지방세 상세 조회
3.59)
지방세 선택납부 등록
3.60)
지방세 전체납부 등록
3.61)
지로납부 간략 조회
3.62)
지로납부 상세 조회
3.63)
지방세 납부내역 간략조회
3.64)
지방세 납부내역 상세조회
3.65)
지방세 전체납부 납부내역 간략조회
3.66)
지방세 전체납부 건별 납부내역 간략조회
3.67)
지방세 전체납부 납부내역 상세 조회
3.68)
관세납부 단건 등록
3.69)
ERP 거래 등록내역 삭제
3.70) [BFE72P80S1]
오픈뱅킹 타행 계좌목록조회
GetOpenBankingAccountListOfAnotherBank
3.71) [BFE72P20S9]
오픈뱅킹 타행 계좌거래내역조회
GetOpenBankingTransactionHistoryOfOtherBank
3.72)
오픈뱅킹 잔액모으기 등록
<Guide>
메뉴 폼 클래스 내 BaroERPClient 타입의 필드 멤버를 정의
private BaroERPClient _BaroERPClient = null;
생성자에서 BaroERPClient 개체를 초기화
public SY_Z1000(params object[] args) : base(ref args)
{
InitializeComponent();
_BaroERPClient = new BaroERPClient();
...
}
이후 BaroERPClient 개체의 메서드를 사용하여 각 폼 컨셉에 맞는 기능을 구현
<Example>
GridView에 은행코드와 계좌번호를 입력하고 셀의 돋보기 버튼을 클릭하면 예금주가 세팅되도록 하는 기능의 예시입니다.

private BaroERPClient _BaroERPClient = null;
public AC_Z0000()
{
InitializeComponent();
_BaroERPClient = new BaroERPClient();
...
riBteAccountNumber.ButtonClick += OnButtonClick;
}
private void OnButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
string bankCode = gvwList.GetFocusedRowCellValue("bank_code")?.ToString() ?? string.Empty;
string accountNumber = gvwList.GetFocusedRowCellValue("account_number")?.ToString() ?? string.Empty;
if (!string.IsNullOrEmpty(bankCode) && !string.IsNullOrEmpty(accountNumber))
{
DpstrOutDTO result = _BaroERPClient.GetDepositor(bankCode, accountNumber);
string depositor = string.Empty;
if (result?.rtn_code?.Equals("0000") ?? false)
{
depositor = result.mnrcv_acn_dpstr_name;
}
gvwList.SetFocusedRowCellValue("depositor", depositor);
}
}
Last updated