UNPKG

react-native-toss-payments

Version:

리액트 네이티브용 토스페이먼츠 결제 연동 라이브러리

278 lines (210 loc) 9.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getMarketUrl = getMarketUrl; exports.isAppUrl = isAppUrl; exports.isBlank = isBlank; exports.openPGApp = openPGApp; var _reactNative = require("react-native"); var _constant = require("./constant"); function getMarketUrl(url, scheme, packageName) { if (_reactNative.Platform.OS === 'ios') { switch (scheme) { case 'kftc-bankpay': // 뱅크페이 return _constant.IOS_MARKET_PREFIX + 'id398456030'; case 'ispmobile': // ISP/페이북 return _constant.IOS_MARKET_PREFIX + 'id369125087'; case 'hdcardappcardansimclick': // 현대카드 앱카드 return _constant.IOS_MARKET_PREFIX + 'id702653088'; case 'shinhan-sr-ansimclick': // 신한 앱카드 return _constant.IOS_MARKET_PREFIX + 'id572462317'; case 'kb-acp': // KB국민 앱카드 return _constant.IOS_MARKET_PREFIX + 'id695436326'; case 'mpocket.online.ansimclick': // 삼성앱카드 return _constant.IOS_MARKET_PREFIX + 'id535125356'; case 'lottesmartpay': // 롯데 모바일결제 return _constant.IOS_MARKET_PREFIX + 'id668497947'; case 'lotteappcard': // 롯데 앱카드 return _constant.IOS_MARKET_PREFIX + 'id688047200'; case 'cloudpay': // 하나1Q페이(앱카드) return _constant.IOS_MARKET_PREFIX + 'id847268987'; case 'citimobileapp': // 시티은행 앱카드 return _constant.IOS_MARKET_PREFIX + 'id1179759666'; case 'payco': // 페이코 return _constant.IOS_MARKET_PREFIX + 'id924292102'; case 'kakaotalk': // 카카오톡 return _constant.IOS_MARKET_PREFIX + 'id362057947'; case 'lpayapp': // 롯데 L.pay return _constant.IOS_MARKET_PREFIX + 'id1036098908'; case 'wooripay': // 우리페이 return _constant.IOS_MARKET_PREFIX + 'id1201113419'; case 'com.wooricard.wcard': // 우리WON카드 return _constant.IOS_MARKET_PREFIX + 'id1499598869'; case 'nhallonepayansimclick': // NH농협카드 올원페이(앱카드) return _constant.IOS_MARKET_PREFIX + 'id1177889176'; case 'hanawalletmembers': // 하나카드(하나멤버스 월렛) return _constant.IOS_MARKET_PREFIX + 'id1038288833'; case 'shinsegaeeasypayment': // 신세계 SSGPAY return _constant.IOS_MARKET_PREFIX + 'id666237916'; case 'naversearchthirdlogin': // 네이버페이 앱 로그인 return _constant.IOS_MARKET_PREFIX + 'id393499958'; case 'lguthepay-xpay': // 페이나우 return _constant.IOS_MARKET_PREFIX + 'id760098906'; case 'lmslpay': // 롯데 L.POINT return _constant.IOS_MARKET_PREFIX + 'id473250588'; case 'liivbank': // Liiv 국민 return _constant.IOS_MARKET_PREFIX + 'id1126232922'; case 'supertoss': // 토스 return _constant.IOS_MARKET_PREFIX + 'id839333328'; case 'newsmartpib': // 우리WON뱅킹 return _constant.IOS_MARKET_PREFIX + 'id1470181651'; case 'ukbanksmartbanknonloginpay': // 케이뱅크 페이 return _constant.IOS_MARKET_PREFIX + 'id1178872627'; default: return url; } } else if (_reactNative.Platform.OS === 'android') { if (packageName != null) { return _constant.ANDROID_MARKET_PREFIX + packageName; } switch (scheme) { case _constant.ANDROID_APPSCHEME.ISP: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_ISP; case _constant.ANDROID_APPSCHEME.BANKPAY: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_BANKPAY; case _constant.ANDROID_APPSCHEME.KB_BANKPAY: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_KB_BANKPAY; case _constant.ANDROID_APPSCHEME.NH_BANKPAY: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_NH_BANKPAY; case _constant.ANDROID_APPSCHEME.MG_BANKPAY: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_MG_BANKPAY; case _constant.ANDROID_APPSCHEME.KN_BANKPAY: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_KN_BANKPAY; case _constant.ANDROID_APPSCHEME.KAKAOPAY: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_KAKAOPAY; case _constant.ANDROID_APPSCHEME.SMILEPAY: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_SMILEPAY; case _constant.ANDROID_APPSCHEME.CHAIPAY: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_CHAIPAY; case _constant.ANDROID_APPSCHEME.PAYCO: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_PAYCO; case _constant.ANDROID_APPSCHEME.HYUNDAICARD: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_HYUNDAICARD; case _constant.ANDROID_APPSCHEME.TOSS: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_TOSS; case _constant.ANDROID_APPSCHEME.SHINHANCARD: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_SHINHANCARD; case _constant.ANDROID_APPSCHEME.HANACARD: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_HANACARD; case _constant.ANDROID_APPSCHEME.SAMSUNGCARD: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_SAMSUNGCARD; case _constant.ANDROID_APPSCHEME.KBCARD: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_KBCARD; case _constant.ANDROID_APPSCHEME.NHCARD: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_NHCARD; case _constant.ANDROID_APPSCHEME.CITICARD: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_CITICARD; case _constant.ANDROID_APPSCHEME.LOTTECARD: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_LOTTECARD; case _constant.ANDROID_APPSCHEME.LPAY: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_LPAY; case _constant.ANDROID_APPSCHEME.SSGPAY: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_SSGPAY; case _constant.ANDROID_APPSCHEME.KPAY: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_KPAY; case _constant.ANDROID_APPSCHEME.KBANKPAY: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_KBANKPAY; case _constant.ANDROID_APPSCHEME.PAYNOW: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_PAYNOW; case _constant.ANDROID_APPSCHEME.WOORIWONCARD: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_WOORIWONCARD; case _constant.ANDROID_APPSCHEME.LPOINT: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_LPOINT; case _constant.ANDROID_APPSCHEME.KTFAUTH: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_KTFAUTH; case _constant.ANDROID_APPSCHEME.LGTAUTH: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_LGTAUTH; case _constant.ANDROID_APPSCHEME.SKTAUTH: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_SKTAUTH; case _constant.ANDROID_APPSCHEME.WOORIWONBANK: return _constant.ANDROID_MARKET_PREFIX + _constant.ANDROID_PACKAGE.PACKAGE_WOORIWONBANK; default: return url; } } else { return url; } } function isAppUrl(scheme) { // console.log(scheme); return !(scheme.startsWith('https://') || scheme.startsWith('http://') || scheme.startsWith('about:blank')); } function isBlank(url, mainDocumentUrl) { // console.log(scheme); return url.startsWith('about:blank') && mainDocumentUrl && mainDocumentUrl.startsWith('about:blank'); } async function openPGApp(url) { let splittedUrl = url.replace('://', ' ').split(' '); let scheme = splittedUrl[0]; if (scheme === undefined) { return; } if (_reactNative.Platform.OS === 'ios') { try { await _reactNative.Linking.openURL(url); } catch (error) { await _reactNative.Linking.openURL(getMarketUrl(url, scheme, '')); } } else if (_reactNative.Platform.OS === 'android') { let packageName = ''; let intentUrl = splittedUrl[1].split('#Intent;'); let host = intentUrl[0]; let args = intentUrl[1].split(';'); let path = ''; if (scheme !== 'intent') { scheme = scheme.split(':')[1]; path = scheme + '://' + host; } args.forEach(s => { if (s.startsWith('scheme')) { let scheme = s.split('=')[1]; path = scheme + '://' + host; } else if (s.startsWith('package')) { const packagee = s.split('=')[1]; packageName = packagee; } }); try { await _reactNative.Linking.openURL(path); } catch (error) { await _reactNative.Linking.openURL(getMarketUrl(url, scheme, packageName)); } } } //# sourceMappingURL=libs.js.map