스터디/[가상면접 사례로 배우는 대규모 시스템 설계 기초2]

[가상면접 사례로 배우는 대규모 시스템 설계 기초2] 11장. 결제 시스템

ttoance 2025. 9. 28. 07:00
반응형

11장. 결제 시스템 

1단계 : 문제 이해 및 설계 범위 확장 

기능 요구사항

  • 대금 수신 (pay-in) 흐름 : 결제 시스템이 판매자를 대신하여 고객으로부터 대금을 수령한다. 
  • 대금 정산 (pay-out) 흐름 : 결제 시스템이 전 세계의 판매자에게 제품 판매 대금을 송신한다. 

비기능 요구사항

  • 신뢰성 및 내결함성 : 결제 실패는 신중하게 처리해야 한다. 
  • 내부 서비스 (결제 시스템, 회계 시스템)와 외부 서비스(결제 서비스 제공업체) 간의 조정 프로세스 : 시스템 간의 결제 정보가 일치하는지 비동기적으로 확인 

개략적 규모 측정

  • 하루에 100만건의 트랜잭션을 처리해야 한다. (초당 10건의 트랜잭션)

 

2단계 : 개략적 설계안 제시 및 동의 구하기

복식부기 원장 시스템

  • 원장 시스템에는 복식 부기(double-entry)라는 아주 중요한 설계 원칙이 있다. 
    • 복식부기 회계 (accounting) 혹은 부기(bookeeping)이라고 한다. 
  • 복식부기는 모든 결제 시스템에 필수 요소이며 정확한 기록을 남기는 데 핵심 역할을 한다. 
  • 모든 결제 거래를 두 개의 별도 원장 계좌에 같은 금액으로 기록한다. 
  • 한 계좌에서는 차감이 이루어지고 다른 게좌에서는 입금이 이루어진다. 

 

3단계 : 상세 설계 

PSP(Payment Service Provider) 연동  -결제 서비스 공급자 (stripe, paypal)

  • 결제 시스템이 운행이나 비자 또는 마스터카드와 같은 카드 시스템에 직접 연결할 수 있다면 PSP 없이도 결제할 수 있다. 
  • 하지만 그런 직접 연결을 할 수 있는 경우는 아주 드물다. 
  • 대부분의 경우 다음 두 가지 방법 중 하나를 선택한다. 
    • 회사가 민감한 결제정보 안전하게 저장할 수 있다면 API 통해 PSP와 연동한다. 
    • 복잡한 규정 및 보안 문제로 민감한 결제 정보 저장하지 않기로 결정할 경우, PSP 는 카드 결제 정보 수집하여 PSP에 안전하게 저장할 수 있도록 외부 결제 페이지를 제공한다. (대부분이 채택한다)

 

반응형