BackEnd/Node2 신규 결제 시스템 도입기2 (동시성을 고려하기) 1편 :https://sorryisme.tistory.com/98 새로운 결제 시스템이 도입되었다. 중복 결제를 막는 방법으로 비관적 락을 사용하였고 QA 및 실제 배포 후 문제는 없었다. 하지만 현업은 다음과 같은 요건이 던져졌다. 요건 및 추가 제한사항으로는 간편결제 한도가 있다는 것이다. 객단가가 높은 비즈니스 상황상 한 번의 Request에 분할결제를 진행 해야했으며 요건이 변경됨에 따라 정책과 동시에 개발 또한 수정이 필요했다. 한도가 정해진 결제에 대해서 여러 번 결제해서 처리해달라는 요청이다. 여러가지 제한점과 고려해야할 사항들이 발생되었다 ** 참고로 환불에 대한 PG사의 API가 존재하지 않아 부분 환불 및 전체 환불은 불가하다 (은행계좌를 통한 간편결제 시스템) 기존 로직 async.. 2025. 1. 17. 신규 결제 시스템 도입기 (중복결제 방지하기) 현업에서 새로운 결제 시스템에 대한 추가적인 도입을 진행했다. 기존 카드와 가상계좌 결제뿐 아니라 추가적으로 간편결제가 도입되어 결제를 수행한다. 하지만 결제 수행 간에 여러가지 고려해야할 사항들이 있다. 가장 크리티컬한 문제는 이중 결제이다.고객의 신뢰도를 잃을 뿐 아니라 다양한 후속 조치를 처리해야하는 문제까지 발생한다. 특히 이번에 도입하는 간편 결제는 환불 기능도 존재하지 않아서 중복 결제의 리스크가 존재하기에 이 문제를 반드시 해결해야한다. 해결 방안중복결제는 막는 방법은 다양하다프론트에서 연속된 요청을 막는다유니크한 키 값으로 결제여부를 체크한다뮤텍스 관련 라이브러리를 사용락을 사용한다일단 프론트에서 연속된 요청을 막는 것은 기본으로 수행하였다. 허나 항상 중복결제 클릭을 방지한다고 모든 리스.. 2025. 1. 15. 이전 1 다음