//
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 접속 > 정기결제용 아이디로 로그인 > 결제관리 > 배치결제 > 그룹관리 발급받은 사설인증서로 인증    
자세한 사항은 첨부드린 '배치결제그룹아이디 조회 방법' 매뉴얼을 참고하시어 진행 부탁 드립니다.
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으로 문의 주시기 바랍니다.