이슈
- 웹앱 화면에서 카카오페이 결제 시, 결제가 안되고 로딩 화면에서 멈추게 됨.
기존 코드 분석
- 해당 웹앱은 소켓 통신을 사용함.
- 웹앱 화면을 나오게 되면 소켓 연결이 자동적으로 끊겼다가, 웹앱으로 다시 접속하면서 자동으로 연결됨.
- 카카오 페이를 이용할 시, 인증을 위해 카카오톡 어플로 이동함.
- 위 상황에서 소켓이 원치 않은 타이밍에 연결이 끊겼다가 복구되며 사이드이펙트가 발생.
원인
- 소켓 연결이 원하는대로 이루어지지 않음
해결방안
- 카카오페이에 결제 요청을 보낸 이후 소켓 연결을 강제로 disconnect.
(카카오톡으로 화면이 전환될 때, 자동으로 커넥트가 해제되고 연결되는걸 방지하기 위함) - 카카오톡 앱에서 거래요청이 성공하면 기존 앱 화면에 success가 전달되고, 실패하면 fail이 전달되게 함.
- 이 때 각각 success와 fail에 소켓을 다시 connect한다는 코드를 달아줌.
'했던것들 > 알게된 것들' 카테고리의 다른 글
Repository Pattern in Android (0) | 2023.03.14 |
---|---|
네이버 Map 타입스크립트 적용하기 (0) | 2023.03.13 |
ESLint, Prettier 통합 (0) | 2023.02.27 |
라이브러리, 프레임워크 사용 중 생긴 uncaught syntaxerror: unexpected token '<' (0) | 2023.02.27 |
vue ESLint 끄기 (0) | 2023.02.24 |