Skip to content
마지막 작성자: hyejung-song
최근 업데이트: 26. 3. 17. 오후 6:04

토스 표준창 UI 연동 ​

토스 표준창은 USER_NONE 방식에서 고객이 개인정보를 직접 입력하는 토스 제공 UI입니다. 본인확인·간편인증 서비스에서 공통으로 사용하며, 아래 SDK를 사용해 웹/앱 환경에 맞게 연동하세요.


SDK 설치 ​

html
<head>
  <script src="https://cdn.toss.im/cert/v1"></script>
</head>

Case 1: 브라우저 팝업 방식 ​

javascript
var tossCert = TossCert();
tossCert.preparePopup(); // 팝업차단 방지

getTxId().then(function (response) {
  tossCert.start({
    authUrl: response.authUrl,
    txId: response.txId,
    onSuccess: function () {
      location.href = '/complete.html';
    },
    onFail: function (error) {
      console.error('에러 발생', error);
    }
  });
});

Case 2: 리다이렉트 방식 ​

javascript
var tossCert = TossCert();
getTxId().then(function (response) {
  tossCert.start({
    type: 'redirect',
    authUrl: response.authUrl,
    txId: response.txId,
    successUrl: location.origin + '/complete.html',
    failUrl: location.origin + '/fail.html'
  });
});

Case 3: Android 네이티브 웹뷰 ​

웹뷰에 tossAuthWebView JavaScript 인터페이스를 추가하고, Chrome Intent 실행을 허용하도록 shouldOverrideUrlLoading을 구성합니다.


Case 4: iOS 네이티브 웹뷰 ​

WKUserContentController에 tossAuthWebView JavaScript 메시지 핸들러를 추가합니다. POST 방식으로 요청을 로드하고, decidePolicyFor navigationAction에서 Universal Link 실행을 처리합니다.


Case 5: React Native 웹뷰 ​

Android용 Chrome Intent와 iOS용 Universal Link를 처리하는 Native Module을 생성합니다. WebView의 originWhitelist에 intent://를 포함하고, onMessage 콜백으로 인증 상태를 처리합니다.


주요 콜백 메시지 ​

메시지설명
TOSS_AUTH_POPUP_ONLOAD표준창 로드 완료
TOSS_AUTH_SUCCESS인증 성공
TOSS_AUTH_FAIL인증 실패
TOSS_AUTH_CLICK_NAVBAR_CLOSE사용자가 창 닫음