본문 바로가기

PG 결제

@정소민fan2025. 10. 21. 23:29

jdc에서 pg사 근무하시는 분이 팟캐스트 하시는 것을 대강 정리해두었다

PG사가 필요한 이유

카드사가 총 19개, 휴대폰 결제 6개, 모두와 계약 및 연동이 필요한데, 가맹점이 직접 계약하기에는 너무 힘듬

 

pg사의 역할

1. 결제 수단 통합 제공

2. 보안 및 인증

3. 정산 및 대금 관리

 

pg사 = 토스페이먼츠, 다날 등

원천사 = 카드사, 은행, 카카오페이 등 간편결제사

가맹점 = pg사와 계야가여 결제 서비스를 이용하는 사업자, 쿠팡, 개인 쇼핑몰, 네이버 스마트스토어 등

제휴사 = pg사와 제휴 계약을 맺은 파트너 기업, (영업 대행사, 솔루션 제공자(카페 24 등), 플랫폼사)

 

결제 플로우

1. 고객이 가맹점에 결제 요청

2. 가맹점에서 pg사에 결제 요청 대행 -> 인가 결제?

3. pg사로부터 고객에게 결제 진행 URL 반환

-> 가맹점이 카드 정보나 개인 정보를 직접 처리하지 않게 하기 위해 (악성 가맹점이 고객의 정보로 강제 결제처리를 할 가능성 있음)

-> 다양한 결제수단의 통합 ( 중계의 역할? )

-> 그럼 표준 결제창을 사용하지 않는 플레이스토어나 쿠팡같은 경우는? -> PG사에 커스텀한 UI를 맡기거나, 간편결제수단을 제공하는 경우

4. 고객이 결제, 가맹점에게 success URL 리다이렉트

5. 가맹점이 PG사에 최총 결제처리 요청

pg사가 가맹점에게 제공하는 것은?

1. 백오피스

가맹점에서 진행한 결제 이력, 거래건에 대한 조치 가능

2. 정산

수수료를 제외한 정산금

3. 대사

거래가 제대로 일어났는지 확인하는 방법.

가맹점은 실패했으나, PG사에선 성공한 거래건이 있을 수 있음. 이를 식별하고 복구하기 위한 처리 제공

 

중복 결제를 차단

네트워크 지연, 버튼 중복 클릭, 페이지 새로고침 등으로 인한 중복결제를 방지해야함

PG사는 이러한 엣지 케이스들을 잘 추적해야함

 

거래 ID와 주문 ID를 고유하게 저장해야함

 

거래가 취소가 불가능한 경우도 있음 !!

역환거래 -> 오히려 가맹점이 PG사에 돈을 지불해야하는 경우

 

pg사와 원천사 간에 timeout이 발생하면 pg사는 결제가 실패하였으니 주문을 취소하라는 응답을 보냄. 하지만 고객과 원천사 간에 결제가 이미 되어버리는 경우도 있음

 

거래 시간을 반드시 정확하게 하자 !!

하루가 거의 넘어가기 전에 완료된 거래가 있다면, 이를 저장할 때 오버헤드가 발생해서 다음날 결제된 것으로 처리되는 경우도 있음. 이에 대한 처리가 필요

 

pg사를 선정할 때는 연동 난이도, 수수료, UI, 필요 결제수단 등 상이하니 잘 생각해서 선정할 것

'코딩' 카테고리의 다른 글

Redis 자료구조와 사용방법  (0) 2025.11.19
객체지향은 신이고 테스트는 무적이다  (2) 2025.11.17
의존성 역전으로 테스트 편하게 만들기 !!  (0) 2025.11.08
PNG 변환기 만들기  (0) 2025.10.21
이분 탐색  (0) 2025.10.10
정소민fan
@정소민fan :: 코딩은 관성이야

코딩은 관성적으로 해야합니다 즐거운 코딩 되세요

목차