통합 사용자 플로우 (Flows)
본 장에서는 회원 본인 확인을 통해 기부 적합성을 필터링하고, 기부금 결제와 일반 PG사 여행 예약이 복합된 결제 흐름을 Saga 패턴에 맞추어 시나리오별로 다룹니다.
1. 회원인증 및 거주 지자체 검증 플로우
🛡️ 회원가입 및 최초 기부 진입 시점
사용자 본인 확인(PASS인증) ➡️ CI값 취득 ➡️ 주민등록 전산망에서 법정동 주소 취득 ➡️ 회원 테이블 `users.legal_region_code`에 매핑 기록 ➡️ 기부 신청 시 대상 지자체 코드와 일치 여부를 실시간 검사하여 동일할 경우 결제 진입을 원천 차단하고 경고 알럿 노출.
2. 통합 예약/기부 복합 결제 및 예외 처리 (Saga)
| 시나리오 | 기부 승인 (e음 API) | 예약 결제 (일반 PG) | 최종 백엔드 트랜잭션 처리 |
|---|---|---|---|
| 모두 승인 성공 | 성공 (eumApprovalNo 생성) | 성공 (Tid 생성) | 원장 최종 확정 (`COMPLETED`), 30% G-Point 충전 및 바코드 예약권 발행. |
| 기부 승인 실패 | 실패 (한도초과 / 주소위반) | 진행 안 함 (PG 차단) | 주문 원장 실패 처리 (`FAILED`) 및 기부 불가능 사유 팝업 노출. |
| PG 승인 실패 | 성공 (임시 원장 등록됨) | 실패 (한도초과 / 카드오류) | 보상 트랜잭션 가동: e음 기부 취소 API 호출 ➡️ 기부금 환불 처리 및 주문 원장 롤백(`CANCELLED`). |
3. G-Point 순환 유저 저니 (User Journey)
💰 기부 ➡️ 여행 예약 순환 프로세스
1. 지정 기부금 10만원 결제 완료 ➡️ 2. 즉시 30,000 G-Point 충전 ➡️ 3. 사용자 완주군 촌캉스 숙소 탐색 ➡️ 4. 8만원 숙박 선택 및 예약 ➡️ 5. 30,000 G-Point 전액 할인 차감 적용 ➡️ 6. 잔액 50,000원 카드 결제 완료 ➡️ 7. 로컬 순환 경제 완성.