본문으로 건너뛰기

웹뷰(WebView) 연동하기

브라우저가 아닌 웹뷰(Webview)에서 카드(또는 외부결제) 결제창을 호출할 때 추가되는 앱스킴 목록과 패키지명을 지원하기 위함입니다.

앱스킴(appScheme) 파라미터를 추가할 경우 별도의 처리 없이 대외기관 앱에서 상점앱으로 돌아갈 수 있습니다. 결제요청 파라미터를 참조하세요.

변경 이력

일자요약
2025.10.15기존 연동 가이드 리뉴얼

앱스킴 목록

카드사/대외기관앱스킴
ISP(BC/국민)ispmobile://
KB국민카드kb-acp://, liivbank://, newliiv://, kbbank://
신한카드shinhan-sr-ansimclick://, shinhan-sr-ansimclick-lpay://, shinhan-sr-ansimclick-naverpay://, shinhan-sr-ansimclick-payco://, smshinhanansimclick://, travelwallet://
NH농협카드nhallonepayansimclick://, npappcardansimclick://, nonghyupcardansimclick://
롯데카드lottesmartpay://, lotteappcard://
삼성카드mpocket.online.ansimclick://, vguardstart://, monimopay://, monimopayauth://
하나카드cloudpay://, hanawalletmembers://
현대카드hdcardappcardansimclick://, smhyundaiansimclick://
우리카드com.wooricard.wcard://, newsmartpib://
씨티카드citimobileapp://, citicardappkr://
간편결제samsungpay://, naversearchthirdlogin://, kakaotalk://, payco://, lpayapp://, shinsegaeeasypayment://, supertoss://
계좌이체(금결원)kftc-bankpay://
티머니tmoneypay://
모바일PASStauthlink://, ktauthexternalcall://, upluscorporation://
카카오뱅크kakaobank://

Android

아래 파일 내용에 있는 카드사 앱 및 대외기관 앱 패키지를 등록하여 주시기 바랍니다.

AndroidManifest.xml
<queries>
<package android:name="com.shcard.smartpay" /> <!-- 신한페이판 -->
<package android:name="com.shinhancard.smartshinhan" /> <!-- 신한페이판-공동인증서 -->
<package android:name="com.mobiletoong.travelwallet" /> <!—신한카드 트래블월렛 -->
<package android:name="com.shinhan.smartcaremgr" /> <!—신한 슈퍼 sol -->
<package android:name="com.shinhan.sbanking"/> <!--신한SOL뱅크-->
<package android:name="kr.co.samsungcard.mpocket" /> <!-- 삼성앱카드 -->
<package android:name="net.ib.android.smcard" /> <!-- 삼성카드 모니모 -->
<package android:name="com.kbcard.cxh.appcard" /> <!-- KB Pay -->
<package android:name="com.kbstar.liivbank" /> <!-- Liiv(KB국민은행) -->
<package android:name="com.kbstar.kbbank" /> <!-- Liiv(KB국민은행) -->
<package android:name="com.kbstar.reboot" /> <!-- Liiv Next(KB국민은행) -->
<package android:name="nh.smart.nhallonepay" /> <!-- NH올원페이 -->
<package android:name="com.nh.cashcardapp" /> <!-- NH농협은행(앱캐시) -->
<package android:name="com.lcacApp" /> <!-- 롯데카드 -->
<package android:name="kvp.jjy.MispAndroid320" /> <!-- ISP/페이북 -->
<package android:name="com.hanaskcard.paycla" /> <!-- 하나카드 -->
<package android:name="kr.co.hanamembers.hmscustomer" /> <!-- 하나맴버스 -->
<package android:name="com.hanaskcard.rocomo.potal" /> <!-- 하나카드 - 공동인증서-->
<package android:name="kr.co.citibank.citimobile" /> <!-- 씨티카드 -->
<package android:name="com.wooricard.smartapp" /> <!-- 우리WON카드 -->
<package android:name="com.wooribank.smart.npib" /> <!-- 우리WON뱅킹 -->
<package android:name="com.hyundaicard.appcard" /> <!-- 현대카드 -->
<package android:name="com.lumensoft.touchenappfree" /> <!-- 공동인증서 -->
<package android:name="com.TouchEn.mVaccine.webs" /> <!-- TouchEn mVaccine(신한) -->
<package android:name="kr.co.shiftworks.vguardweb" /> <!-- V-Guard(삼성) -->
<package android:name="com.ahnlab.v3mobileplus" /> <!-- V3(NH,현대) -->
<package android:name="com.nhnent.payapp" /> <!-- PAYCO -->
<package android:name="com.samsung.android.spay" /> <!-- 삼성페이 -->
<package android:name="com.samsung.android.spaylite" /> <!-- 삼성페이 미니 -->
<package android:name="com.ssg.serviceapp.android.egiftcertificate" /> <!-- SSG페이 -->
<package android:name="com.lottemembers.android" /> <!-- Lpay -->
<package android:name="com.nhn.android.search" /> <!-- 네이버페이 -->
<package android:name="com.kakao.talk" /> <!-- 카카오페이 -->
<package android:name="com.kftc.bankpay.android" /> <!-- 뱅크페이 -->
<package android:name="viva.republica.toss" /> <!-- 토스페이 -->
<package android:name="com.sktelecom.tauth" /> <!-- PASS(SKT) -->
<package android:name="com.kt.ktauth" /> <!-- PASS(KT) -->
<package android:name="com.lguplus.smartotp" /> <!-- PASS(LGT) -->
<package android:name="com.kakaobank.channel"/> <!--카카오뱅크-->
<package android:name="com.lgt.tmoney" /> <!—모바일티머니 -->
</queries>

