본문 바로가기

Javascript/NestJS

결제 시스템

1. 결제 프로세스

 

(1) 구매자가 상품에 대한 정보와 금액을 판매자에게 전달

(2) 판매자는 전달받은 금액을 PG사에게 결제해줄 것을 요청

(3) PG사는 요청받은 정보를 은행사에게 다시 결제 요청

(4) 은행사는 요청받은 금액을 구매자의 계좌에서 출금 후 PG사로 전달

(5) PG사는 판매자에게 금액을 전달(수수료 제외)

(6) 판매자는 금액 확인 후, 구매자에게 상품 배송

 

2. PG사 (Payment Gateway)

 

(1) 구매자와 판매자 사이의 결제를 안전하게 이뤄질 수 있도록 대행해주는 역할을 하는 회사

(2) 대표적인 PG 사 : KG 이니시스, NHN, KCP, LGU+

(3) 모바일 환경:  KG 모빌리언스, 다날, 카카오Pay

 

3. 결제 솔루션 

(1)  결제 시스템을 직접 구현하는데는 위와 같은 과정을 거치는데, 결제 시스템을 구현하는데 2주 이상을 소요해야 구현이 가능하고 PG사에 따라 사용하는 모듈이 달라, PG사를 변경하는 데도 제약이 있어  이 과정을 해결해주는 결제 솔루션인 결제 외부API를 사용하면 간단하게 결제 시스템을 구현할  수 있음

(2) 아임포트(IamPort) : 원하는 PG사와의 결제시스템을 연결시켜주는 결제 API 서비스

 

 

4. 아임포트 결제 프로세스 

 

(1) 브라우저에서 결제하기 버튼을 클릭하면 프론트 엔드에서 아임포트에 Rest API 형식으로 결제를 요청

(2) 아임포트에서 PG사로 결제를 요청

(3) PG사는 카드사에 결제를 요청

(4) 결제가 다 되면, 아임포트가 결제건에 대한 ID값을 보내줌 (여기서 ID는 imp_uid)

(5) 프론트 엔드는 받은 imp_uid를 백엔드에 건내줌

(6) 백엔드는 DB에 결제 정보와 함께 imp_uid를 저장

'Javascript > NestJS' 카테고리의 다른 글

소셜 로그인  (0) 2022.12.18
CORS  (0) 2022.12.18
Authentication / Authorization  (0) 2022.12.05
암호화 (단방향, 양방향)  (0) 2022.12.05
Login Process  (0) 2022.12.05