스파르타 코딩
[4, 5주차] 키즈카페 조회 & 예약 사이트 만들기 - 결제 시스템 (의사결정 과정)
스타르타
2024. 12. 27. 17:55
반응형
1. 내가 구현한 기능
- 결제 시스템 도입 및 예약과 연결: 예약 후 결제를 처리하고, 결제 완료된 예약에 대해서만 리뷰 작성이 가능하도록 시스템을 개선하였습니다. 이를 통해 예약과 결제의 상태를 일관되게 관리하고, 결제 후 일정 시간 이내로 리뷰 작성만 허용하는 기능을 구현했습니다.
- 리뷰 작성 시간 제한: 예약 후 리뷰 작성은 예약한 시간 이후에만 가능하도록 제한하였습니다. 이를 통해 예약된 시간과 실제 방문 시간이 맞지 않는 리뷰 작성을 방지하고, 예약자의 신뢰도를 높였습니다.
2. 주요 로직
- 결제 시스템 도입: 사용자가 예약을 진행한 후, 결제 시스템을 통해 결제를 완료해야만 예약이 확정됩니다. 결제 완료 후에만 예약 상태가 '결제 완료'로 변경되며, 이 상태에서만 리뷰를 작성할 수 있습니다.
- 예약 시간 이후 리뷰 작성: 예약 시간 이후에만 리뷰를 작성할 수 있도록 제한하여, 예약된 시간에 방문한 후 작성한 리뷰만 유효하도록 하였습니다. 이를 통해 예약의 신뢰성과 리뷰의 정확성을 확보했습니다.
3. 배경
- 예약과 결제의 분리 문제: 이전에는 예약만 진행되었고 결제 여부가 확인되지 않았기 때문에, 실제로 방문하지 않은 사용자도 리뷰를 작성할 수 있었습니다. 결제 시스템을 도입하여 예약과 결제를 명확히 구분하고, 결제된 사용자만 리뷰를 작성하도록 유도하였습니다.
- 리뷰의 신뢰성: 리뷰는 실제 방문한 사용자만 작성할 수 있도록 하는 것이 중요합니다. 예약된 시간이 지나지 않은 경우에는 리뷰를 작성할 수 없도록 제한하여, 리뷰의 신뢰성을 높이려 했습니다.
4. 요구사항
- 결제 시스템 연동: 예약 후 결제를 진행하고, 결제 완료 시에만 예약이 확정되도록 하여 리뷰 작성이 가능한 조건을 설정해야 했습니다.
- 리뷰 작성 시간 제한: 예약 시간이 지나지 않으면 리뷰를 작성할 수 없도록 제한하여, 실제 방문 후 리뷰가 작성되도록 해야 했습니다.
5. 선택지
- 결제 시스템
- 외부 결제 API 사용: 외부 결제 API(예: 토스, 카카오페이...)를 사용하여 결제를 처리하는 방법
- 직접 결제 시스템 구축: 자체 결제 시스템을 개발하여 결제를 처리하는 방법
- 리뷰 작성 시간 관리
- 예약 시간 이후 리뷰 작성 허용: 예약 시간을 기준으로 리뷰 작성 가능 시간을 설정하여, 예약된 시간 이후만 리뷰를 작성할 수 있도록 제한
- 즉시 리뷰 작성 가능: 예약과 결제 후 바로 리뷰를 작성할 수 있도록 허용
6. 의사결정/사유
- 결제 시스템 도입
- 외부 결제 API를 사용하기로 결정했습니다. 외부 결제 API는 이미 검증된 서비스로, 결제 시스템을 직접 개발하는 것보다 안정적이고 빠른 시간 내에 구현할 수 있기 때문입니다. 특히, 사용자 정보 보호 및 결제 보안 측면에서도 외부 결제 API가 더 유리하다고 판단했습니다.
- 리뷰 작성 시간 제한
- 예약 시간이 지난 후에만 리뷰를 작성할 수 있도록 설정했습니다. 예약된 시간 이후에만 리뷰를 작성할 수 있도록 하여, 실제 방문한 사용자가 작성한 리뷰만 유효하도록 제한했습니다. 즉, 예약된 시간과 실제 방문 시간이 맞지 않는 리뷰를 방지할 수 있게 되었습니다.
7. 회고
- 기술의 장단점
- 외부 결제 API 사용: 외부 결제 API를 도입함으로써 결제 시스템을 신속하게 구현할 수 있었으며, 보안과 안정성 면에서 우수한 결과를 얻을 수 있었습니다. 그러나 외부 서비스의 의존도가 높아지며, 서비스 제공자가 변경되거나 API가 중단될 경우 발생할 수 있는 리스크도 존재합니다.
- 리뷰 작성 제한: 예약 시간이 지나야만 리뷰를 작성할 수 있게 하여 리뷰의 신뢰성을 높일 수 있었습니다. 하지만 이로 인해 일부 사용자가 불편을 겪을 수 있다는 점을 고려하여, 향후 개선할 수 있는 부분이 있을 수 있습니다.
- 다시 시도한다면
- 결제 시스템: 외부 결제 API 대신, 자체 결제 시스템을 구축하여 더 많은 커스터마이징을 할 수 있었을지도 모릅니다. 그러나 유지보수와 보안 관리를 고려했을 때, 외부 결제 API가 더 효율적이라고 생각합니다.
- 리뷰 작성 제한: 리뷰 작성 제한을 더욱 세밀하게 설정할 수 있을 것 같습니다. 예를 들어, 예약 시간 이후 일정 시간이 지난 후 리뷰를 작성하도록 하여, 방문 후 너무 오랜 시간이 지난 리뷰를 막을 수 있을 것입니다.
반응형