WebViewClient의 shouldOverrideUrlLoading 함수에 오버라이딩 로직을 추가해 주셔야 외부 앱을 호출하거나 마켓으로 연결 시 net::ERR_UNKNOWN_URL_SCHEME 에러가 발생하지 않습니다.

Java
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (!URLUtil.isNetworkUrl(url) && !URLUtil.isJavaScriptUrl(url)) {
final Uri uri;
try {
uri = Uri.parse(url);
} catch (Exception e) {
return false;
}
if ("intent".equals(uri.getScheme())) {
return startSchemeIntent(url);
} else {
try {
startActivity(new Intent(Intent.ACTION_VIEW, uri));
return true;
} catch (Exception e) {
return false;
}
}
}

return false;
}

iOS

Info.plist에 있는 앱스킴을 추가하고, 앱 실행을 위한 코드를 추가해 주시기 바랍니다.

Info.plist
<key>LSApplicationQueriesSchemes</key>
<array>
<string>ispmobile</string>
<string>kb-acp</string>
<string>liivbank</string>
<string>newliiv</string>
<string>kbbank</string>
<string>shinhan-sr-ansimclick</string>
<string>shinhan-sr-ansimclick-lpay</string>
<string>shinhan-sr-ansimclick-naverpay</string>
<string>shinhan-sr-ansimclick-payco</string>
<string>smshinhanansimclick</string>
<string>travelwallet</string>
<string>nhallonepayansimclick</string>
<string>npappcardansimclick</string>
<string>nonghyupcardansimclick</string>
<string>lottesmartpay</string>
<string>lotteappcard</string>
<string>mpocket.online.ansimclick</string>
<string>cloudpay</string>
<string>hanawalletmembers</string>
<string>hdcardappcardansimclick</string>
<string>smhyundaiansimclick</string>
<string>com.wooricard.wcard</string>
<string>newsmartpib</string>
<string>citimobileapp</string>
<string>citicardappkr</string>
<string>samsungpay</string>
<string>naversearchthirdlogin</string>
<string>kakaotalk</string>
<string>payco</string>
<string>lpayapp</string>
<string>shinsegaeeasypayment</string>
<string>supertoss</string>
<string>kftc-bankpay</string>
<string>tmoney</string>
<string>appfree</string>
<string>mvaccinestart</string>
<string>vguardstart</string>
<string>v3mobileplusweb</string>
<string>tauthlink</string>
<string>ktauthexternalcall</string>
<string>upluscorporation</string>
<string>monimopay</string>
<string>monimopayauth</string>
<string>kakaobank</string>
<string>tmoneypay</string>
</array>

XCode에 앱스킴을 추가 후 앱간 호출을 하기 위해 아래와 같이 코드를 추가합니다.

Objective-C
- (void)webView:(WKWebView *)webView
decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction
decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
NSURL* url = navigationAction.request.URL;
if (url != nil && ![url.scheme isEqual:@"http"] && ![url.scheme isEqual:@"https"]) {
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];
decisionHandler(WKNavigationActionPolicyCancel);
return;
}
decisionHandler(WKNavigationActionPolicyAllow);
}