우리가 가게에서 신용카드로 결제하는 순간, 단 1~2초 만에 모든 것이 처리됩니다.
이 짧은 순간의 마법 뒤에는, 우리 서비스, VAN사, PG사, 카드사가 얽힌 매우 복잡한 통신 과정이 숨어있습니다.
이 과정 중 어느 한 곳이라도 문제가 생기면, 결제는 실패하고 비즈니스에 직접적인 손실이 발생합니다.
이번 글에서는 금융 QA가 이 복잡한 ‘신용카드 결제 시스템’의 신뢰성을 어떻게 검증해야 하는지 알아보겠습니다.

이 글에서 다루는 것
- 신용카드 결제의 전체 흐름 (승인-매입-정산)
- ‘승인’ 과정의 핵심 테스트 포인트
- ‘매입’ 및 ‘정산’ 과정의 데이터 검증
- 카드 시스템 테스트 실무 팁
신용카드 결제, 어떻게 이루어지나요?
QA는 ‘신용카드 결제’가 크게 세 단계로 이루어진다는 것을 이해해야 합니다.
- 1. 승인 (Authorization):
- 고객이 카드를 긁거나, 온라인에서 결제 버튼을 누르는 순간입니다.
- “이 카드는 유효한가? 한도는 충분한가?”를 카드사에 실시간으로 물어보고, 사용해도 좋다는 ‘허락’을 받는 과정입니다.
- 2. 매입 (Clearing / Capture):
- 하루 동안 발생한 모든 ‘승인’ 거래들을 모아서, “오늘 총 이만큼 팔았으니, 이 금액을 우리에게 입금해주세요” 라고 카드사에 공식적으로 청구하는 과정입니다.
- 보통 하루에 한 번, 야간 배치(batch) 작업으로 이루어집니다.
- 3. 정산 (Settlement):
- 카드사가 매입 요청을 받고, 수수료를 제외한 최종 금액을 가맹점(우리 회사)의 계좌에 ‘입금’해주는 과정입니다.
[핵심 1] ‘승인’ 과정은 어떻게 테스트하나요?
실시간으로 이루어지는 가장 중요한 단계입니다.
- 긍정 케이스:
- 정상적인 카드로 결제 시, 정해진 시간(예: 3초) 내에 ‘승인’이 완료되는지 확인합니다.
- 할부 결제가 올바르게 처리되는지 확인합니다.
- 부정 케이스 (거절 테스트):
- QA는 일부러 다양한 실패 상황을 연출해야 합니다.
- 유효하지 않은 카드 정보:
- 만료된 카드, 도난/분실 신고된 카드, CVC 오류 등
- 한도 초과:
- 고객의 결제 한도를 초과하는 금액을 결제 시도
- 시스템 타임아웃:
- 카드사 응답이 지연될 때, 무한정 기다리지 않고 ‘거래 시간 초과’ 처리를 하는지 확인
- 기대 결과:
- 각 거절 사유에 맞는, 명확하고 친절한 오류 메시지가 사용자에게 표시되어야 합니다.
[핵심 2] ‘매입’ 및 ‘정산’ 과정은 어떻게 테스트하나요?
이는 눈에 보이지 않는 백엔드 데이터 검증의 영역입니다.
- 매입 데이터 검증:
- 하루 동안의 ‘승인’된 거래 건수 및 총 금액이, 다음 날 아침 ‘매입’을 위해 카드사로 넘어간 데이터의 건수 및 총 금액과 정확히 일치하는지 확인합니다.
- ‘승인’은 되었지만, 당일 바로 ‘취소’된 거래가 매입 대상에서 올바르게 제외되었는지도 중요한 검증 포인트입니다.
- 정산 데이터 검증:
- 카드사가 우리 회사에 입금해 준 ‘정산’ 금액을 확인합니다.
(총 매입 금액) - (카드 수수료)공식에 따라, 정산 금액이 1원의 오차도 없이 정확한지 검증해야 합니다.- QA는 이를 위해 테스트 환경에서 다양한 거래를 발생시키고, 예상 정산 금액을 직접 계산하여 실제 결과와 비교합니다.
현직자만 아는 카드 시스템 테스트 꿀팁
꿀팁 1: 다양한 카드 BIN을 확보하라
카드 번호의 앞 6~8자리를 ‘BIN’이라고 부릅니다. 이 BIN 번호에 따라 카드사, 카드 종류(신용/체크), 등급(법인/개인)이 구분됩니다. QA는 테스트를 위해 최대한 다양한 종류의 카드 BIN을 확보하여, 특정 카드사나 특정 종류의 카드에서만 발생하는 문제가 없는지 확인해야 합니다.
꿀팁 2: 망상 취소(Phantom Transaction) 시나리오를 점검하라
네트워크 오류 등으로 인해, 고객은 ‘결제 실패’ 메시지를 봤지만, 실제로는 카드사에서 ‘승인’이 완료되는 경우가 있습니다. 이 상태에서 고객이 재결제를 시도하면 ‘중복 결제’가 발생할 수 있습니다. QA는 의도적으로 네트워크를 불안정하게 만들거나, API 타임아웃을 유발하여, 이러한 데이터 불일치 상황을 시스템이 어떻게 방어하는지 검증해야 합니다.
결론: 금융 신뢰도의 기본
신용카드 결제 시스템은 모든 전자상거래와 핀테크 서비스의 근간입니다.
이 시스템의 테스트는 단순히 기능 하나를 검증하는 것이 아니라, 고객과 회사 간의 ‘금전적 신뢰’를 보증하는 과정입니다.
QA는 실시간으로 이루어지는 ‘승인’ 과정의 안정성과, 보이지 않는 곳에서 이루어지는 ‘매입’과 ‘정산’ 데이터의 정확성을 모두 책임지는, 금융 시스템의 핵심적인 품질 수호자입니다.
참고 자료 (References)
- NICE페이먼츠 – 온라인 결제 흐름의 이해 (국내 PG사)
- Stripe Docs – Charges and payments (글로벌 결제 솔루션)