테스트용 신용카드 번호 2026 — Braintree·Stripe·PayPal·Square
Braintree, Stripe, PayPal, Square의 최신 테스트/더미 카드 번호를 브랜드별·성공/실패 패턴별로 정리. 원클릭 복사로 빠른 결제 테스트가 가능합니다.
| Service | [[ labels.col_number ]] | [[ labels.col_brand ]] | [[ labels.col_behavior ]] | |
|---|---|---|---|---|
| [[ card.service ]] | [[ formatNumber(card.number) ]] | [[ card.brand ]] [[ labels['subtype_' + card.subtype] ]] | [[ behaviorLabel(card.behavior) ]] |
테스트용 신용카드 번호란
결제 기능을 개발할 때는 실제 카드를 사용하지 않고도 "성공", "잔액 부족", "도난 카드" 같은 결과를 재현할 수 있어야 합니다. 이를 위해 각 결제 서비스는 서버 측에서 특정 결과와 연결된 고정 카드 번호를 제공합니다. 이 페이지는 Stripe, PayPal, Square, Braintree의 최신 테스트 번호를 브랜드와 결과별로 정리하여, 필요한 항목을 필터링하고 클릭 한 번으로 복사할 수 있도록 모아 놓았습니다.
이 번호들은 샌드박스 환경에서만 의미를 가집니다. 테스트용 API 키와 함께 사용하는 한 실제 청구는 전혀 발생하지 않지만, 프로덕션 키와 함께 사용하면 거래가 단순히 거절될 뿐입니다. 프로덕션 시스템은 이 번호들을 실제 카드로 인식하지 않기 때문입니다. 키와 번호는 반드시 함께 전환해야 하며, 결제 서비스가 테스트 번호를 이따금 업데이트하므로 예상과 다르게 동작한다면 해당 서비스의 최신 공식 문서를 확인하시기 바랍니다.
이 목록 사용 방법
- 결제 서비스 탭을 선택합니다 연동 중인 서비스(Stripe, PayPal, Square, Braintree)를 선택하면 해당 서비스의 번호만 표에 표시됩니다.
- 원하는 결과로 필터링합니다 성공, 실패, 3D Secure 필터를 사용해 오류 처리 경로 등 테스트하려는 시나리오만 골라낼 수 있습니다.
- 카드 번호를 복사합니다 각 행 옆의 복사 버튼을 누르면 번호가 클립보드에 저장되어 결제 폼에 바로 붙여넣을 수 있습니다.
- CVC와 유효기간을 입력합니다 CVC는 임의의 숫자(Amex는 4자리), 유효기간은 미래의 임의 날짜를 입력하면 되며 정확한 값을 준비할 필요는 없습니다.
더 잘 활용하기 위한 팁
- Stripe 테스트 모드에서는 CVC에 임의의 3자리 숫자(Amex는 4자리), 유효기간에 미래의 임의 날짜, 우편번호에 임의의 5자리 숫자를 입력하면 통과됩니다. 테스트 키를 사용하는 한 실제 청구는 발생하지 않습니다.
- 모든 테스트 카드 번호는 Luhn 검사(카드 번호 검증 알고리즘)를 통과하도록 설계되어 있어, 프론트엔드 유효성 검사에서 거부되지 않고 게이트웨이 측에서 테스트 시나리오를 재현할 수 있습니다.
- 3D Secure(3DS) 테스트에는 전용 카드를 사용합니다.
4000002500003155는 인증 다이얼로그가 표시되는 시나리오이고,4000000000003220은 3DS 2 플로우 테스트에 사용됩니다. - 프로덕션 환경에서 테스트 카드 번호를 사용하면 거래가 거절됩니다. 테스트 키와 테스트 카드 번호는 반드시 함께 사용하세요. Stripe의 테스트 키는
sk_test_로 시작합니다.
활용 시나리오
새 결제 연동 확인
결제 폼을 연동한 직후 성공 번호로 한 번 통과시켜 보면, 키 설정과 요청 구조가 올바른지 가장 빠르게 확인할 수 있습니다.
오류 처리 로직 구현
잔액 부족, 유효기간 만료, CVC 오류 등에 대응하는 번호를 사용하면 각 실패 상황에서 적절한 메시지가 표시되는지 점검할 수 있습니다.
3D Secure 동작 확인
인증 다이얼로그가 표시되는 전용 번호를 사용하면 인증 화면을 거쳐 앱으로 돌아오는 흐름까지 확인할 수 있습니다. 구현 시 누락되기 쉬운 부분입니다.
QA 테스트 계획서 작성
번호와 결과의 대응 관계를 테스트 스크립트에 바로 옮겨 적으면, 테스터가 매번 번호를 찾아다닐 필요가 없어집니다.
자동화 테스트 스위트용 픽스처 생성
동일한 고정 번호를 CI 테스트 픽스처에 사용하면 매 빌드마다 결제 흐름을 일관되게 검증할 수 있습니다.
결제 테스트 용어집
- 테스트 키
- 샌드박스 환경 전용 API 키입니다. Stripe의 테스트 키는
sk_test_로 시작하며, 이 키를 사용하는 한 실제 자금 이동은 발생하지 않습니다. - 샌드박스
- 프로덕션과 완전히 분리된 검증용 환경으로, 실제 자금에 영향을 주지 않고 성공과 실패를 자유롭게 재현할 수 있습니다.
- Luhn 검사
- 카드 번호의 자릿수가 유효한 배열인지 확인하는 체크섬 계산식입니다. 오타는 잡아내지만 실제로 존재하는 카드인지는 확인하지 못합니다.
- BIN / IIN
- 카드 번호의 앞 6~8자리로, 나머지 번호를 확인하기도 전에 발급 은행과 카드 브랜드를 식별하는 데 사용됩니다.
- CVC / CVV
- 카드에 인쇄된 3자리(Amex는 4자리) 보안 코드입니다. 샌드박스 환경에서는 임의의 숫자를 입력해도 통과합니다.
- 3D Secure
- 결제 과정에서 추가로 본인 확인을 요구하는 절차입니다. 전용 테스트 번호를 사용하면 이 인증 화면을 띄워 전체 흐름을 테스트할 수 있습니다.
- 오서라이제이션
- 카드에 자금이 있는지 확인하기 위해 일시적으로 한도를 잡아 두는 처리입니다. 실제 청구는 이후의 매입 단계에서 확정됩니다.
자주 묻는 질문
sk_test_ 등)와 함께 사용하는 한 실제 청구는 전혀 발생하지 않습니다. 실수로 프로덕션 키를 사용하면 테스트 번호로도 거래가 시도되므로, 키를 혼용하지 않도록 주의하세요.
여담 ― Luhn 알고리즘 ― 1954년부터 카드 번호를 지켜온 수호자
신용카드 번호 끝에 붙는 "체크 디지트"는 1954년 IBM 엔지니어 Hans Peter Luhn이 고안한 알고리즘으로 검증됩니다. 오른쪽 끝부터 한 자리 건너 숫자를 2배로 하여 각 자릿수를 합산하고, 10으로 나누어 떨어지면 유효한 번호입니다. 이 단순한 알고리즘은 현재도 Visa, Mastercard, Amex를 포함한 주요 브랜드에서 사용되며, 오타로 인한 입력 오류의 대부분을 걸러낼 수 있습니다.
다만 Luhn 검사는 어디까지나 "자릿수 오류 감지"에 특화되어 있으며, 실제로 존재하는 카드인지 여부는 판별하지 못합니다. 폼의 클라이언트 사이드 유효성 검사에서 Luhn 검사를 사용하는 것은 UX 개선(즉시 오류 알림)일 뿐이며, 부정 사용 방지에는 도움이 되지 않습니다. 실제 신용 확인은 반드시 서버 사이드에서 결제 게이트웨이를 통해 이루어져야 합니다.
테스트 카드 번호는 각 결제 서비스가 의도적으로 Luhn 검사를 통과하도록 설계한 고정 번호입니다. 예를 들어 Stripe의 4242424242424242는 같은 숫자의 반복이라 기억하기 쉬우면서도 Luhn 검증도 통과합니다. 번호 자체에는 특별한 의미가 없으며, Stripe 시스템 내에서 "성공", "실패" 등의 동작에 매핑되어 있을 뿐입니다.