안드로이드 Webview scheme 문의
안녕하세요. 안드로이드 Webview 연동시 scheme 관련해서 문의사항 드립니다.
웹뷰 내에서 토스페이를 선택 후 결제 URL을 생성하여 웹뷰로 노출한 상황입니다.
https://pay.toss.im/payfront/auth?payToken=example-payToken
shouldOverrideUrlLoading 에서 정상적으로 false를 리턴하여 페이지가 정상 노출된 상황이구요.
그런데
"여기서 토스페이로 결제하려면 다음 버튼늘 눌러주세요."
"다음"
이 페이지에서 다음 버튼을 누를시 'ERR_UNKNOWN_URL_SCHEME' 에러가 발생하고 있습니다.
이 에러는 supertoss:// 로 시작하는 스킴을 찾을 수 없다는 에러입니다.
이 스킴은 토스 앱이 정상적으로 설치되어있을때는 오류가 발생하지 않지만, 앱이 설치되어있지 않으면 오류가 발생하는 스킴입니다.
개발자 센터 내용을 보면 '다음' 버튼을 누를때 intent:// 로 시작하는 다이나믹 링크 스킴이 와야되는 것으로 알고 있습니다.
intent 스킴이 오지 않고 바로 supertoss 스킴이 오는 이유가 무엇인지 알 수 있을까요?
감사합니다.
17 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
토스페이먼츠 PG 를 통해서 토스 페이를 사용하고 계시는 거죠?
아 제가 모르고 있는 부분이 있나보네요. 웹팀에 확인해보겠습니다.
기본적으로는 이렇게 intent 로 다이나믹 스킴이 오게 되어 있습니다.
intent://pay?payToken=EgxXuAxjR4NFk9OxQaGqf5&isBnplShop=false#Intent;scheme=supertoss;package=viva.republica.toss;end
웹팀에서 토스페이먼트 PG를 통해 토스페이 사용하고 있다고 답변이 왔네요.
넵, intent:// 스킴이 와야 정상적으로 앱 미설치시 이동이 되는 것으로 알고 있습니다.
어떤 이유인지 모르게 저희가 연동시 계속 supertoss:// 스킴이 계속 전달되고 있어서 앱 미설치시 프로세스가 수행되고 있지 않은 상황입니다.
혹시 supertoss:// 스킴은 절대 호출될 수 없는 상황일까요?
intent://pay?payToken=54PXC4JNYnmIrq0RmmYy4b#Intent;scheme=supertoss;package=viva.republica.toss;end
위와 같은 intent 방식으로 보내드리는 것으로 확인됩니다 ..!
혹시 supertoss:// 스킴은 절대 호출될 수 없는 상황일까요?이건 무슨 말씀이세요? 방금 다시한번 이상없이 intent url 호출하는 것으로 확인했습니다.

이 화면에서 다음 버튼을 누르면

intent://가 오지 않고 저렇게 supertoss:// 가 바로 호출되는 상황이라서요.
다른 카드사 하면 어떻게 나오시나요
어떠한 방식으로 구현하신지는 모르겠으나. 이미 intenturl을 컨버팅한 이후에 확인 중이신 것 같아요.
만일 실제로 저게 supertoss로 내려간다면... 많은 가맹점에서 오류가 일어나야하는 상황입니다.
넵, 감사합니다.
저도 모바일 담당자라 웹에서 어떻게 구현했는지에 대한 정보를 모르고 있긴 합니다.
결제시 카드사 선택 없이 토스페이를 선택하고 결제 진행한 상황입니다.
내부 상황을 좀 더 확인해보도록 하겠습니다.
저희도 한번 더 확인해보겠습니다 !
그런데 intent url 쏴주는 부분은 웹이랑 상관이 없습니다.
모든 가맹점이 공통으로 사용하는 저 다음 버튼에 아래 링크가 물려있어요
intent://pay?payToken=bMpxmSyOa0KFRly7zKqKc8&isBnplShop=false#Intent;scheme=supertoss;package=viva.republica.toss;end
https://pay.toss.im/payfront/auth?payToken=example-payToken
위의 형태로 생성된 URL을 가지고 다른 웹뷰에서 실행하면 정상적으로 intent:// 스킴이 호출되는 것으로 보입니다.
저희 서비스의 웹뷰에서만 supertoss:// 가 실행되는 것 같은데요... 이게 원인을 명확히 알 수가 없는 상황입니다.
UserAgent 혹은 헤더영역등 앱에서 웹뷰 설정시 여러가지 설정을 하고 있는 상황이라서 앱의 어떤 특정 설정의 이유때문에 supertoss://가 실행되는 느낌이라서요.
토스 결제 화면에서는 supertoss:// 를 바로 스킴호출하는 경우가 없다는 말씀이시죠?
넵넵 그럼 뭔가 다른 이유가 있는지 확인해보겠습니다.
네 저희쪽은 intent 를 거쳐서 호출하도록 되어 있습니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.