[#56] 예약 & 결제 프로세스 및 패키지 구조 재정의 #57

Merged
pricelees merged 45 commits from refactor/#56 into main 2025-10-09 09:33:29 +00:00
Owner

📝 관련 이슈 및 PR

PR과 관련된 이슈 번호

작업 내용

스크린샷 2025-10-09 18.26.43.png
  • '결제 요청 API가 호출된 이상 사용자는 결제를 시도한 것으로 간주한다' + 'PG사 정상 응답만 오면 사용자는 결제를 성공한 것이다' 의 관점으로 구현

  • 결제 요청 API가 호출되면, 이미 예약이 완료, 취소, 만료된 것이 아니라면 검증 후 해당 예약을 배치가 처리하지 못하게 PAYMENT_IN_PROGRESS로 변경

  • PG사 결제가 성공하면, 이후의 결제 & 예약 정보 저장의 성공 여부와 무관하게 일단 API는 성공 응답 전송

  • 매 결제 시도는 성공 / 실패 여부와 무관하게 이력 저장 => 결제 시도 횟수가 N번 이상이면 프론트엔드에서 특정 처리(=> 현장결제 페이지 안내 예정. 현재 바로는 구현 계획 X)

  • 기존 배치와의 경합 + 데드락 방지를 위해 배치 작업을 조회 -> 수정 두 단계로 변경했고, 조회 단계에서는 SKIP LOCKED 사용.

🧪 테스트

  • 새로 통합한 Order 관련 API 테스트 및 기존 배치와의 경합 상황 테스트

📚 참고 자료 및 기타

아직 전체 프로세스가 끝난게 아님. 마지막의 결제 & 예약 실패 후 후처리 기능 구현이 필요함.

  • 하지만 일단 기능 개발은 여기까지 하고, 지금까지 개발된 내용을 우선 테스트해볼 예정.
  • 실제 트래픽이 들어왔을 때, 얼만큼, 어디서 실패하는지 확인하기 위함.
<!-- 제목 양식 --> <!-- [이슈번호] 작업 요약 (예시: [#10] Gitea 템플릿 생성) --> ## 📝 관련 이슈 및 PR **PR과 관련된 이슈 번호** - #56 ## ✨ 작업 내용 <!-- 어떤 작업을 했는지 알려주세요! --> <img width="1163" alt="스크린샷 2025-10-09 18.26.43.png" src="attachments/b1651431-c1c4-4198-84c8-2019bde70dd6"> - '결제 요청 API가 호출된 이상 사용자는 결제를 시도한 것으로 간주한다' + 'PG사 정상 응답만 오면 사용자는 결제를 성공한 것이다' 의 관점으로 구현 - 결제 요청 API가 호출되면, 이미 예약이 완료, 취소, 만료된 것이 아니라면 검증 후 해당 예약을 배치가 처리하지 못하게 PAYMENT_IN_PROGRESS로 변경 - PG사 결제가 성공하면, 이후의 결제 & 예약 정보 저장의 성공 여부와 무관하게 일단 API는 성공 응답 전송 - 매 결제 시도는 성공 / 실패 여부와 무관하게 이력 저장 => 결제 시도 횟수가 N번 이상이면 프론트엔드에서 특정 처리(=> 현장결제 페이지 안내 예정. 현재 바로는 구현 계획 X) - 기존 배치와의 경합 + 데드락 방지를 위해 배치 작업을 조회 -> 수정 두 단계로 변경했고, 조회 단계에서는 SKIP LOCKED 사용. ## 🧪 테스트 <!-- 어떤 테스트를 생각했고 진행했는지 알려주세요! --> - 새로 통합한 Order 관련 API 테스트 및 기존 배치와의 경합 상황 테스트 ## 📚 참고 자료 및 기타 <!-- 참고한 자료, 또는 논의할 사항이 있다면 알려주세요! --> 아직 전체 프로세스가 끝난게 아님. 마지막의 결제 & 예약 실패 후 후처리 기능 구현이 필요함. - 하지만 일단 기능 개발은 여기까지 하고, 지금까지 개발된 내용을 우선 테스트해볼 예정. - 실제 트래픽이 들어왔을 때, 얼만큼, 어디서 실패하는지 확인하기 위함.
pricelees added the
Kind/Enhancement
label 2025-10-09 09:31:17 +00:00
pricelees self-assigned this 2025-10-09 09:31:17 +00:00
pricelees added 45 commits 2025-10-09 09:31:18 +00:00
- 충돌 방지를 위해 조회시 Lock 추가
- 해당 일정의 시작 시간이 현재 시간 이후인지 검증 로직 추가
- 해당 schedule이 만료되었는지, 시작 시간이 현재 시간 이전인지 확인
- 만료, 취소 예약 기능 추가
- Payment 생성 시 입력된 method에 따른 분기 처리
pricelees merged commit 047e4a395b into main 2025-10-09 09:33:29 +00:00
Sign in to join this conversation.
No description provided.