Task 02 Task 02 결제 실패 시나리오 검토하기 실습 가이드
📥 실습 입력 (Input)
- •
day9_raw_payment_errors.json
💾 실습 출력 (Output)
- •
day9_error_mitigation_guide.md
1. 스토리 및 실습 배경
주문 결제 페이지를 배포한 직후 고객센터에 항의글이 폭주했습니다. 한 고객은 카드가 한도초과였을 뿐인데 화면에 뜬금없이 'Error 1042: Transaction Declined by Carrier'라는 영문 에러 메시지가 표시되자, 돈은 이미 계좌에서 빠져나갔고 가입 승인만 누락된 게 아닌지 공포에 떨어 결제를 거부했습니다. 또한 통신 지연 에러 상황에서 유저가 결제하기 버튼을 조급하게 연타하자 데이터베이스에 동일 주문 승인 쿼리가 세 번이나 연달아 날아가 이중 과금이 체결되는 중대 데이터 결함이 연출되었습니다.
2. 학습 목표
- 카드 한도초과, 잔액부족, 통신 지연 등 결제 트랜잭션 도중 발생하는 대표적 오류 4종을 나열할 수 있다.
- 기술성 원시 코드를 고객의 불안감을 지우고 후속 행동을 처방하는 친근한 안내 텍스트로 치환할 수 있다.
- 버튼 무력화(disabled) 및 멱등성 주문 키 등 이중 과금 승인 시도를 통제하는 예방 룰을 설계할 수 있다.
3. 실습 기초 코드 다운로드
아래 자바스크립트/JSON 뼈대 소스를 복사하거나 다운로드받아 로컬 실습 경로(day9_raw_payment_errors.json)에 저장하세요.
json{
"errors": [
{
"code": "ERR_CARD_LIMIT_EXCEEDED",
"carrier": "PG_KCP",
"description": "System transaction declined by external carrier due to lack of balance or limit exceeded on card"
},
{
"code": "ERR_NETWORK_TIMEOUT",
"carrier": "PG_TOSS",
"description": "Network timeout occurred while communicating with toss payments gateway api"
},
{
"code": "ERR_DUPLICATE_REQUEST",
"carrier": "INTERNAL_GATEWAY",
"description": "Idempotency validation failed. Multiple execution request of order id from same client detected"
}
]
}
4. Codex AI 프롬프트 카드
아래의 프롬프트를 복사하여 Codex Client의 AI 질의 응답 창에 붙여넣고 가이드를 받으세요.
제공된 PG사 원시 오류 로그 명세 `day9_raw_payment_errors.json`를 기반으로, 사용자에게 절대로 불안감을 주지 않는 친절한 \'오류 상황별 한글 안내 문구집\'과 중복 결제 시도를 차단하는 \'이중 승인 예방 대응 가이드라인(Mitigation Playbook)\'을 작성해 주세요.