웹 개발을 하다보면 카드결제 시스템을 연결해야할 때가 있습니다
결제 시스템에 대한 글을 찾아봐도 비인증 키인이니 지급결제서비스니... 너무 어렵죠..
우리나라는 안전한 결제 시스템을 구축할 수 있도록 규제 법령이 많기 때문이에요...!!
오늘은 누구나 이해하기 쉽게이해할 수 있도록 !!
국내에서 서비스되고 있는 카드결제 시스템이 왜 이렇게 복잡한지와
카드결제 시스템에 대한 다양한 정보를 전달드리겠습니다.
VAN사는 카드사에 카드정보를 전달하는 중간업체입니다.
VAN사는 PG 또는 카드 단말기가 수집한 카드정보가
안전하게 안전하게 카드사로 전달 될 수 있도록 하는 일을 합니다.
이를 위한 API 등을 제공하고 있습니다.
[ 온라인 결제 ]
PG사가 카드 결제를 요청하면 VAN사는 그 요청을 카드사로 보내고, 카드사가 결제 요청 결과를 보내면 VAN사는 그 결과를 PG 전달합니다.
[ 오프라인 결제 ]
보통 오프라인 결제에서 사용되는 단말기는 VAN사에서 제공하는 단말기입니다. 이 단말기를 통해 카드 정보를 카드사에 전달하는것이죠.
최근에는 웹 기반 POS 기기나 테이블 결제 기기들이 많아 지면서 오프라인 결제라고 하더라도 PG를 통한 결제가 많아졌어요
또 PG사에서 제공하는 오프라인 결제용 단말기가 있는것 처럼, 최근에는 오프라인이면 무조건 VAN 단말기다 라는 개념이 많이 사라졌어요
우리나라는 여러가지 이유로 카드 정보를 수집하여 결제하는 방식을 지양하고 있습니다.
(그 이유는 아래서 별도로 설명하겠습니다)
때문에 우리는 카드결제를 사용하기 위해 PG는 별도의 SDK나 API를 제공해 해당 방식으로만 카드정보를 입력받도록 하고있습니다.
이렇게 입력 된 정보를 따로 수집하진 않고, 카드사로 전달되는것이죠 !
경우에 따라 정기 결제 처리 등을 위해 카드사에서 발급하는 키를 저장하고 그 키를 통해 결제를 처리하기도 하지만, 카드 정보는 수집하지 않습니다 !
우리나라의 PG 사업자는 KCP, 나이스정보통신, KG 이니시스, 카카오 등 총 362개사(23/06/12 기준) 입니다.
(PG사업자가 되려면 자본금이 3억 이상이여야 하고 엄격한 보안을 유지 하는 등 요건이 매우 까다로워요)
PG 마다 다르지만 규모가 큰 PG의 경우 VAN을 사용하지 않는 경우도 있는것 같아요
우리는 일반적으로 결제시 마다 결제에 필요한 정보를 입력받습니다.
이를 비인증 결제라고 합니다.
비인증 결제는 'key-in 결제'와 '빌링 결제' 결제로 다시 나뉘게 됩니다.
키인 결제는
입력받는 방식의 구분으로는 온라인 결제의 경우 PG에서 제공하는 SDK를 이용하는 방법과 API를 이용하는 2가지 방법이 있으며,
오프라인 결제에서는 카드 단말기나 POS기기 에서 API 통신을 통해 카드 정보를 입력받아 결제가 이루어집니다.
PG사에서 제공해주는 결제창을 통해 카드정보를 수집받습니다.
정보수집을 PG사에서 받고 바로 VAN을 통해 카드사로 전달하기 때문에
가장 안전한 방법이라 가장 많이 사용되고 있고, 국내 대부분의 PG에서 사용하는 방식입니다.
1번 방법의 경우 기존 사이트의 디자인과 다른 PG사의 결제창이 툭 튀어나와
쇼핑몰의 이용자들이 당황하는 경우가 있습니다
때문에 대부분의 쇼핑몰의 경우 서비스 자체 디자인 한 카드 결제창을 사용하고 싶으실텐데요
이 때 사용자로 부터 입력받은 카드정보를 API를 통해 PG사에 제출할 수 있습니다.
현재 국내에서는 나이스정보통신, PAYAPP 등 많지 않은 곳에서만 지원하는 방식이며,
개발 시 쇼핑몰의 시스템에서는 카드정보를 수집하지 않도록 처리해야합니다.
또 쇼핑몰에서 입력받은 카드정보를 안전하게 PG로 전달할 수 있도록 보안처리가 필요하고 이는 직접 구축해야합니다.
위 3-1-2 예시를 들어 설명드린 라프텔의 경우 월 1회 마다 정기적으로 요금이 결제되게 됩니다.
최초 1회 카드 정보를 입력받는 것은 키인 결제와 동일하지만, 최초 결제이후 발행되는 빌링키를 이용하여 다음 결제 부터는 빌링키를 통해 결제가 이루어 지게 하여 결제를 처리합니다.
이를 빌링 결제라고 합니다.
플랫폼에서는 빌링키 정보를 서버에 안전하게 보관하고 이 정보를 바탕으로 결제를 처리합니다.
국내에서는 카드 결제 시스템에서 키인결제와 빌링 결제 2가지 이외에는 현실적으로 다른 결제 방식을 사용하기는 어렵습니다.
카드 번호와 같은 민감 정보가 서버에 보관되어있고 만약 서버의 정보 유출로 카드 번호 등이 유출되어 금전적 피해가 발생되었다면 이는 어떻게 될까요?
법적인 문제를 제외하고도 이는 심각한 피해를 발생시키게 됩니다.
여신전문금융업법 제 17조 ①항의 내용을 보면, 선행 조건이 있긴 하지만 해당 조건을 제외하고 보면 가맹점의 고의 또는 중과실이 증명 될 경우 그 손실의 전부 또는 일부를 가맹점이 부담해야 한다는 내용이 있습니다.
필자는 법률 전문가가 아니므로 참고만 해주세요
고의 또는 중과실에 관한 내용도 있는데 "해킹, 전산장애, 내부자정보유출 등 부정한 방법으로 얻은 신용카드등의 정보를 이용하여 신용카드등을 사용한 거래"라는 내용이 포함되어있어 해킹으로 인한 유출에 대한 책임을 져야 합니다.
이러한 법률로 인해 카드 정보를 저장하지 않는 방식으로 시스템이 발전되어 왔습니다.
현재 모PG사에서 근무중인 1인입니다 ㅋㅋVELOG에 PG가 인기글에 떠서 깜짝놀라 포스팅보러 왔네용ㅋㅋ 좋은 글 감사합니다 :)