ios 웹앱 오류처리관련 문의사항
안녕하세요. 웹뷰기반 앱을 운영중에 있습니다.
안드로이드의 경우, 웹/앱 둘다 아래와 같은 문제가 없는데요.
ios 는 웹/앱 에서는 결제 취소 시, 다음과 같이 오류화면으로 이동됩니다.
처리방식은 리턴된 failUrl 에서 얼럿 노출 후 javascript:history.back(); 으로 처리되고 있습니다.
사파리 브라우저는 브라우저의 백 버튼이 있어 이슈가 없는데요.
앱의 경우 별도의 네이티브 백 버튼이 없어, 뒤로갈 수 없는 상황입니다.
해당 화면에서 백처리 또는 안나오게 하는 방안에 대해 문의드립니다.
8 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
우선 history back 사용하시면 안됩니다. history상 뒤로가기하면 결제창인데, session이 끊어지기 때문에 위가 정상적이 상황이 맞습ㄴ디ㅏ.
화면을 redirect하는 방향으로 해주셔야합니다.
해당 화면이 post 로 구현되어 redirect 처리가 쉽지는 않은 상황입니다.
기존 결제는 자체구현 된 결제수단 버튼 클릭 시, PG 화면을 새창으로 띄우는 형태로 구현된 상태였기에, 그냥 닫으면 되는 구조였어서..
결제 중 취소 시, 기존 화면을 그냥 유지하여 달라는 요건도 있어 겨우겨우 오긴했습니다만..
같은 구조에 안드 웹/앱은 해당 화면이 발생되지 않는데요. 혹시 차이점이 있나요?
사파리의 히스토리 관리방식이 달라서 발생합니다.
iOS 인경우만 판단해서 history.go(-2) 또는 -3으로 처리하실수도 있을텐데, 이실장님 말씀대로 저희가 권장하는방식은 아닙니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
우선은 케이스별 히스토리 컨트롤로 적용하였습니다. 권장 방식은 아니라고 하시니 근본적으로는 리다이렉션 방식으로 변경되어야 할것 같은데...
혹시 requestPayment 호출 시에 넘긴 커스텀 파라미터를 successUrl, failUrl 에 그대로 다시 받을 수 있는 기능이 있나요?
아니면 다들 자체적인 방식으로 저장 후, 복원하는 방식을 사용하여 구현하나요?
successUrl, failUrl 에 쿼리 스트링 파람으로 값 넘기시면, 응답 완료된 이후에 쿼리파람으로 이어져서 받을 수 있습니다.
successUrl: https://success.com?foo=bar
이렇게 보내면
인증완료된 이후, 리다이렉션 시에
https://success.com?foo=bar&orderId=order&amount=12345&paymentKey=paymentkey
이렇게 전달 됩니다.
이 방법 활용 하셔도 좋고, 세션에 값 저장해서 사용도 추천 드립니다.
네! 가이드 감사합니다.