//
Search

NHN KCP 정기결제(REST API방식)_실 모드_PG설정 및 연동방법 안내(카드사심사방법 포함)

Tags
KCP에서 발급받은 실운영용 상점정보를 아래와 같이 아임포트관리자콘솔에 
설정 및 결제연동 진행 후  KCP측에 카드사 심사 요청 부탁 드립니다.
카드사 심사 진행을 위해서는,  실 연동정보(사이트코드, 사이트키값)로 연동 후 가맹점에서 직접 KCP상점관리자에서 상점정보관리 → 카드사 가맹점관리 → 카드사 가맹점 등록신청 에서 직접 신청해주셔야 합니다.
(카드사 심사안내 메일도 사이트코드 발급 시 시스템 메일로 발송되며, KCP측에서 계약안내 전화 시에도 말씀 드리는 사항입니다.)

[NHN KCP_정기결제(REST API방식_PG설정방법(실 모드)]

1. 아임포트 관리자 콘솔  > 결제 연동 > 실 연동 관리 > 결제대행사 설정에서 PG사 "NHN KCP / NHN KCP API" 선택하시고,
KCP로부터 발급받으신 PG상점정보 입력 후 [전체저장] 버튼을 클릭 해 주세요.
- 실운영모드 세팅 방법 : KCP와 계약 후 발급된 ‘사이트코드’ / ‘사이트키’를 직접 세팅 해 주시고 ‘배치결제그룹아이디’는 아래 내용 참고 부탁 드립니다.
< KCP 정기결제(REST API방식)_실모드_설정화면 예시>
[KCP 정기결제-배치결제그룹아이디 발급 및 등록(실 운영모드)]   
- KCP 정기결제 인 경우에만 설정하는 아이디 입니다.   
- KCP빌링결제는 KCP일반결제와 달리 “배치결제그룹아이디"를 추가로 설정해야 합니다.   
- 확인 방법 : 해당 아이디 확인을 위해서는 KCP에서 정기결제용으로 발급받은 사이트코드로 
KCP상점관리페이지 접속하여 희망하는 사용자명을 입력하고 패스워드를 등록하여 사설인증서를 발급 받습니다.   
- 인증서 발급 경로 : https://admin8.kcp.co.kr 접속 > 정기결제용 아이디로 로그인 > 고객센터 > 인증센터 > KCP사설인증서 > NHN KCP 사설인증서 발급 을 클릭 > 사용자명(임의 입력) 확인 클릭.
- 그룹 등록 경로 :https://admin8.kcp.co.kr 접속 > 정기결제용 아이디로 로그인 > 결제관리 > 자동결제 > 그룹관리 > 그룹등록 > 그룹ID 발급    
2. 아임포트 웹훅(Notification URL) 설정방법(자체 개발시)
아임포트 Webhook을 사용함으로써 아임포트 서버에 저장된 데이터를 서버에 동기화하고 네트워크 불안정성을 보완할 수 있습니다.
- 설정 방법 :웹훅 설정 매뉴얼링크 내용 참고하시어
아임포트관리자페이지 > 시스템설정 > 웹훅(Notification) 설정 메뉴에서 "웹훅(Notification) 발송 공통 URL" 항목에 설정 해 줍니다.
<웹훅 설정 화면 예시>
3. 결제 연동(정기결제창 방식 개발시)API 문서
(1) 결제가 필요한 시점에 요청하시는 방식(again api)
- POST /subscribe/customers/{customer_uid} 으로 빌링키 발급 후
- POST /subscribe/payments/again 로 결제 요청
(2) 아임포트에서 재결제(스케쥴러)를 요청하는 방식(schedule api)
schedule방식은 이미 최초에 사용자로부터 카드정보를 받아 빌링키를 발급해놓고(이것을 customer_uid에 매칭시켜놓고)
결제가 필요할 때 마다 customer_uid만 활용하는 방식으로,
최초에 /subscribe/customers/{customer_uid} POST로 한 번 등록해두시면 schedule unschedule을 사용자 액션없이 자유롭게 처리하실 수 있습니다.
- 최초 카드정보 등록으로 빌링키 발급 및 발급된 빌링키에 customer_uid로 1:1대응 후 아임포트 내 저장
- 결제일자가 확정되는 시점에 schedule API로 일정 / 금액 / 결제할 customer_uid 등 지정
- 해당 시각에 처리가 완료되면 성공/실패 여부를  webhook(Notification URL로 보내드립니다.) 으로 POST요청
- 결제 성공이면 webhook에서 크레딧 증가 후 다음 schedule등록 API추가(실패면 다음날로 다시 등록)
날짜는 서비스 특성에 따라 다소 달라질 것 같기는 합니다만 날짜 문제를 없애기 위해 +N day 식으로 처리를 하고 있습니다.
<참고 - again api와 schedule api 장단점>
schedule api는 again api를 가맹점 대신에 아임포트가 대신 수행해주고 결제 결과를 가맹점측에 웹훅으로 알려주는 API 입니다.
결제 결과는 [관리자페이지] → [시스템설정] → 웹훅(Noticiation) 설정에 작성하신 Notification URL을 통해 웹훅을 보내 드리기 때문에
정기결제를 구현함에 있어 그 로직이나 과정이 복잡하지 않고, 정해진 일자에 단순하게 결제가 이루어지기만 하면 될 경우 schedule API를 쓰셔서 웹훅으로 받은 결제 결과의 실패/성공에 따른 처리만 하시면 됩니다.
반면, 가맹점의 정기결제 서비스 로직 전/후에 수행해야하는 특별한 로직이 있거나 정기결제가 이루어지는 과정을 자유롭게 커스터마이징 하고 싶으시다면 구현하신것 처럼 cronjob을 직접 수행하여 again api 를 사용하셔도 무방합니다.
즉, 가맹점의 정기결제 로직이 복잡하지 않다면 schdule api를 사용하시길 권장드립니다.

[카드사 심사요청 방법]

아직 카드사 심사 진행이 되어있지 않으신 경우, 실 연동정보 아임포트관리자페이지 PG설정 후 KCP 상점관리자페이지상에서 직접 카드사 심사요청 바랍니다.
신청경로 : KCP 상점관리자 https://admin8.kcp.co.kr/ 정기결제용 상점아이디로 로그인 → 고객센터→질문하기에서 질문유형 카드사 등록신청 선택
카드사 심사는 KCP에서 직접 카드사에 요청하여 진행하게 되므로 관련
자세한 사항은 KCP 고객센터 연락처 1544-8662으로 문의 주시기 바랍니다.