@portone/browser-sdk
Version:
PortOne SDK for browser
1,013 lines (974 loc) • 34.6 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var _a;
let promise = null;
const portone = {
jsSdkUrl: (_a = undefined) !== null && _a !== void 0 ? _a : 'https://cdn.portone.io/v2/browser-sdk.js',
};
function findScript() {
return document.querySelector(`script[src="${portone.jsSdkUrl}"]`);
}
function injectScript() {
const script = document.createElement('script');
script.src = portone.jsSdkUrl;
const headOrBody = document.head || document.body;
if (!headOrBody)
throw new Error('[PortOne] Expected document.body not to be null');
return headOrBody.appendChild(script);
}
function loadScript() {
if (promise != null) {
// SDK is already loaded
return promise;
}
return (promise = new Promise((resolve, reject) => {
if (window.PortOne) {
// window.PortOne is already injected by CDN
return resolve(window.PortOne);
}
try {
// window.PortOne will be injected by @portone/browser-sdk
const script = findScript() || injectScript();
script.addEventListener('load', () => {
// script has just loaded
if (window.PortOne) {
// window.PortOne is successfully injected @portone/browser-sdk
return resolve(window.PortOne);
}
reject(new Error('[PortOne] Failed to load window.PortOne'));
});
script.addEventListener('error', () => {
reject(new Error('[PortOne] Failed to load window.PortOne'));
});
}
catch (error) {
return reject(error);
}
}));
}
function setPortOneJsSdkUrl(url) {
return (portone.jsSdkUrl = url);
}
function requestIdentityVerification(request) {
return loadScript().then((sdk) => sdk.requestIdentityVerification(request));
}
function requestIssueBillingKeyAndPay(request) {
return loadScript().then((sdk) => sdk.requestIssueBillingKeyAndPay(request));
}
function requestIssueBillingKey(request) {
return loadScript().then((sdk) => sdk.requestIssueBillingKey(request));
}
function requestPayment(request) {
return loadScript().then((sdk) => sdk.requestPayment(request));
}
function loadPaymentUI(request, callbacks) {
return loadScript().then((sdk) => sdk.loadPaymentUI(request, callbacks));
}
function loadIssueBillingKeyUI(request, callbacks) {
return loadScript().then((sdk) => sdk.loadIssueBillingKeyUI(request, callbacks));
}
function updateLoadPaymentUIRequest(request) {
return loadScript().then((sdk) => sdk.updateLoadPaymentUIRequest(request));
}
function updateLoadIssueBillingKeyUIRequest(request) {
return loadScript().then((sdk) => sdk.updateLoadIssueBillingKeyUIRequest(request));
}
// 계좌이체, 가상계좌 발급시 사용되는 은행 코드
const Bank = {
BANK_OF_KOREA: 'BANK_BANK_OF_KOREA',
KOREA_DEVELOPMENT_BANK: 'BANK_KOREA_DEVELOPMENT_BANK',
INDUSTRIAL_BANK_OF_KOREA: 'BANK_INDUSTRIAL_BANK_OF_KOREA',
KOOKMIN_BANK: 'BANK_KOOKMIN_BANK',
SUHYUP_BANK: 'BANK_SUHYUP_BANK',
EXPORT_IMPORT_BANK_OF_KOREA: 'BANK_EXPORT_IMPORT_BANK_OF_KOREA',
NH_NONGHYUP_BANK: 'BANK_NH_NONGHYUP_BANK',
LOCAL_NONGHYUP: 'BANK_LOCAL_NONGHYUP',
WOORI_BANK: 'BANK_WOORI_BANK',
SC_BANK_KOREA: 'BANK_SC_BANK_KOREA',
CITI_BANK_KOREA: 'BANK_CITI_BANK_KOREA',
DAEGU_BANK: 'BANK_DAEGU_BANK',
BUSAN_BANK: 'BANK_BUSAN_BANK',
GWANGJU_BANK: 'BANK_GWANGJU_BANK',
JEJU_BANK: 'BANK_JEJU_BANK',
JEONBUK_BANK: 'BANK_JEONBUK_BANK',
KYONGNAM_BANK: 'BANK_KYONGNAM_BANK',
KFCC: 'BANK_KFCC',
SHINHYUP: 'BANK_SHINHYUP',
SAVINGS_BANK_KOREA: 'BANK_SAVINGS_BANK_KOREA',
MORGAN_STANLEY_BANK: 'BANK_MORGAN_STANLEY_BANK',
HSBC_BANK: 'BANK_HSBC_BANK',
DEUTSCHE_BANK: 'BANK_DEUTSCHE_BANK',
JP_MORGAN_CHASE_BANK: 'BANK_JP_MORGAN_CHASE_BANK',
MIZUHO_BANK: 'BANK_MIZUHO_BANK',
MUFG_BANK: 'BANK_MUFG_BANK',
BANK_OF_AMERICA_BANK: 'BANK_BANK_OF_AMERICA_BANK',
BNP_PARIBAS_BANK: 'BANK_BNP_PARIBAS_BANK',
ICBC: 'BANK_ICBC',
BANK_OF_CHINA: 'BANK_BANK_OF_CHINA',
NATIONAL_FORESTRY_COOPERATIVE_FEDERATION: 'BANK_NATIONAL_FORESTRY_COOPERATIVE_FEDERATION',
UNITED_OVERSEAS_BANK: 'BANK_UNITED_OVERSEAS_BANK',
BANK_OF_COMMUNICATIONS: 'BANK_BANK_OF_COMMUNICATIONS',
CHINA_CONSTRUCTION_BANK: 'BANK_CHINA_CONSTRUCTION_BANK',
EPOST: 'BANK_EPOST',
KODIT: 'BANK_KODIT',
KIBO: 'BANK_KIBO',
HANA_BANK: 'BANK_HANA_BANK',
SHINHAN_BANK: 'BANK_SHINHAN_BANK',
K_BANK: 'BANK_K_BANK',
KAKAO_BANK: 'BANK_KAKAO_BANK',
TOSS_BANK: 'BANK_TOSS_BANK',
KCIS: 'BANK_KCIS',
DAISHIN_SAVINGS_BANK: 'BANK_DAISHIN_SAVINGS_BANK',
SBI_SAVINGS_BANK: 'BANK_SBI_SAVINGS_BANK',
HK_SAVINGS_BANK: 'BANK_HK_SAVINGS_BANK',
WELCOME_SAVINGS_BANK: 'BANK_WELCOME_SAVINGS_BANK',
SHINHAN_SAVINGS_BANK: 'BANK_SHINHAN_SAVINGS_BANK',
// 증권사
KYOBO_SECURITIES: 'BANK_KYOBO_SECURITIES', // 교보증권
DAISHIN_SECURITIES: 'BANK_DAISHIN_SECURITIES', // 대신증권
MERITZ_SECURITIES: 'BANK_MERITZ_SECURITIES', // 메리츠증권
MIRAE_ASSET_SECURITIES: 'BANK_MIRAE_ASSET_SECURITIES', // 미래에셋증권
BOOKOOK_SECURITIES: 'BANK_BOOKOOK_SECURITIES', // 부국증권
SAMSUNG_SECURITIES: 'BANK_SAMSUNG_SECURITIES', // 삼성증권
SHINYOUNG_SECURITIES: 'BANK_SHINYOUNG_SECURITIES', // 신영증권
SHINHAN_FINANCIAL_INVESTMENT: 'BANK_SHINHAN_FINANCIAL_INVESTMENT', // 신한금융투자
YUANTA_SECURITIES: 'BANK_YUANTA_SECURITIES', // 유안타증권
EUGENE_INVESTMENT_SECURITIES: 'BANK_EUGENE_INVESTMENT_SECURITIES', // 유진투자증권
KAKAO_PAY_SECURITIES: 'BANK_KAKAO_PAY_SECURITIES', // 카카오페이증권
TOSS_SECURITIES: 'BANK_TOSS_SECURITIES', // 토스증권
KOREA_FOSS_SECURITIES: 'BANK_KOREA_FOSS_SECURITIES', // 한국포스증권
HANA_FINANCIAL_INVESTMENT: 'BANK_HANA_FINANCIAL_INVESTMENT', // 하나금융투자
HI_INVESTMENT_SECURITIES: 'BANK_HI_INVESTMENT_SECURITIES', // 하이투자증권
KOREA_INVESTMENT_SECURITIES: 'BANK_KOREA_INVESTMENT_SECURITIES', // 한국투자증권
HANWHA_INVESTMENT_SECURITIES: 'BANK_HANWHA_INVESTMENT_SECURITIES', // 한화투자증권
HYUNDAI_MOTOR_SECURITIES: 'BANK_HYUNDAI_MOTOR_SECURITIES', // 현대차증권자
DB_FINANCIAL_INVESTMENT: 'BANK_DB_FINANCIAL_INVESTMENT', // DB금융투자자
KB_SECURITIES: 'BANK_KB_SECURITIES', // KB증권
KTB_INVESTMENT_SECURITIES: 'BANK_KTB_INVESTMENT_SECURITIES', // KTB투자증권
NH_INVESTMENT_SECURITIES: 'BANK_NH_INVESTMENT_SECURITIES', // NH투자증권
SK_SECURITIES: 'BANK_SK_SECURITIES', // SK증권
SCI: 'BANK_SGI', // 서울보증보험
KIWOOM_SECURITIES: 'BANK_KIWOOM_SECURITIES', // 키움증권
EBEST_INVESTMENT_SECURITIES: 'BANK_EBEST_INVESTMENT_SECURITIES', // 이베스트증권
CAPE_INVESTMENT_CERTIFICATE: 'BANK_CAPE_INVESTMENT_CERTIFICATE', // 케이프투자증권
};
// 빌링키 발급 및 결제 수단
const BillingKeyAndPayMethod = {
MOBILE: 'MOBILE', // 휴대폰
};
// 빌링키 발급 수단
const BillingKeyMethod = {
CARD: 'CARD', // 카드
MOBILE: 'MOBILE', // 휴대폰 소액결제
EASY_PAY: 'EASY_PAY', // 간편 결제
PAYPAL: 'PAYPAL', // 페이팔(RT)
};
// 카드 결제시 사용되는 카드사 코드
const CardCompany = {
KOREA_DEVELOPMENT_BANK: 'CARD_COMPANY_KOREA_DEVELOPMENT_BANK',
KFCC: 'CARD_COMPANY_KFCC',
SHINHYUP: 'CARD_COMPANY_SHINHYUP',
EPOST: 'CARD_COMPANY_EPOST',
SAVINGS_BANK_KOREA: 'CARD_COMPANY_SAVINGS_BANK_KOREA',
KAKAO_BANK: 'CARD_COMPANY_KAKAO_BANK',
WOORI_CARD: 'CARD_COMPANY_WOORI_CARD',
BC_CARD: 'CARD_COMPANY_BC_CARD',
GWANGJU_CARD: 'CARD_COMPANY_GWANGJU_CARD',
SAMSUNG_CARD: 'CARD_COMPANY_SAMSUNG_CARD',
SHINHAN_CARD: 'CARD_COMPANY_SHINHAN_CARD',
HYUNDAI_CARD: 'CARD_COMPANY_HYUNDAI_CARD',
LOTTE_CARD: 'CARD_COMPANY_LOTTE_CARD',
SUHYUP_CARD: 'CARD_COMPANY_SUHYUP_CARD',
CITI_CARD: 'CARD_COMPANY_CITI_CARD',
NH_CARD: 'CARD_COMPANY_NH_CARD',
JEONBUK_CARD: 'CARD_COMPANY_JEONBUK_CARD',
JEJU_CARD: 'CARD_COMPANY_JEJU_CARD',
HANA_CARD: 'CARD_COMPANY_HANA_CARD',
KOOKMIN_CARD: 'CARD_COMPANY_KOOKMIN_CARD',
K_BANK: 'CARD_COMPANY_K_BANK',
TOSS_BANK: 'CARD_COMPANY_TOSS_BANK',
MIRAE_ASSET_SECURITIES: 'CARD_COMPANY_MIRAE_ASSET_SECURITIES',
};
/**
* 통신사 코드
* - SKT: SK 텔레콤
* - KT: KT
* - LGU: LG 유플러스
* - HELLO: CJ 헬로 모바일
* - KCT: 티플러스
* - SK7: SK 세븐 모바일
*/
const Carrier = {
SKT: 'CARRIER_SKT',
KT: 'CARRIER_KT',
LGU: 'CARRIER_LGU',
HELLO: 'CARRIER_HELLO',
KCT: 'CARRIER_KCT',
SK7: 'CARRIER_SK7',
};
// 국가 유형
// https://www.iban.com/country-codes
const Country = {
AF: 'COUNTRY_AF', // Afghanistan
AX: 'COUNTRY_AX', // Åland Islands
AL: 'COUNTRY_AL', // Albania
DZ: 'COUNTRY_DZ', // Algeria
AS: 'COUNTRY_AS', // American Samoa
AD: 'COUNTRY_AD', // Andorra
AO: 'COUNTRY_AO', // Angola
AI: 'COUNTRY_AI', // Anguilla
AQ: 'COUNTRY_AQ', // Antarctica
AG: 'COUNTRY_AG', // Antigua and Barbuda
AR: 'COUNTRY_AR', // Argentina
AM: 'COUNTRY_AM', // Armenia
AW: 'COUNTRY_AW', // Aruba
AU: 'COUNTRY_AU', // Australia
AT: 'COUNTRY_AT', // Austria
AZ: 'COUNTRY_AZ', // Azerbaijan
BH: 'COUNTRY_BH', // Bahrain
BS: 'COUNTRY_BS', // Bahamas
BD: 'COUNTRY_BD', // Bangladesh
BB: 'COUNTRY_BB', // Barbados
BY: 'COUNTRY_BY', // Belarus
BE: 'COUNTRY_BE', // Belgium
BZ: 'COUNTRY_BZ', // Belize
BJ: 'COUNTRY_BJ', // Benin
BM: 'COUNTRY_BM', // Bermuda
BT: 'COUNTRY_BT', // Bhutan
BO: 'COUNTRY_BO', // Bolivia, Plurinational State of
BQ: 'COUNTRY_BQ', // Bonaire, Sint Eustatius and Saba
BA: 'COUNTRY_BA', // Bosnia and Herzegovina
BW: 'COUNTRY_BW', // Botswana
BV: 'COUNTRY_BV', // Bouvet Island
BR: 'COUNTRY_BR', // Brazil
IO: 'COUNTRY_IO', // British Indian Ocean Territory
BN: 'COUNTRY_BN', // Brunei Darussalam
BG: 'COUNTRY_BG', // Bulgaria
BF: 'COUNTRY_BF', // Burkina Faso
BI: 'COUNTRY_BI', // Burundi
KH: 'COUNTRY_KH', // Cambodia
CM: 'COUNTRY_CM', // Cameroon
CA: 'COUNTRY_CA', // Canada
CV: 'COUNTRY_CV', // Cape Verde
KY: 'COUNTRY_KY', // Cayman Islands
CF: 'COUNTRY_CF', // Central African Republic
TD: 'COUNTRY_TD', // Chad
CL: 'COUNTRY_CL', // Chile
CN: 'COUNTRY_CN', // China
CX: 'COUNTRY_CX', // Christmas Island
CC: 'COUNTRY_CC', // Cocos (Keeling) Islands
CO: 'COUNTRY_CO', // Colombia
KM: 'COUNTRY_KM', // Comoros
CG: 'COUNTRY_CG', // Congo
CD: 'COUNTRY_CD', // Congo, the Democratic Republic of the
CK: 'COUNTRY_CK', // Cook Islands
CR: 'COUNTRY_CR', // Costa Rica
CI: 'COUNTRY_CI', // Côte d'Ivoire
HR: 'COUNTRY_HR', // Croatia
CU: 'COUNTRY_CU', // Cuba
CW: 'COUNTRY_CW', // Curaçao
CY: 'COUNTRY_CY', // Cyprus
CZ: 'COUNTRY_CZ', // Czech Republic
DK: 'COUNTRY_DK', // Denmark
DJ: 'COUNTRY_DJ', // Djibouti
DM: 'COUNTRY_DM', // Dominica
DO: 'COUNTRY_DO', // Dominican Republic
EC: 'COUNTRY_EC', // Ecuador
EG: 'COUNTRY_EG', // Egypt
SV: 'COUNTRY_SV', // El Salvador
GQ: 'COUNTRY_GQ', // Equatorial Guinea
ER: 'COUNTRY_ER', // Eritrea
EE: 'COUNTRY_EE', // Estonia
ET: 'COUNTRY_ET', // Ethiopia
FK: 'COUNTRY_FK', // Falkland Islands (Malvinas)
FO: 'COUNTRY_FO', // Faroe Islands
FJ: 'COUNTRY_FJ', // Fiji
FI: 'COUNTRY_FI', // Finland
FR: 'COUNTRY_FR', // France
GF: 'COUNTRY_GF', // French Guiana
PF: 'COUNTRY_PF', // French Polynesia
TF: 'COUNTRY_TF', // French Southern Territories
GA: 'COUNTRY_GA', // Gabon
GM: 'COUNTRY_GM', // Gambia
GE: 'COUNTRY_GE', // Georgia
DE: 'COUNTRY_DE', // Germany
GH: 'COUNTRY_GH', // Ghana
GI: 'COUNTRY_GI', // Gibraltar
GR: 'COUNTRY_GR', // Greece
GL: 'COUNTRY_GL', // Greenland
GD: 'COUNTRY_GD', // Grenada
GP: 'COUNTRY_GP', // Guadeloupe
GU: 'COUNTRY_GU', // Guam
GT: 'COUNTRY_GT', // Guatemala
GG: 'COUNTRY_GG', // Guernsey
GN: 'COUNTRY_GN', // Guinea
GW: 'COUNTRY_GW', // Guinea-Bissau
GY: 'COUNTRY_GY', // Guyana
HT: 'COUNTRY_HT', // Haiti
HM: 'COUNTRY_HM', // Heard Island and McDonald Islands
VA: 'COUNTRY_VA', // Holy See (Vatican City State)
HN: 'COUNTRY_HN', // Honduras
HK: 'COUNTRY_HK', // Hong Kong
HU: 'COUNTRY_HU', // Hungary
IS: 'COUNTRY_IS', // Iceland
IN: 'COUNTRY_IN', // India
ID: 'COUNTRY_ID', // Indonesia
IR: 'COUNTRY_IR', // Iran, Islamic Republic of
IQ: 'COUNTRY_IQ', // Iraq
IE: 'COUNTRY_IE', // Ireland
IM: 'COUNTRY_IM', // Isle of Man
IL: 'COUNTRY_IL', // Israel
IT: 'COUNTRY_IT', // Italy
JM: 'COUNTRY_JM', // Jamaica
JP: 'COUNTRY_JP', // Japan
JE: 'COUNTRY_JE', // Jersey
JO: 'COUNTRY_JO', // Jordan
KZ: 'COUNTRY_KZ', // Kazakhstan
KE: 'COUNTRY_KE', // Kenya
KI: 'COUNTRY_KI', // Kiribati
KP: 'COUNTRY_KP', // Korea, Democratic People's Republic of
KR: 'COUNTRY_KR', // Korea, Republic of
KW: 'COUNTRY_KW', // Kuwait
KG: 'COUNTRY_KG', // Kyrgyzstan
LA: 'COUNTRY_LA', // Lao People's Democratic Republic
LV: 'COUNTRY_LV', // Latvia
LB: 'COUNTRY_LB', // Lebanon
LS: 'COUNTRY_LS', // Lesotho
LR: 'COUNTRY_LR', // Liberia
LY: 'COUNTRY_LY', // Libya
LI: 'COUNTRY_LI', // Liechtenstein
LT: 'COUNTRY_LT', // Lithuania
LU: 'COUNTRY_LU', // Luxembourg
MO: 'COUNTRY_MO', // Macao
MK: 'COUNTRY_MK', // Macedonia, the Former Yugoslav Republic of
MG: 'COUNTRY_MG', // Madagascar
MW: 'COUNTRY_MW', // Malawi
MY: 'COUNTRY_MY', // Malaysia
MV: 'COUNTRY_MV', // Maldives
ML: 'COUNTRY_ML', // Mali
MT: 'COUNTRY_MT', // Malta
MH: 'COUNTRY_MH', // Marshall Islands
MQ: 'COUNTRY_MQ', // Martinique
MR: 'COUNTRY_MR', // Mauritania
MU: 'COUNTRY_MU', // Mauritius
YT: 'COUNTRY_YT', // Mayotte
MX: 'COUNTRY_MX', // Mexico
FM: 'COUNTRY_FM', // Micronesia, Federated States of
MD: 'COUNTRY_MD', // Moldova, Republic of
MC: 'COUNTRY_MC', // Monaco
MN: 'COUNTRY_MN', // Mongolia
ME: 'COUNTRY_ME', // Montenegro
MS: 'COUNTRY_MS', // Montserrat
MA: 'COUNTRY_MA', // Morocco
MZ: 'COUNTRY_MZ', // Mozambique
MM: 'COUNTRY_MM', // Myanmar
NA: 'COUNTRY_NA', // Namibia
NR: 'COUNTRY_NR', // Nauru
NP: 'COUNTRY_NP', // Nepal
NL: 'COUNTRY_NL', // Netherlands
NC: 'COUNTRY_NC', // New Caledonia
NZ: 'COUNTRY_NZ', // New Zealand
NI: 'COUNTRY_NI', // Nicaragua
NE: 'COUNTRY_NE', // Niger
NG: 'COUNTRY_NG', // Nigeria
NU: 'COUNTRY_NU', // Niue
NF: 'COUNTRY_NF', // Norfolk Island
MP: 'COUNTRY_MP', // Northern Mariana Islands
NO: 'COUNTRY_NO', // Norway
OM: 'COUNTRY_OM', // Oman
PK: 'COUNTRY_PK', // Pakistan
PW: 'COUNTRY_PW', // Palau
PS: 'COUNTRY_PS', // Palestine, State of
PA: 'COUNTRY_PA', // Panama
PG: 'COUNTRY_PG', // Papua New Guinea
PY: 'COUNTRY_PY', // Paraguay
PE: 'COUNTRY_PE', // Peru
PH: 'COUNTRY_PH', // Philippines
PN: 'COUNTRY_PN', // Pitcairn
PL: 'COUNTRY_PL', // Poland
PT: 'COUNTRY_PT', // Portugal
PR: 'COUNTRY_PR', // Puerto Rico
QA: 'COUNTRY_QA', // Qatar
RE: 'COUNTRY_RE', // Réunion
RO: 'COUNTRY_RO', // Romania
RU: 'COUNTRY_RU', // Russian Federation
RW: 'COUNTRY_RW', // Rwanda
BL: 'COUNTRY_BL', // Saint Barthélemy
SH: 'COUNTRY_SH', // Saint Helena, Ascension and Tristan da Cunha
KN: 'COUNTRY_KN', // Saint Kitts and Nevis
LC: 'COUNTRY_LC', // Saint Lucia
MF: 'COUNTRY_MF', // Saint Martin (French part)
PM: 'COUNTRY_PM', // Saint Pierre and Miquelon
VC: 'COUNTRY_VC', // Saint Vincent and the Grenadines
WS: 'COUNTRY_WS', // Samoa
SM: 'COUNTRY_SM', // San Marino
ST: 'COUNTRY_ST', // Sao Tome and Principe
SA: 'COUNTRY_SA', // Saudi Arabia
SN: 'COUNTRY_SN', // Senegal
RS: 'COUNTRY_RS', // Serbia
SC: 'COUNTRY_SC', // Seychelles
SL: 'COUNTRY_SL', // Sierra Leone
SG: 'COUNTRY_SG', // Singapore
SX: 'COUNTRY_SX', // Sint Maarten (Dutch part)
SK: 'COUNTRY_SK', // Slovakia
SI: 'COUNTRY_SI', // Slovenia
SB: 'COUNTRY_SB', // Solomon Islands
SO: 'COUNTRY_SO', // Somalia
ZA: 'COUNTRY_ZA', // South Africa
GS: 'COUNTRY_GS', // South Georgia and the South Sandwich Islands
SS: 'COUNTRY_SS', // South Sudan
ES: 'COUNTRY_ES', // Spain
LK: 'COUNTRY_LK', // Sri Lanka
SD: 'COUNTRY_SD', // Sudan
SR: 'COUNTRY_SR', // Suriname
SJ: 'COUNTRY_SJ', // Svalbard and Jan Mayen
SZ: 'COUNTRY_SZ', // Swaziland
SE: 'COUNTRY_SE', // Sweden
CH: 'COUNTRY_CH', // Switzerland
SY: 'COUNTRY_SY', // Syrian Arab Republic
TW: 'COUNTRY_TW', // Taiwan, Province of China
TJ: 'COUNTRY_TJ', // Tajikistan
TZ: 'COUNTRY_TZ', // Tanzania, United Republic of
TH: 'COUNTRY_TH', // Thailand
TL: 'COUNTRY_TL', // Timor-Leste
TG: 'COUNTRY_TG', // Togo
TK: 'COUNTRY_TK', // Tokelau
TO: 'COUNTRY_TO', // Tonga
TT: 'COUNTRY_TT', // Trinidad and Tobago
TN: 'COUNTRY_TN', // Tunisia
TR: 'COUNTRY_TR', // Turkey
TM: 'COUNTRY_TM', // Turkmenistan
TC: 'COUNTRY_TC', // Turks and Caicos Islands
TV: 'COUNTRY_TV', // Tuvalu
UG: 'COUNTRY_UG', // Uganda
UA: 'COUNTRY_UA', // Ukraine
AE: 'COUNTRY_AE', // United Arab Emirates
GB: 'COUNTRY_GB', // United Kingdom
US: 'COUNTRY_US', // United States
UM: 'COUNTRY_UM', // United States Minor Outlying Islands
UY: 'COUNTRY_UY', // Uruguay
UZ: 'COUNTRY_UZ', // Uzbekistan
VU: 'COUNTRY_VU', // Vanuatu
VE: 'COUNTRY_VE', // Venezuela, Bolivarian Republic of
VN: 'COUNTRY_VN', // Viet Nam
VG: 'COUNTRY_VG', // Virgin Islands, British
VI: 'COUNTRY_VI', // Virgin Islands, U.S.
WF: 'COUNTRY_WF', // Wallis and Futuna
EH: 'COUNTRY_EH', // Western Sahara
YE: 'COUNTRY_YE', // Yemen
ZM: 'COUNTRY_ZM', // Zambia
ZW: 'COUNTRY_ZW', // Zimbabwe
};
// 결제 통화
const Currency = {
KRW: 'CURRENCY_KRW',
USD: 'CURRENCY_USD',
EUR: 'CURRENCY_EUR',
JPY: 'CURRENCY_JPY',
CNY: 'CURRENCY_CNY',
VND: 'CURRENCY_VND',
THB: 'CURRENCY_THB',
SGD: 'CURRENCY_SGD',
AUD: 'CURRENCY_AUD',
HKD: 'CURRENCY_HKD',
AED: 'CURRENCY_AED',
AFN: 'CURRENCY_AFN',
ALL: 'CURRENCY_ALL',
AMD: 'CURRENCY_AMD',
ANG: 'CURRENCY_ANG',
AOA: 'CURRENCY_AOA',
ARS: 'CURRENCY_ARS',
AWG: 'CURRENCY_AWG',
AZN: 'CURRENCY_AZN',
BAM: 'CURRENCY_BAM',
BBD: 'CURRENCY_BBD',
BDT: 'CURRENCY_BDT',
BGN: 'CURRENCY_BGN',
BHD: 'CURRENCY_BHD',
BIF: 'CURRENCY_BIF',
BMD: 'CURRENCY_BMD',
BND: 'CURRENCY_BND',
BOB: 'CURRENCY_BOB',
BOV: 'CURRENCY_BOV',
BRL: 'CURRENCY_BRL',
BSD: 'CURRENCY_BSD',
BTN: 'CURRENCY_BTN',
BWP: 'CURRENCY_BWP',
BYN: 'CURRENCY_BYN',
BZD: 'CURRENCY_BZD',
CAD: 'CURRENCY_CAD',
CDF: 'CURRENCY_CDF',
CHE: 'CURRENCY_CHE',
CHF: 'CURRENCY_CHF',
CHW: 'CURRENCY_CHW',
CLF: 'CURRENCY_CLF',
CLP: 'CURRENCY_CLP',
COP: 'CURRENCY_COP',
COU: 'CURRENCY_COU',
CRC: 'CURRENCY_CRC',
CUC: 'CURRENCY_CUC',
CUP: 'CURRENCY_CUP',
CVE: 'CURRENCY_CVE',
CZK: 'CURRENCY_CZK',
DJF: 'CURRENCY_DJF',
DKK: 'CURRENCY_DKK',
DOP: 'CURRENCY_DOP',
DZD: 'CURRENCY_DZD',
EGP: 'CURRENCY_EGP',
ERN: 'CURRENCY_ERN',
ETB: 'CURRENCY_ETB',
FJD: 'CURRENCY_FJD',
FKP: 'CURRENCY_FKP',
GBP: 'CURRENCY_GBP',
GEL: 'CURRENCY_GEL',
GHS: 'CURRENCY_GHS',
GIP: 'CURRENCY_GIP',
GMD: 'CURRENCY_GMD',
GNF: 'CURRENCY_GNF',
GTQ: 'CURRENCY_GTQ',
GYD: 'CURRENCY_GYD',
HNL: 'CURRENCY_HNL',
HRK: 'CURRENCY_HRK',
HTG: 'CURRENCY_HTG',
HUF: 'CURRENCY_HUF',
IDR: 'CURRENCY_IDR',
ILS: 'CURRENCY_ILS',
INR: 'CURRENCY_INR',
IQD: 'CURRENCY_IQD',
IRR: 'CURRENCY_IRR',
ISK: 'CURRENCY_ISK',
JMD: 'CURRENCY_JMD',
JOD: 'CURRENCY_JOD',
KES: 'CURRENCY_KES',
KGS: 'CURRENCY_KGS',
KHR: 'CURRENCY_KHR',
KMF: 'CURRENCY_KMF',
KPW: 'CURRENCY_KPW',
KWD: 'CURRENCY_KWD',
KYD: 'CURRENCY_KYD',
KZT: 'CURRENCY_KZT',
LAK: 'CURRENCY_LAK',
LBP: 'CURRENCY_LBP',
LKR: 'CURRENCY_LKR',
LRD: 'CURRENCY_LRD',
LSL: 'CURRENCY_LSL',
LYD: 'CURRENCY_LYD',
MAD: 'CURRENCY_MAD',
MDL: 'CURRENCY_MDL',
MGA: 'CURRENCY_MGA',
MKD: 'CURRENCY_MKD',
MMK: 'CURRENCY_MMK',
MNT: 'CURRENCY_MNT',
MOP: 'CURRENCY_MOP',
MRU: 'CURRENCY_MRU',
MUR: 'CURRENCY_MUR',
MVR: 'CURRENCY_MVR',
MWK: 'CURRENCY_MWK',
MXN: 'CURRENCY_MXN',
MXV: 'CURRENCY_MXV',
MZN: 'CURRENCY_MZN',
NAD: 'CURRENCY_NAD',
NGN: 'CURRENCY_NGN',
NIO: 'CURRENCY_NIO',
NOK: 'CURRENCY_NOK',
NPR: 'CURRENCY_NPR',
NZD: 'CURRENCY_NZD',
OMR: 'CURRENCY_OMR',
PAB: 'CURRENCY_PAB',
PEN: 'CURRENCY_PEN',
PGK: 'CURRENCY_PGK',
PHP: 'CURRENCY_PHP',
PKR: 'CURRENCY_PKR',
PLN: 'CURRENCY_PLN',
PYG: 'CURRENCY_PYG',
QAR: 'CURRENCY_QAR',
RON: 'CURRENCY_RON',
RSD: 'CURRENCY_RSD',
RUB: 'CURRENCY_RUB',
RWF: 'CURRENCY_RWF',
SAR: 'CURRENCY_SAR',
SBD: 'CURRENCY_SBD',
SCR: 'CURRENCY_SCR',
SDG: 'CURRENCY_SDG',
SEK: 'CURRENCY_SEK',
SHP: 'CURRENCY_SHP',
SLE: 'CURRENCY_SLE',
SLL: 'CURRENCY_SLL',
SOS: 'CURRENCY_SOS',
SRD: 'CURRENCY_SRD',
SSP: 'CURRENCY_SSP',
STN: 'CURRENCY_STN',
SVC: 'CURRENCY_SVC',
SYP: 'CURRENCY_SYP',
SZL: 'CURRENCY_SZL',
TJS: 'CURRENCY_TJS',
TMT: 'CURRENCY_TMT',
TND: 'CURRENCY_TND',
TOP: 'CURRENCY_TOP',
TRY: 'CURRENCY_TRY',
TTD: 'CURRENCY_TTD',
TWD: 'CURRENCY_TWD',
TZS: 'CURRENCY_TZS',
UAH: 'CURRENCY_UAH',
UGX: 'CURRENCY_UGX',
USN: 'CURRENCY_USN',
UYI: 'CURRENCY_UYI',
UYU: 'CURRENCY_UYU',
UYW: 'CURRENCY_UYW',
UZS: 'CURRENCY_UZS',
VED: 'CURRENCY_VED',
VES: 'CURRENCY_VES',
VUV: 'CURRENCY_VUV',
WST: 'CURRENCY_WST',
XAF: 'CURRENCY_XAF',
XAG: 'CURRENCY_XAG',
XAU: 'CURRENCY_XAU',
XBA: 'CURRENCY_XBA',
XBB: 'CURRENCY_XBB',
XBC: 'CURRENCY_XBC',
XBD: 'CURRENCY_XBD',
XCD: 'CURRENCY_XCD',
XDR: 'CURRENCY_XDR',
XOF: 'CURRENCY_XOF',
XPD: 'CURRENCY_XPD',
XPF: 'CURRENCY_XPF',
XPT: 'CURRENCY_XPT',
XSU: 'CURRENCY_XSU',
XTS: 'CURRENCY_XTS',
XUA: 'CURRENCY_XUA',
XXX: 'CURRENCY_XXX',
YER: 'CURRENCY_YER',
ZAR: 'CURRENCY_ZAR',
ZMW: 'CURRENCY_ZMW',
ZWL: 'CURRENCY_ZWL',
};
// 간편 결제 유형
const EasyPayProvider = {
PAYCO: 'EASY_PAY_PROVIDER_PAYCO',
SAMSUNGPAY: 'EASY_PAY_PROVIDER_SAMSUNGPAY',
SSGPAY: 'EASY_PAY_PROVIDER_SSGPAY',
KAKAOPAY: 'EASY_PAY_PROVIDER_KAKAOPAY',
NAVERPAY: 'EASY_PAY_PROVIDER_NAVERPAY',
CHAI: 'EASY_PAY_PROVIDER_CHAI',
LPAY: 'EASY_PAY_PROVIDER_LPAY',
KPAY: 'EASY_PAY_PROVIDER_KPAY',
TOSSPAY: 'EASY_PAY_PROVIDER_TOSSPAY',
LGPAY: 'EASY_PAY_PROVIDER_LGPAY',
APPLEPAY: 'EASY_PAY_PROVIDER_APPLEPAY',
PINPAY: 'EASY_PAY_PROVIDER_PINPAY',
SKPAY: 'EASY_PAY_PROVIDER_SKPAY',
TOSS_BRANDPAY: 'EASY_PAY_PROVIDER_TOSS_BRANDPAY',
HYPHEN: 'EASY_PAY_PROVIDER_HYPHEN',
PAYPAY: 'EASY_PAY_PROVIDER_PAYPAY',
AMAZONPAY: 'EASY_PAY_PROVIDER_AMAZONPAY',
RAKUTENPAY: 'EASY_PAY_PROVIDER_RAKUTENPAY',
DBARAI: 'EASY_PAY_PROVIDER_DBARAI',
AUPAY: 'EASY_PAY_PROVIDER_AUPAY',
MERPAY: 'EASY_PAY_PROVIDER_MERPAY',
};
// 구매자 성별
const Gender = {
MALE: 'GENDER_MALE',
FEMALE: 'GENDER_FEMALE',
OTHER: 'GENDER_OTHER',
};
// 상품권 유형
const GiftCertificateType = {
BOOKNLIFE: 'GIFT_CERTIFICATE_TYPE_BOOKNLIFE',
SMART_MUNSANG: 'GIFT_CERTIFICATE_TYPE_SMART_MUNSANG',
CULTURELAND: 'GIFT_CERTIFICATE_TYPE_CULTURELAND',
HAPPYMONEY: 'GIFT_CERTIFICATE_TYPE_HAPPYMONEY',
CULTURE_GIFT: 'GIFT_CERTIFICATE_TYPE_CULTURE_GIFT',
};
const IssueBillingKeyUIType = {
PAYPAL_RT: 'PAYPAL_RT',
};
// PG사 창 언어 설정
const Locale = {
KO_KR: 'KO_KR', // 한국어
EN_US: 'EN_US', // 영어
ZH_CN: 'ZH_CN', // 중국어 (중국)
ZH_TW: 'ZH_TW', // 중국어 (대만)
JA_JP: 'JA_JP', // 일본어
RU_RU: 'RU_RU', // 러시아어
TH_TH: 'TH_TH', // 타이어
VI_VN: 'VI_VN', // 베트남어
};
const PaymentUIType = {
PAYPAL_SPB: 'PAYPAL_SPB',
};
// PG사
const PgProvider = {
HTML5_INICIS: 'PG_PROVIDER_HTML5_INICIS',
PAYPAL: 'PG_PROVIDER_PAYPAL',
INICIS: 'PG_PROVIDER_INICIS',
DANAL: 'PG_PROVIDER_DANAL',
NICE: 'PG_PROVIDER_NICE',
DANAL_TPAY: 'PG_PROVIDER_DANAL_TPAY',
UPLUS: 'PG_PROVIDER_UPLUS',
NAVERPAY: 'PG_PROVIDER_NAVERPAY',
SETTLE: 'PG_PROVIDER_SETTLE',
KCP: 'PG_PROVIDER_KCP',
MOBILIANS: 'PG_PROVIDER_MOBILIANS',
KAKAOPAY: 'PG_PROVIDER_KAKAOPAY',
NAVERCO: 'PG_PROVIDER_NAVERCO',
KICC: 'PG_PROVIDER_KICC',
EXIMBAY: 'PG_PROVIDER_EXIMBAY',
SMILEPAY: 'PG_PROVIDER_SMILEPAY',
PAYCO: 'PG_PROVIDER_PAYCO',
KCP_BILLING: 'PG_PROVIDER_KCP_BILLING',
ALIPAY: 'PG_PROVIDER_ALIPAY',
CHAI: 'PG_PROVIDER_CHAI',
BLUEWALNUT: 'PG_PROVIDER_BLUEWALNUT',
SMARTRO: 'PG_PROVIDER_SMARTRO',
PAYMENTWALL: 'PG_PROVIDER_PAYMENTWALL',
TOSSPAYMENTS: 'PG_PROVIDER_TOSSPAYMENTS',
KCP_QUICK: 'PG_PROVIDER_KCP_QUICK',
DAOU: 'PG_PROVIDER_DAOU',
GALAXIA: 'PG_PROVIDER_GALAXIA',
TOSSPAY: 'PG_PROVIDER_TOSSPAY',
KCP_DIRECT: 'PG_PROVIDER_KCP_DIRECT',
SETTLE_ACC: 'PG_PROVIDER_SETTLE_ACC',
SETTLE_FIRM: 'PG_PROVIDER_SETTLE_FIRM',
INICIS_UNIFIED: 'PG_PROVIDER_INICIS_UNIFIED',
KSNET: 'PG_PROVIDER_KSNET',
PAYPAL_V2: 'PG_PROVIDER_PAYPAL_V2',
SMARTRO_V2: 'PG_PROVIDER_SMARTRO_V2',
NICE_V2: 'PG_PROVIDER_NICE_V2',
TOSS_BRANDPAY: 'PG_PROVIDER_TOSS_BRANDPAY',
WELCOME: 'PG_PROVIDER_WELCOME',
TOSSPAY_V2: 'PG_PROVIDER_TOSSPAY_V2',
INICIS_V2: 'PG_PROVIDER_INICIS_V2',
KPN: 'PG_PROVIDER_KPN',
KCP_V2: 'PG_PROVIDER_KCP_V2',
HYPHEN: 'PG_PROVIDER_HYPHEN',
EXIMBAY_V2: 'PG_PROVIDER_EXIMBAY_V2',
};
const InversionPgProvider = Object.entries(PgProvider).reduce((acc, [k, v]) => (Object.assign(Object.assign({}, acc), { [v]: k })), {});
/**
* 트랜잭션 유형
* - PAYMENT: 결제
* - ISSUE_BILLING_KEY: 빌링키 발급
* - IDENTITY_VERIFICATION: 본인 인증
* - ISSUE_BILLING_KEY_AND_PAY: 빌링키 발급과 동시에 결제
*/
const TransactionType = {
PAYMENT: 'PAYMENT',
ISSUE_BILLING_KEY: 'ISSUE_BILLING_KEY',
IDENTITY_VERIFICATION: 'IDENTITY_VERIFICATION',
ISSUE_BILLING_KEY_AND_PAY: 'ISSUE_BILLING_KEY_AND_PAY',
};
/**
* PG사 창 렌더링 방식
* PG사나 결제 환경에 따라 허용되는 창 종류가 다름
*/
const WindowType = {
IFRAME: 'IFRAME',
POPUP: 'POPUP',
REDIRECTION: 'REDIRECTION',
UI: 'UI',
};
var index$1 = {
__proto__: null,
Bank: Bank,
BillingKeyAndPayMethod: BillingKeyAndPayMethod,
BillingKeyMethod: BillingKeyMethod,
CardCompany: CardCompany,
Carrier: Carrier,
Country: Country,
Currency: Currency,
EasyPayProvider: EasyPayProvider,
Gender: Gender,
GiftCertificateType: GiftCertificateType,
InversionPgProvider: InversionPgProvider,
IssueBillingKeyUIType: IssueBillingKeyUIType,
Locale: Locale,
PaymentUIType: PaymentUIType,
PgProvider: PgProvider,
TransactionType: TransactionType,
WindowType: WindowType
};
function isIdentityVerificationError(error) {
return (isPortOneError(error) &&
error.__portOneErrorType === 'IdentityVerificationError');
}
class IdentityVerificationError extends Error {
static [Symbol.hasInstance](instance) {
return isIdentityVerificationError(instance);
}
constructor({ code, message, identityVerificationId, identityVerificationTxId, pgCode, pgMessage, }) {
super(message);
this.__portOneErrorType = 'IdentityVerificationError';
this.transactionType = TransactionType.IDENTITY_VERIFICATION;
this.code = code;
this.message = message;
this.identityVerificationId = identityVerificationId;
this.identityVerificationTxId = identityVerificationTxId;
this.pgCode = pgCode;
this.pgMessage = pgMessage;
}
}
function isIssueBillingKeyAndPayError(error) {
return (isPortOneError(error) &&
error.__portOneErrorType === 'IssueBillingKeyAndPayError');
}
class IssueBillingKeyAndPayError extends Error {
static [Symbol.hasInstance](instance) {
return isIssueBillingKeyAndPayError(instance);
}
constructor({ txId, paymentId, billingKey, code, message, pgCode, pgMessage, }) {
super(message);
this.__portOneErrorType = 'IssueBillingKeyAndPayError';
this.transactionType = TransactionType.ISSUE_BILLING_KEY_AND_PAY;
this.txId = txId;
this.paymentId = paymentId;
this.billingKey = billingKey;
this.code = code;
this.message = message;
this.pgCode = pgCode;
this.pgMessage = pgMessage;
}
}
function isIssueBillingKeyError(error) {
return (isPortOneError(error) && error.__portOneErrorType === 'IssueBillingKeyError');
}
class IssueBillingKeyError extends Error {
static [Symbol.hasInstance](instance) {
return isIssueBillingKeyError(instance);
}
constructor({ code, message, billingKey, pgCode, pgMessage, }) {
super(message);
this.__portOneErrorType = 'IssueBillingKeyError';
this.transactionType = TransactionType.ISSUE_BILLING_KEY;
this.code = code;
this.message = message;
this.billingKey = billingKey;
this.pgCode = pgCode;
this.pgMessage = pgMessage;
}
}
function isModuleError(error) {
return isPortOneError(error) && error.__portOneErrorType === 'ModuleError';
}
class ModuleError extends Error {
static [Symbol.hasInstance](instance) {
return isModuleError(instance);
}
constructor({ code, message }) {
super(message);
this.__portOneErrorType = 'ModuleError';
this.code = code;
this.message = message;
}
}
function isPaymentError(error) {
return isPortOneError(error) && error.__portOneErrorType === 'PaymentError';
}
class PaymentError extends Error {
static [Symbol.hasInstance](instance) {
return isPaymentError(instance);
}
constructor({ code, message, txId, paymentId, pgCode, pgMessage, }) {
super(message);
this.__portOneErrorType = 'PaymentError';
this.transactionType = TransactionType.PAYMENT;
this.code = code;
this.message = message;
this.txId = txId;
this.paymentId = paymentId;
this.pgCode = pgCode;
this.pgMessage = pgMessage;
}
}
function isLoadIssueBillingKeyUIError(error) {
return (isPortOneError(error) &&
error.__portOneErrorType === 'LoadIssueBillingKeyUIError');
}
class LoadIssueBillingKeyUIError extends Error {
static [Symbol.hasInstance](instance) {
return isLoadIssueBillingKeyUIError(instance);
}
constructor({ code, message, }) {
super(message);
this.__portOneErrorType = 'LoadIssueBillingKeyUIError';
this.transactionType = TransactionType.ISSUE_BILLING_KEY;
this.code = code;
this.message = message;
}
}
function isLoadPaymentUIError(error) {
return (isPortOneError(error) && error.__portOneErrorType === 'LoadPaymentUIError');
}
class LoadPaymentUIError extends Error {
static [Symbol.hasInstance](instance) {
return isLoadPaymentUIError(instance);
}
constructor({ code, message, }) {
super(message);
this.__portOneErrorType = 'LoadPaymentUIError';
this.transactionType = TransactionType.PAYMENT;
this.code = code;
this.message = message;
}
}
function isPortOneError(error) {
return (error != null &&
typeof error === 'object' &&
'__portOneErrorType' in error &&
typeof error.__portOneErrorType === 'string');
}
var index = {
__proto__: null,
IdentityVerificationError: IdentityVerificationError,
IssueBillingKeyAndPayError: IssueBillingKeyAndPayError,
IssueBillingKeyError: IssueBillingKeyError,
LoadIssueBillingKeyUIError: LoadIssueBillingKeyUIError,
LoadPaymentUIError: LoadPaymentUIError,
ModuleError: ModuleError,
PaymentError: PaymentError,
isIdentityVerificationError: isIdentityVerificationError,
isIssueBillingKeyAndPayError: isIssueBillingKeyAndPayError,
isIssueBillingKeyError: isIssueBillingKeyError,
isLoadIssueBillingKeyUIError: isLoadIssueBillingKeyUIError,
isLoadPaymentUIError: isLoadPaymentUIError,
isModuleError: isModuleError,
isPaymentError: isPaymentError,
isPortOneError: isPortOneError
};
const PortOne = {
requestIdentityVerification,
requestIssueBillingKeyAndPay,
requestIssueBillingKey,
requestPayment,
loadPaymentUI,
loadIssueBillingKeyUI,
updateLoadPaymentUIRequest,
updateLoadIssueBillingKeyUIRequest,
};
exports.Entity = index$1;
exports.IdentityVerificationError = IdentityVerificationError;
exports.IssueBillingKeyAndPayError = IssueBillingKeyAndPayError;
exports.IssueBillingKeyError = IssueBillingKeyError;
exports.LoadIssueBillingKeyUIError = LoadIssueBillingKeyUIError;
exports.LoadPaymentUIError = LoadPaymentUIError;
exports.ModuleError = ModuleError;
exports.PaymentError = PaymentError;
exports.__INTERNAL__setPortOneSdkUrl = setPortOneJsSdkUrl;
exports.default = PortOne;
exports.errors = index;
exports.isIdentityVerificationError = isIdentityVerificationError;
exports.isIssueBillingKeyAndPayError = isIssueBillingKeyAndPayError;
exports.isIssueBillingKeyError = isIssueBillingKeyError;
exports.isLoadIssueBillingKeyUIError = isLoadIssueBillingKeyUIError;
exports.isLoadPaymentUIError = isLoadPaymentUIError;
exports.isModuleError = isModuleError;
exports.isPaymentError = isPaymentError;
exports.isPortOneError = isPortOneError;
exports.loadIssueBillingKeyUI = loadIssueBillingKeyUI;
exports.loadPaymentUI = loadPaymentUI;
exports.requestIdentityVerification = requestIdentityVerification;
exports.requestIssueBillingKey = requestIssueBillingKey;
exports.requestIssueBillingKeyAndPay = requestIssueBillingKeyAndPay;
exports.requestPayment = requestPayment;
exports.updateLoadIssueBillingKeyUIRequest = updateLoadIssueBillingKeyUIRequest;
exports.updateLoadPaymentUIRequest = updateLoadPaymentUIRequest;