성공적으로 응답이 돌아옵니다. 수취 조회 뿐만아니라, 다른 API(사용자 인증, 토큰 발급 제외) 테스트 또한 응답정보 저장이 되어있어야 응답 결과가 정상적으로 반환됩니다.
수취 조회 API는 입금이체 요청 전 수취계좌의 입금가능 여부 및 수취인 성명을 사전에 조회하는 API로, 응답의 acount_holder_name 으로 수취인 성명을 확인할 수 있으며, rsp_code는 A0000이외의 값, bank_rsp_code는 000 이외의 값이 들어가면 수취계좌의 입금이 불가능하며 그에 따른 메세지는 각각 rsp_message, bank_rsp_message로 전달됩니다.
2. 입금이체 API
이용기관이 사용자의 계좌로 대금을 송금합니다.
- 실 계좌번호로 요청 : /acnt_num
- 핀테크 이용번호로 요청 : /fin_num
2.1. 입금이체 : 계좌번호로 요청
- 입금 이체용 암호문구 :
테스트 환경이므로 "NONE"으로 설정하겠습니다.
- 요청 고객 핀테크 이용번호 : 요청고객의 계좌번호 및 계좌 개설 기관 코드를 알지 못하는 이용기관의 경우 요청고객의 핀테크 이용번호를 세팅해야 하며, 핀테크 번호와 계좌관련 정보를 둘다 세팅할 경우 오류가 발생합니다.
이번에도 역시 금융 결제원 swagger의 /transfer/deposit/acnt_num API를 이용하겠습니다. 입금이체 API사용전 응답정보 데이터를 추가해주시는것 잊지마세요! 자물쇠 버튼을 눌러 Bearer가 등록되어있는것을 확인한후, 요청 Body를 작성합니다.
핀테크 이용번호(fintech_use_num)는 사용자가 사용자 인증, 토큰발급을 마친경우 사용자 정보조회 API를 이용해서 확인 가능하며, 이용기관에서는 이때 확인한 핀테크 이용번호를 DB에 따로 저장하거나, 필요시에 사용자 정보조회 API를 호출하여 핀테크 이용번호를 가져와서 사용해야합니다.
wd_print_content, wd_account_holder_name, bank_tran_date는 의도한대로 전달되지는 않았지만, 테스트 환경이라서 이처럼 전달되는것으로 보입니다. 응답코드(rsp_code : A0000), 참가은행 응답코드(bank_rsp_code : 000) 처리성공으로 떨어졌기 때문에 테스트 성공으로 판단합니다.
3. 이체결과조회 API
입금이체 후 이체 결과를 다시 확인합니다. 이체시 비 정상적인 응답코드를 받았을 경우, 응답을 받지 못했을경우 1개월 이내 이체건에 대해 이체결과를 다시 확인할 수 있습니다.
이체결과조회 응답정보 데이터를 추가, 자물쇠 버튼을 눌러 Bearer가 등록되어있는것을 확인한후, 요청 Body를 작성합니다.
-req_cont : 한번에 최대 25건을 확인 가능하며, req_cnt와 req_list목록의 검색 항목 수가 같지 않으면 오류를 반환합니다
정상적으로 회원가입이 완료 되었다면 MY PAGE> 내 서비스 관리 탭을 타고 들어가 테스트 할 서비스(오픈뱅킹, 오픈지로, 온투업중앙기록관리 등)의 신청 버튼을 눌러 '이용중'상태로 바꿔줍니다.
다음, API Key관리 탭으로 이동하여 Callback URL을 입력 후 저장버튼 클릭후 서비스 별 Callback URL등록 버튼을 클릭해 '완료'상태로 바꿔줍니다. 여기서 Callback URL은 API이용 시 사용자인증이 완료되면 리다이렉트할 URL을 넣어줍니다.
여기서 Client ID, Client Secret, Callback URL은 API 요청시 필요한 정보들이니 따로 메모해두는것이 좋습니다.
2-1. 약정 계좌 관리
테스트 정보 관리> 약정계좌 관리탭에서 테스트용 계좌 정보를 등록합니다.
입금계좌 : 입금이체 API 이용 시 필요한 이용기관의 출금용 지급계좌 정보를 등록합니다.
출금계좌 : 출금이체 API 이용 시 필요한 이용기관의 입금용 수납계좌 정보를 등록합니다.
3. 사용자 인증
테스트 API를 사용하기 위해서는 사용자 인증 및 약정계좌 관리등 절차가 필요합니다. 테스트 사용자의 계좌를 등록하고, Token을 발급받아 사용자 권한의 오픈뱅킹 API를 테스트 해 볼수 있습니다.
센터인증 이용기관은 인증 센터를 거쳐 사용자 인증이 완료되며, 자체인증 이용기관은 직접 인증을 진행합니다. 즉, 이용기관이 은행이거나 일정한 규모의 대형사업자인경우에 자체인증이 가능한 이용기관일 경우를 말합니다.  
위는 요청토큰의 권한에 따라 접근할 수 있는 API를 분류 해 놓았으며, 자체인증 이용기관의 API나 더욱 상세한 정보를 보고자 한다면 API 명세를 함께보시는것을 적극 추천드립니다.
3-legged 인증은 사용자가 이용기관의 앱을 통하여 오픈뱅킹 서비스에 접근하기 위한 인증 기능을 제공합니다. 사용자는 오픈뱅킹(Service Provider)의 인증 페이지에서 본인인증 및 조회/출금동의를 통하여 인증하고, 이용기관은 사용자에 대한 Access Token을 얻음으로써 사용자의 인증을 획득합니다.
2-legged 인증은 사용자의 개입 없이 단순히 이용기관이 자신에 대한 인증정보(Client ID, Client Secret)를 가지고 인증함으로써, 오픈뱅킹으로부터 이용기관에 대한 Access Token을 획득하는 것을 의미합니다.
테스트용 메시지 URL은 https://testapi.openbanking.or.kr/oauth/2.0/authorize로 작성합니다.
- client_id, redirect_uri는 2. 테스트 환경설정에 있는 값들을 기입합니다.
- scope : 3.사용자 인증의 권한범위 이미지를 참고하여 원하는 scope를 기입합니다(login inquiry, login transfer, login inquiry transfer)
- state : 32byte의 난수값을 입력한다. 32byte가 차지 않으면 파라미터 에러가 발생.
※ auth_type 별 필수요소를 꼭 확인 후 API를 호출합시다.
swagger 호출결과
Response의 location 값을 복사하여 새 창에 붙여넣기 후 엔터키를 누르면 인증화면으로 이동합니다.
Postman 호출결과
Postman의 경우 요청이 성공하면 Response에 HTML이 나타난다. 요청이 성공하는것을 확인했다면, 쿼리파리미터가 작성된 URL을 복사해서 인터넷창을 열어 붙여넣기 하면 인증 화면으로 Redirect됩니다.
성공적으로 인증화면 Redirect된 경우개인정보 처리방침 동의 후 본인인증 위해 휴대폰 인증이 진행됩니다.테스트 계좌 입력후 ARS 출금/조회 동의 클릭시 테스트 환경에서는 ARS스킵되고 Redirect URL로 바로 이동합니다.
정상적인 시스템 흐름이라면 Redirect되는 페이지에서 Parameter를 넘겨받아 바로 토큰발급API를 실행시켜주는것이 맞지만, 지금은 테스트 환경이고 만들어진 화면도 없어 아무 URL이나 입력했습니다(그렇다고 진짜 실행되는 도메인은 피해주세요). 따로 화면이 표시되지 않더라도 URL에서 파라미터로 넘어온 값들을 확인할 수 있습니다.