본문 바로가기

IT

PG 결제 서비스에 대한 이해, 결제 서비스에 대해 알아보자(웹훅, API 폴링이란)

반응형

우리가 흔히 아는 결제에 대한 이해는 무엇이 있는지에 대해서 알아보자. 그리고 어떻게 하면 구매 단계별에서 결제율을 높일 수 있는지 그 방향성에 대해서도 알아보자

 

데이터 흐름으로 결제 서비스는 어떻게 기획을 할까?

구매자가 결제하는 프로세스를 이해하면 다음과 같다.

1. 구매자가 고객사의 구매 및 결제 페이지에 접속하여 결제창을 호출하여 구매를 결정할 경우 고객사에 결제 요청을 보내게 된다. 

 

2. 그러면 결제창에서 api 호출로 PG사 PG 결제 요청을 통해 카드사에 카드 결제 요청을 보낸다. 카드사에서 PG사로 카드 결제 결과를 송출하고 그 결괏값을 결제 창으로 인도한다.

 

3. 이렇게 되면 결제는 완료하게된다.

 

3가지의 단순 흐름 패턴을 보면 흐름에 따라 구매자는 고객사의 홈페이지의 구매 페이지에 접근하게 된다. 그리고 고객사는 결제수단을 어떤 순서로 배치할 것인가?를 결정하게 되고 쿠폰/포인트가 있는 경우에는 어떤 순서로 전체 금액에서 차감할 것인지를 결정하게 된다. 

 

그리고 맨 마지막 개인정보 수집 및 제삼자 제공 동의 또한, 어떠한 방식으로 노출시킬 것인지도 결정할 수 있다. 

 

고객사가 결제창을 호출할 때엔 카드사 결제창을 바로 호출한다면 카드 선택 모듈을 자사 체크아웃 페이지로 구현된다면 그 또한 전환율을 높일 수 있는 방법이라고 본다.

 

결제창에서 중요한 요소는 결제창에서 고객사 결제 결과에 따라 다음 화면을 어떻게 보여줄 것인가 이다. 여러 가지 경우의 수에 따라서 결제를 어떻게 할 것인지 확인해야 한다. 특히나, 결제가 성공한 경우 vs 실패한 경우 화면 처리는 어떻게 할 것인지 확인토록 해야한다.

온라인 결제 방식의 종류

일반결제(인증결제)는 무엇일까? 일반결제(인증결제)는 신용카드 결제 시 PG사로부터 결제에 대한 인증 결과를 받은 후 인증 결과 정보(인증키)로 결제를 요청하는 방식이다.

  • 국내에서 제일 많이 사용하는 결제 방식
  • 결제창에서 카드사를 선택 후 카드사 모듈을 통해 인증 진행
  • ISP결제, MPI결제, 카드사 자체 간편 결제

가 이와 같은 방식의 일반 결제라고 한다. 

 

비인증 결제란 결제 시 별도의 인증 없이 결제를 발생시킬 수 있는 방식을 통칭한다. 빌링키 결제는 최초 등록된 결제정보와 1:1로 맵핑되는 키값으로 "반복적"인 결제를 발생시킬 수 있는 방식을 말하며, 키인(수기) 결제는 카드정보 입력으로 결제되는 방식(일회성 결제) 카드정보를 저장하지 않기 때문에 결제할 때마다 카드정보를 매번 입력해야 하는 불편함이 있다.

 

그렇기 때문에 요즘은 빌링키 결제 방식으로 결제를 구현하고 있다.

 

일반결제의 경우 PG 결제창을 이용하여 결제를 하게 되는데 PG사에서 제공하는 결제창을 이용하는 방식이다. 이경우 빠르고 쉽게 결제를 연동할 수 있으나 UI/UX 커스터마이징이 불가하다.

 

카드사모듈 바로호출은 PG사 통합결제창을 이용하지 않고 바로 카드사 모듈을 호출하는 방식을 말한다. 결제단계를 최소화할 수 있으나, 결제 주문페이지에서 카드사를 선택하는 UI가 필요한다.

 

KG 이니시스의 결제창의 경우 PG사에서 제공하는 비인증 결제창을 이용하는 방식인데 이경우 비인증 결제 시 챙겨야 하는 보안에 대한 부담이 적으나 UI/UX 커스터마이징이 불가하다.

 

결제화면을 자체 개발하면 카드정보 획득 화면을 직접 개발하고  API를 이용하여 결제를 발생시키는 방식을 말한다.

이 경우 UI/UX 커스터마이징이 가능하다. 다만, 카드정보를 획득하는 과정에서 발생하는 보안이슈가 있다.

 

웹훅(Webhook)이란?

데이터가 변경되었을 때 실시간으로 알림을 받을 수 있는 기능을 웹훅이라고 한다. 그리고 웹 서비스의 이벤트 데이터를 전달하는 HTTP기반 콜백 함수를 말한다. 특정 이벤트가 발생하면 웹훅이 클라이언트에게 이벤트 데이터를 보내는 것을 말한다.

 

그런데 API 폴링(Polling)과 웹훅의 차이점이 존재한다. api 폴링 그게 뭘까? API폴링을 사용하면 클라이언트가 서버 API를 호출해서 이벤트가 발생했는지 확인을 해야 된다. 예를 들어 이런 것이다. API 폴리는 친구가 전화를 받을 때까지 계속적으로 전화를 거는 것과 같고, 웹훅은 친구에게 '시간이 나면 전화 좀 줘'라고 문자를 남기는 것과 같다.

 

이벤트가 발생했다면 폴링으로 필요한 응답을 바로 받겠지만 이벤트가 발생하기 전까지는 클라이언트가 주기적으로 API를 호출해야 된다. 반면은 웹훅은 한 번 설정하면 클라이언트가 추가 요청을 보내지 않아도 된다는 장점이 있다.

 

 

728x90
반응형