iamport-react-native 3.0.0 → 3.0.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/module/components/Payment/index.js +19 -1
  3. package/lib/module/components/Payment/index.js.map +1 -1
  4. package/lib/module/constants/index.js +36 -0
  5. package/lib/module/constants/index.js.map +1 -1
  6. package/lib/typescript/src/components/Payment/index.d.ts.map +1 -1
  7. package/lib/typescript/src/constants/index.d.ts +1 -0
  8. package/lib/typescript/src/constants/index.d.ts.map +1 -1
  9. package/package.json +16 -36
  10. package/src/components/Payment/index.tsx +30 -1
  11. package/src/constants/index.ts +40 -0
  12. package/lib/commonjs/components/Certification/index.js +0 -121
  13. package/lib/commonjs/components/Certification/index.js.map +0 -1
  14. package/lib/commonjs/components/ErrorOnParams/index.js +0 -51
  15. package/lib/commonjs/components/ErrorOnParams/index.js.map +0 -1
  16. package/lib/commonjs/components/Loading/index.js +0 -35
  17. package/lib/commonjs/components/Loading/index.js.map +0 -1
  18. package/lib/commonjs/components/Payment/index.js +0 -224
  19. package/lib/commonjs/components/Payment/index.js.map +0 -1
  20. package/lib/commonjs/constants/index.js +0 -114
  21. package/lib/commonjs/constants/index.js.map +0 -1
  22. package/lib/commonjs/img/iamport-logo.png +0 -0
  23. package/lib/commonjs/index.js +0 -29
  24. package/lib/commonjs/index.js.map +0 -1
  25. package/lib/commonjs/package.json +0 -1
  26. package/lib/commonjs/styles.js +0 -27
  27. package/lib/commonjs/styles.js.map +0 -1
  28. package/lib/commonjs/utils/IamportUrl.js +0 -308
  29. package/lib/commonjs/utils/IamportUrl.js.map +0 -1
  30. package/lib/commonjs/utils/Validation.js +0 -108
  31. package/lib/commonjs/utils/Validation.js.map +0 -1
  32. package/lib/commonjs/utils/ValidationForPayment.js +0 -112
  33. package/lib/commonjs/utils/ValidationForPayment.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # iamport-react-native
2
2
 
3
+ ## 3.0.1-alpha.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 003cf51: react-native-webview 오류 화면 회피
8
+
3
9
  ## 3.0.0
4
10
 
5
11
  ### Major Changes
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { createRef, useEffect, useRef, useState } from 'react';
4
- import { Linking, Platform, View } from 'react-native';
4
+ import { Alert, Linking, Platform, View } from 'react-native';
5
5
  import WebView from 'react-native-webview';
6
6
  import { IMPConst } from "../../constants/index.js";
7
7
  import viewStyles from "../../styles.js";
@@ -20,6 +20,7 @@ function Payment({
20
20
  const [webviewSource, setWebviewSource] = useState({
21
21
  html: IMPConst.WEBVIEW_SOURCE_HTML
22
22
  });
23
+ const injectedJavaScript = Platform.OS === 'ios' ? IMPConst.WEBVIEW_IOS_HYUNDAICARD_INJECTED_JAVASCRIPT : '';
23
24
  const [isWebViewLoaded, setIsWebViewLoaded] = useState(false);
24
25
  const [showLoading, setShowLoading] = useState(true);
25
26
  const webview = /*#__PURE__*/createRef();
@@ -117,6 +118,23 @@ function Payment({
117
118
  ref: webview,
118
119
  source: webviewSource,
119
120
  mixedContentMode: 'always',
121
+ injectedJavaScript: injectedJavaScript,
122
+ onError: event => {
123
+ console.warn('Encountered an error loading page', event.nativeEvent);
124
+ // 탐색이 실패하면 react-native-webview는 바로 오류 화면을 표시하려 한다
125
+ // 한편 별도 설정 안 한 WKWebView는 오류를 무시하여 결제를 계속 진행할 수 있는 경우가 있다
126
+ // 오류 화면 표시를 막는다
127
+ event.preventDefault();
128
+ // Domain=NSURLErrorDomain Code=-1005 Description="The network connection was lost."
129
+ // 지속적으로 폴링하는 카드사(현대카드)의 경우 카드사 앱에서 돌아올 때 HTTP 요청이 강제 중단되어 -1005 오류 발생
130
+ // 별도 설정 안 한 WKWebView에서 간헐적으로 자동 리다이렉트가 안 되고 버튼을 누르라고 하는 경우 이 경우이다
131
+ // 무시한다
132
+ if (Platform.OS === 'ios' || Platform.OS === 'macos' && event.nativeEvent.code === -1005) {
133
+ return;
134
+ }
135
+ // 이외의 경우에는 어떻게 처리해야 할지 확실하지 않지만 우선 알림을 보여 주도록 구현
136
+ Alert.alert(`탐색 오류가 발생했습니다\n도메인: ${event.nativeEvent.domain}\n오류 코드: ${event.nativeEvent.code}\n설명: ${event.nativeEvent.description}`);
137
+ },
120
138
  onLoadEnd: () => {
121
139
  if (!isWebViewLoaded) {
122
140
  if (data.pg.startsWith('eximbay')) {
@@ -1 +1 @@
1
- {"version":3,"names":["createRef","useEffect","useRef","useState","Linking","Platform","View","WebView","IMPConst","viewStyles","IamportUrl","ValidationForPayment","ErrorOnParams","Loading","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Payment","userCode","tierCode","data","loading","callback","webviewSource","setWebviewSource","html","WEBVIEW_SOURCE_HTML","isWebViewLoaded","setIsWebViewLoaded","showLoading","setShowLoading","webview","smilepayRef","redirectUrl","M_REDIRECT_URL","m_redirect_url","undefined","trim","pg","startsWith","OS","current","baseUrl","SMILEPAY_BASE_URL","handleOpenURL","event","pay_method","iamportUrl","url","queryParameters","getQuery","scheme","niceTransRedirectionUrl","app_scheme","toLowerCase","callbackparam1","injectJavaScript","getStringifiedQuery","subscription","addEventListener","cleanup","remove","removeLoadingNeeded","isIframeWayPayment","customer_uid","validation","getIsValid","loadingContainer","webViewContainer","children","containerStyle","ref","source","mixedContentMode","onLoadEnd","popup","JSON","stringify","onMessage","e","encoded","encodeURIComponent","nativeEvent","decoded","decodeURIComponent","response","parse","originWhitelist","sharedCookiesEnabled","onShouldStartLoadWithRequest","request","isPaymentOver","getInicisTransQuery","isAppUrl","launchApp","catch","code","message","imp_success","error_code","error_msg","isIframeLoaded","style","getMessage"],"sourceRoot":"../../../../src","sources":["components/Payment/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createRef","useEffect","useRef","useState","Alert","Linking","Platform","View","WebView","IMPConst","viewStyles","IamportUrl","ValidationForPayment","ErrorOnParams","Loading","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Payment","userCode","tierCode","data","loading","callback","webviewSource","setWebviewSource","html","WEBVIEW_SOURCE_HTML","injectedJavaScript","OS","WEBVIEW_IOS_HYUNDAICARD_INJECTED_JAVASCRIPT","isWebViewLoaded","setIsWebViewLoaded","showLoading","setShowLoading","webview","smilepayRef","redirectUrl","M_REDIRECT_URL","m_redirect_url","undefined","trim","pg","startsWith","current","baseUrl","SMILEPAY_BASE_URL","handleOpenURL","event","pay_method","iamportUrl","url","queryParameters","getQuery","scheme","niceTransRedirectionUrl","app_scheme","toLowerCase","callbackparam1","injectJavaScript","getStringifiedQuery","subscription","addEventListener","cleanup","remove","removeLoadingNeeded","isIframeWayPayment","customer_uid","validation","getIsValid","loadingContainer","webViewContainer","children","containerStyle","ref","source","mixedContentMode","onError","console","warn","nativeEvent","preventDefault","code","alert","domain","description","onLoadEnd","popup","JSON","stringify","onMessage","e","encoded","encodeURIComponent","decoded","decodeURIComponent","response","parse","originWhitelist","sharedCookiesEnabled","onShouldStartLoadWithRequest","request","isPaymentOver","getInicisTransQuery","isAppUrl","launchApp","catch","message","imp_success","error_code","error_msg","isIframeLoaded","style","getMessage"],"sourceRoot":"../../../../src","sources":["components/Payment/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -38,6 +38,42 @@ let IMPConst;
38
38
  <body></body>
39
39
  </html>
40
40
  `;
41
+ const WEBVIEW_IOS_HYUNDAICARD_INJECTED_JAVASCRIPT = _IMPConst.WEBVIEW_IOS_HYUNDAICARD_INJECTED_JAVASCRIPT = `
42
+ (function() {
43
+ if (!window.location.href.startsWith("https://ansimclick.hyundaicard.com/mobile3/MBITFX500.jsp;")) {
44
+ return;
45
+ }
46
+
47
+ if (typeof window.doSignCheck !== 'function') {
48
+ console.log("[Injected] Target 'doSignCheck' not found.");
49
+ return;
50
+ }
51
+
52
+ var originalDoSignCheck = window.doSignCheck;
53
+
54
+ window.doSignCheck = function() {
55
+ var signFlag = null;
56
+ try {
57
+ signFlag = document.Reg_Form.signFlag.value;
58
+ } catch (e) {
59
+ console.warn("[Injected] Read error, fallback to original:", e);
60
+ originalDoSignCheck.apply(this, arguments);
61
+ return;
62
+ }
63
+
64
+ // If Verified ('Y'), STOP. Prevent auto-submit.
65
+ if (signFlag === "Y") {
66
+ console.log("[Injected] Verified! Stopping loop. Waiting for user click.");
67
+ return;
68
+ }
69
+
70
+ // Otherwise, keep polling
71
+ originalDoSignCheck.apply(this, arguments);
72
+ };
73
+
74
+ console.log("[Injected] Smart polling active.");
75
+ })();
76
+ `;
41
77
  const ANDROID_APPSCHEME = _IMPConst.ANDROID_APPSCHEME = {
42
78
  ISP: 'ispmobile',
43
79
  BANKPAY: 'kftc-bankpay',
@@ -1 +1 @@
1
- {"version":3,"names":["PG","_IMPConst","PAY_METHOD","CURRENCY","LANGUAGE","EN_AVAILABLE_PG","CARRIERS","ANDROID_MARKET_PREFIX","IOS_MARKET_PREFIX","M_REDIRECT_URL","NICE_TRANS_URL","IMP_SDK_URL","SMILEPAY_BASE_URL","WEBVIEW_SOURCE_HTML","ANDROID_APPSCHEME","ISP","BANKPAY","KB_BANKPAY","NH_BANKPAY","MG_BANKPAY","KN_BANKPAY","KAKAOPAY","SMILEPAY","CHAIPAY","PAYCO","HYUNDAICARD","TOSS","SHINHANCARD","SHINHANSUPERSOL","HANACARD","SAMSUNGCARD","KBCARD","NHCARD","CITICARD","LOTTECARD","LPAY","SSGPAY","KPAY","KBANKPAY","PAYNOW","WOORIWONCARD","LPOINT","KTFAUTH","LGTAUTH","SKTAUTH","WOORIWONBANK","KAKAOBANK","ANDROID_PACKAGE","PACKAGE_ISP","PACKAGE_BANKPAY","PACKAGE_KB_BANKPAY","PACKAGE_NH_BANKPAY","PACKAGE_MG_BANKPAY","PACKAGE_KN_BANKPAY","PACKAGE_KAKAOPAY","PACKAGE_SMILEPAY","PACKAGE_CHAIPAY","PACKAGE_PAYCO","PACKAGE_HYUNDAICARD","PACKAGE_TOSS","PACKAGE_SHINHANCARD","PACKAGE_SHINHANSUPERSOL","PACKAGE_HANACARD","PACKAGE_SAMSUNGCARD","PACKAGE_KBCARD","PACKAGE_NHCARD","PACKAGE_CITICARD","PACKAGE_LOTTECARD","PACKAGE_LPAY","PACKAGE_SSGPAY","PACKAGE_KPAY","PACKAGE_KBANKPAY","PACKAGE_PAYNOW","PACKAGE_WOORIWONCARD","PACKAGE_LPOINT","PACKAGE_KTFAUTH","PACKAGE_LGTAUTH","PACKAGE_SKTAUTH","PACKAGE_WOORIWONBANK","PACKAGE_KAKAOBANK","IMPConst"],"sourceRoot":"../../../src","sources":["constants/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PG","_IMPConst","PAY_METHOD","CURRENCY","LANGUAGE","EN_AVAILABLE_PG","CARRIERS","ANDROID_MARKET_PREFIX","IOS_MARKET_PREFIX","M_REDIRECT_URL","NICE_TRANS_URL","IMP_SDK_URL","SMILEPAY_BASE_URL","WEBVIEW_SOURCE_HTML","WEBVIEW_IOS_HYUNDAICARD_INJECTED_JAVASCRIPT","ANDROID_APPSCHEME","ISP","BANKPAY","KB_BANKPAY","NH_BANKPAY","MG_BANKPAY","KN_BANKPAY","KAKAOPAY","SMILEPAY","CHAIPAY","PAYCO","HYUNDAICARD","TOSS","SHINHANCARD","SHINHANSUPERSOL","HANACARD","SAMSUNGCARD","KBCARD","NHCARD","CITICARD","LOTTECARD","LPAY","SSGPAY","KPAY","KBANKPAY","PAYNOW","WOORIWONCARD","LPOINT","KTFAUTH","LGTAUTH","SKTAUTH","WOORIWONBANK","KAKAOBANK","ANDROID_PACKAGE","PACKAGE_ISP","PACKAGE_BANKPAY","PACKAGE_KB_BANKPAY","PACKAGE_NH_BANKPAY","PACKAGE_MG_BANKPAY","PACKAGE_KN_BANKPAY","PACKAGE_KAKAOPAY","PACKAGE_SMILEPAY","PACKAGE_CHAIPAY","PACKAGE_PAYCO","PACKAGE_HYUNDAICARD","PACKAGE_TOSS","PACKAGE_SHINHANCARD","PACKAGE_SHINHANSUPERSOL","PACKAGE_HANACARD","PACKAGE_SAMSUNGCARD","PACKAGE_KBCARD","PACKAGE_NHCARD","PACKAGE_CITICARD","PACKAGE_LOTTECARD","PACKAGE_LPAY","PACKAGE_SSGPAY","PACKAGE_KPAY","PACKAGE_KBANKPAY","PACKAGE_PAYNOW","PACKAGE_WOORIWONCARD","PACKAGE_LPOINT","PACKAGE_KTFAUTH","PACKAGE_LGTAUTH","PACKAGE_SKTAUTH","PACKAGE_WOORIWONBANK","PACKAGE_KAKAOBANK","IMPConst"],"sourceRoot":"../../../src","sources":["constants/index.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Payment/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAYpD,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,GAAG,CAAC;CAClC,CAAC;AAEF,iBAAS,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,KAAK,2CAoNtE;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Payment/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAYpD,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,GAAG,CAAC;CAClC,CAAC;AAEF,iBAAS,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,KAAK,2CAiPtE;AAED,eAAe,OAAO,CAAC"}
@@ -12,6 +12,7 @@ declare namespace IMPConst {
12
12
  const IMP_SDK_URL = "https://service.iamport.kr";
13
13
  const SMILEPAY_BASE_URL = "https://www.mysmilepay.com";
14
14
  const WEBVIEW_SOURCE_HTML = "\n<html>\n <head>\n <meta http-equiv='content-type' content='text/html; charset=utf-8'>\n <meta name='viewport' content='width=device-width, initial-scale=1.0'>\n\n <script type='text/javascript' src='https://cdn.iamport.kr/v1/iamport.js'></script>\n </head>\n <body></body>\n</html>\n";
15
+ const WEBVIEW_IOS_HYUNDAICARD_INJECTED_JAVASCRIPT = "\n (function() {\n if (!window.location.href.startsWith(\"https://ansimclick.hyundaicard.com/mobile3/MBITFX500.jsp;\")) {\n return;\n }\n\n if (typeof window.doSignCheck !== 'function') {\n console.log(\"[Injected] Target 'doSignCheck' not found.\");\n return;\n }\n\n var originalDoSignCheck = window.doSignCheck;\n\n window.doSignCheck = function() {\n var signFlag = null;\n try {\n signFlag = document.Reg_Form.signFlag.value;\n } catch (e) {\n console.warn(\"[Injected] Read error, fallback to original:\", e);\n originalDoSignCheck.apply(this, arguments);\n return;\n }\n\n // If Verified ('Y'), STOP. Prevent auto-submit.\n if (signFlag === \"Y\") {\n console.log(\"[Injected] Verified! Stopping loop. Waiting for user click.\");\n return;\n }\n\n // Otherwise, keep polling\n originalDoSignCheck.apply(this, arguments);\n };\n\n console.log(\"[Injected] Smart polling active.\");\n })();\n ";
15
16
  const ANDROID_APPSCHEME: {
16
17
  readonly ISP: "ispmobile";
17
18
  readonly BANKPAY: "kftc-bankpay";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,kBAAU,QAAQ,CAAC;IACV,MAAM,EAAE,gcAwCL,CAAC;IAEJ,MAAM,UAAU,4OAuBb,CAAC;IACJ,MAAM,QAAQ,uCAAwC,CAAC;IACvD,MAAM,QAAQ,uBAAwB,CAAC;IACvC,MAAM,eAAe,iEAMlB,CAAC;IACJ,MAAM,QAAQ,wCAAyC,CAAC;IAExD,MAAM,qBAAqB,yBAAyB,CAAC;IACrD,MAAM,iBAAiB,gCAAgC,CAAC;IACxD,MAAM,cAAc,4CAA4C,CAAC;IACjE,MAAM,cAAc,sDAC0B,CAAC;IAC/C,MAAM,WAAW,+BAA+B,CAAC;IACjD,MAAM,iBAAiB,+BAA+B,CAAC;IAEvD,MAAM,mBAAmB,8SAUjC,CAAC;IAEO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiCpB,CAAC;IAEJ,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiClB,CAAC;CACZ;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,kBAAU,QAAQ,CAAC;IACV,MAAM,EAAE,gcAwCL,CAAC;IAEJ,MAAM,UAAU,4OAuBb,CAAC;IACJ,MAAM,QAAQ,uCAAwC,CAAC;IACvD,MAAM,QAAQ,uBAAwB,CAAC;IACvC,MAAM,eAAe,iEAMlB,CAAC;IACJ,MAAM,QAAQ,wCAAyC,CAAC;IAExD,MAAM,qBAAqB,yBAAyB,CAAC;IACrD,MAAM,iBAAiB,gCAAgC,CAAC;IACxD,MAAM,cAAc,4CAA4C,CAAC;IACjE,MAAM,cAAc,sDAC0B,CAAC;IAC/C,MAAM,WAAW,+BAA+B,CAAC;IACjD,MAAM,iBAAiB,+BAA+B,CAAC;IAEvD,MAAM,mBAAmB,8SAUjC,CAAC;IAKO,MAAM,2CAA2C,knCAmCrD,CAAC;IAEG,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiCpB,CAAC;IAEJ,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiClB,CAAC;CACZ;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iamport-react-native",
3
- "version": "3.0.0",
3
+ "version": "3.0.1-alpha.1",
4
4
  "description": "리액트 네이티브용 아임포트 결제/본인인증 연동 라이브러리",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -15,31 +15,8 @@
15
15
  "files": [
16
16
  "src",
17
17
  "lib",
18
- "android",
19
- "ios",
20
- "cpp",
21
- "*.podspec",
22
- "react-native.config.js",
23
- "!ios/build",
24
- "!android/build",
25
- "!android/gradle",
26
- "!android/gradlew",
27
- "!android/gradlew.bat",
28
- "!android/local.properties",
29
- "!**/__tests__",
30
- "!**/__fixtures__",
31
- "!**/__mocks__",
32
- "!**/.*",
33
18
  "CHANGELOG.md"
34
19
  ],
35
- "scripts": {
36
- "test": "jest",
37
- "typecheck": "tsc",
38
- "lint": "eslint \"**/*.{js,ts,tsx}\"",
39
- "clean": "del-cli lib",
40
- "prepare": "bob build",
41
- "release": "release-it --only-version"
42
- },
43
20
  "keywords": [
44
21
  "react-native",
45
22
  "ios",
@@ -59,40 +36,36 @@
59
36
  "registry": "https://registry.npmjs.org/"
60
37
  },
61
38
  "devDependencies": {
62
- "@changesets/cli": "^2.29.7",
39
+ "@changesets/cli": "^2.29.8",
63
40
  "@eslint/compat": "^1.3.2",
64
41
  "@eslint/eslintrc": "^3.3.1",
65
42
  "@eslint/js": "^9.35.0",
66
- "@evilmartians/lefthook": "^1.12.3",
67
- "@react-native/babel-preset": "0.81.1",
68
- "@react-native/eslint-config": "^0.81.1",
43
+ "@react-native/babel-preset": "0.81.5",
44
+ "@react-native/eslint-config": "0.81.5",
69
45
  "@release-it/conventional-changelog": "^10.0.1",
70
46
  "@types/jest": "^29.5.14",
71
- "@types/react": "^19.2.4",
47
+ "@types/react": "^19.1.12",
72
48
  "del-cli": "^6.0.0",
73
49
  "eslint": "^9.35.0",
74
50
  "eslint-config-prettier": "^10.1.8",
75
51
  "eslint-plugin-prettier": "^5.5.4",
76
52
  "jest": "^29.7.0",
77
53
  "prettier": "^3.6.2",
78
- "react": "^19.2.0",
79
- "react-native": "^0.81.5",
54
+ "react": "19.1.0",
55
+ "react-native": "0.81.5",
80
56
  "react-native-builder-bob": "^0.40.14",
81
57
  "react-native-webview": "^13.16.0",
82
58
  "release-it": "^19.0.4",
83
- "typescript": "^5.9.2"
59
+ "typescript": "^5.9.3"
84
60
  },
85
61
  "peerDependencies": {
86
62
  "react": "*",
87
63
  "react-native": "*",
88
64
  "react-native-webview": "*"
89
65
  },
90
- "packageManager": "pnpm@10.22.0+sha512.bf049efe995b28f527fd2b41ae0474ce29186f7edcb3bf545087bd61fbbebb2bf75362d1307fda09c2d288e1e499787ac12d4fcb617a974718a6051f2eee741c",
91
66
  "jest": {
92
67
  "preset": "react-native",
93
68
  "modulePathIgnorePatterns": [
94
- "<rootDir>/exampleForExpo/node_modules",
95
- "<rootDir>/exampleForWebView/node_modules",
96
69
  "<rootDir>/lib/"
97
70
  ]
98
71
  },
@@ -144,5 +117,12 @@
144
117
  "languages": "js",
145
118
  "type": "library",
146
119
  "version": "0.54.8"
120
+ },
121
+ "scripts": {
122
+ "test": "jest",
123
+ "typecheck": "tsc",
124
+ "lint": "eslint \"**/*.{js,ts,tsx}\"",
125
+ "clean": "del-cli lib",
126
+ "release": "release-it --only-version"
147
127
  }
148
- }
128
+ }
@@ -1,6 +1,6 @@
1
1
  import type { IMPData } from 'iamport-react-native';
2
2
  import { createRef, useEffect, useRef, useState } from 'react';
3
- import { Linking, Platform, View } from 'react-native';
3
+ import { Alert, Linking, Platform, View } from 'react-native';
4
4
  import WebView from 'react-native-webview';
5
5
  import type { WebViewSource } from 'react-native-webview/lib/WebViewTypes';
6
6
  import { IMPConst } from '../../constants';
@@ -22,6 +22,10 @@ function Payment({ userCode, tierCode, data, loading, callback }: Props) {
22
22
  const [webviewSource, setWebviewSource] = useState<WebViewSource>({
23
23
  html: IMPConst.WEBVIEW_SOURCE_HTML,
24
24
  });
25
+ const injectedJavaScript =
26
+ Platform.OS === 'ios'
27
+ ? IMPConst.WEBVIEW_IOS_HYUNDAICARD_INJECTED_JAVASCRIPT
28
+ : '';
25
29
  const [isWebViewLoaded, setIsWebViewLoaded] = useState(false);
26
30
  const [showLoading, setShowLoading] = useState(true);
27
31
  const webview = createRef<WebView>();
@@ -129,6 +133,31 @@ function Payment({ userCode, tierCode, data, loading, callback }: Props) {
129
133
  ref={webview}
130
134
  source={webviewSource}
131
135
  mixedContentMode={'always'}
136
+ injectedJavaScript={injectedJavaScript}
137
+ onError={(event) => {
138
+ console.warn(
139
+ 'Encountered an error loading page',
140
+ event.nativeEvent
141
+ );
142
+ // 탐색이 실패하면 react-native-webview는 바로 오류 화면을 표시하려 한다
143
+ // 한편 별도 설정 안 한 WKWebView는 오류를 무시하여 결제를 계속 진행할 수 있는 경우가 있다
144
+ // 오류 화면 표시를 막는다
145
+ event.preventDefault();
146
+ // Domain=NSURLErrorDomain Code=-1005 Description="The network connection was lost."
147
+ // 지속적으로 폴링하는 카드사(현대카드)의 경우 카드사 앱에서 돌아올 때 HTTP 요청이 강제 중단되어 -1005 오류 발생
148
+ // 별도 설정 안 한 WKWebView에서 간헐적으로 자동 리다이렉트가 안 되고 버튼을 누르라고 하는 경우 이 경우이다
149
+ // 무시한다
150
+ if (
151
+ Platform.OS === 'ios' ||
152
+ (Platform.OS === 'macos' && event.nativeEvent.code === -1005)
153
+ ) {
154
+ return;
155
+ }
156
+ // 이외의 경우에는 어떻게 처리해야 할지 확실하지 않지만 우선 알림을 보여 주도록 구현
157
+ Alert.alert(
158
+ `탐색 오류가 발생했습니다\n도메인: ${event.nativeEvent.domain}\n오류 코드: ${event.nativeEvent.code}\n설명: ${event.nativeEvent.description}`
159
+ );
160
+ }}
132
161
  onLoadEnd={() => {
133
162
  if (!isWebViewLoaded) {
134
163
  if (data.pg.startsWith('eximbay')) {
@@ -95,6 +95,46 @@ namespace IMPConst {
95
95
  <body></body>
96
96
  </html>
97
97
  `;
98
+ // 현대카드가 카드사 앱에서 돌아올 때 자동으로 다음 화면으로 이동하려다가
99
+ // HTTP 연결이 유실되고 provisional navigation -1005 실패로 기록되나
100
+ // 무슨 이유에서인지 현대카드에 실제 요청은 가서 이후 수동으로 요청시 세션 만료 오류 발생 (멱등하지 못함)
101
+ // 자동 이동을 꺼서, 사용자가 버튼을 눌러야 다음 화면으로 이동하도록 함
102
+ export const WEBVIEW_IOS_HYUNDAICARD_INJECTED_JAVASCRIPT = `
103
+ (function() {
104
+ if (!window.location.href.startsWith("https://ansimclick.hyundaicard.com/mobile3/MBITFX500.jsp;")) {
105
+ return;
106
+ }
107
+
108
+ if (typeof window.doSignCheck !== 'function') {
109
+ console.log("[Injected] Target 'doSignCheck' not found.");
110
+ return;
111
+ }
112
+
113
+ var originalDoSignCheck = window.doSignCheck;
114
+
115
+ window.doSignCheck = function() {
116
+ var signFlag = null;
117
+ try {
118
+ signFlag = document.Reg_Form.signFlag.value;
119
+ } catch (e) {
120
+ console.warn("[Injected] Read error, fallback to original:", e);
121
+ originalDoSignCheck.apply(this, arguments);
122
+ return;
123
+ }
124
+
125
+ // If Verified ('Y'), STOP. Prevent auto-submit.
126
+ if (signFlag === "Y") {
127
+ console.log("[Injected] Verified! Stopping loop. Waiting for user click.");
128
+ return;
129
+ }
130
+
131
+ // Otherwise, keep polling
132
+ originalDoSignCheck.apply(this, arguments);
133
+ };
134
+
135
+ console.log("[Injected] Smart polling active.");
136
+ })();
137
+ `;
98
138
 
99
139
  export const ANDROID_APPSCHEME = {
100
140
  ISP: 'ispmobile',
@@ -1,121 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = require("react");
8
- var _reactNative = require("react-native");
9
- var _reactNativeWebview = require("react-native-webview");
10
- var _ErrorOnParams = _interopRequireDefault(require("../ErrorOnParams"));
11
- var _Loading = _interopRequireDefault(require("../Loading"));
12
- var _constants = require("../../constants");
13
- var _Validation = require("../../utils/Validation");
14
- var _styles = _interopRequireDefault(require("../../styles"));
15
- var _IamportUrl = _interopRequireDefault(require("../../utils/IamportUrl"));
16
- var _jsxRuntime = require("react/jsx-runtime");
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
- function Certification({
19
- userCode,
20
- tierCode,
21
- data,
22
- loading,
23
- callback
24
- }) {
25
- const [isWebViewLoaded, setIsWebViewLoaded] = (0, _react.useState)(false);
26
- const webview = /*#__PURE__*/(0, _react.createRef)();
27
- const validation = new _Validation.Validation(userCode, loading, callback, data);
28
- let redirectUrl = _constants.IMPConst.M_REDIRECT_URL;
29
- if (data.m_redirect_url !== undefined && data.m_redirect_url.trim() !== '') {
30
- redirectUrl = data.m_redirect_url;
31
- } else {
32
- data.m_redirect_url = redirectUrl;
33
- }
34
- if (validation.getIsValid()) {
35
- const {
36
- loadingContainer,
37
- webViewContainer
38
- } = _styles.default;
39
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
40
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeWebview.WebView, {
41
- containerStyle: webViewContainer,
42
- ref: webview,
43
- source: {
44
- html: _constants.IMPConst.WEBVIEW_SOURCE_HTML
45
- },
46
- mixedContentMode: 'always',
47
- onLoadEnd: () => {
48
- if (!isWebViewLoaded) {
49
- // html이 load되고 최초 한번만 inject javascript
50
- if (tierCode) {
51
- webview.current?.injectJavaScript(`
52
- setTimeout(function() { IMP.agency("${userCode}", "${tierCode}"); });
53
- `);
54
- } else {
55
- webview.current?.injectJavaScript(`
56
- setTimeout(function() { IMP.init("${userCode}"); });
57
- `);
58
- }
59
- webview.current?.injectJavaScript(`
60
- setTimeout(function() {
61
- IMP.certification(${JSON.stringify(data)}, function(response) {
62
- window.ReactNativeWebView.postMessage(JSON.stringify(response));
63
- });
64
- });
65
- `);
66
- setIsWebViewLoaded(true);
67
- }
68
- },
69
- onMessage: e => {
70
- let messageData = e.nativeEvent.data;
71
- if (decodeURIComponent(messageData) !== messageData) {
72
- messageData = decodeURIComponent(messageData);
73
- }
74
- let response = JSON.parse(messageData);
75
- if (typeof callback === 'function') {
76
- callback(response);
77
- }
78
- },
79
- startInLoadingState: true,
80
- renderLoading: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
81
- style: loadingContainer,
82
- children: loading || /*#__PURE__*/(0, _jsxRuntime.jsx)(_Loading.default, {})
83
- }),
84
- originWhitelist: ['*'] // https://github.com/facebook/react-native/issues/19986
85
- ,
86
- onShouldStartLoadWithRequest: request => {
87
- const {
88
- url
89
- } = request;
90
- // console.log('url: ' + url);
91
- const iamportUrl = new _IamportUrl.default(url);
92
- if (iamportUrl.isAppUrl()) {
93
- /* 3rd-party 앱 오픈 */
94
- iamportUrl.launchApp().catch(e => {
95
- const {
96
- code,
97
- message
98
- } = e;
99
- callback({
100
- imp_success: false,
101
- error_code: code,
102
- error_msg: message
103
- });
104
- });
105
- return false;
106
- }
107
- if (iamportUrl.isPaymentOver(redirectUrl)) {
108
- callback(iamportUrl.getQuery());
109
- return false;
110
- }
111
- return true;
112
- }
113
- })
114
- });
115
- }
116
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ErrorOnParams.default, {
117
- message: validation.getMessage()
118
- });
119
- }
120
- var _default = exports.default = Certification;
121
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeWebview","_ErrorOnParams","_interopRequireDefault","_Loading","_constants","_Validation","_styles","_IamportUrl","_jsxRuntime","e","__esModule","default","Certification","userCode","tierCode","data","loading","callback","isWebViewLoaded","setIsWebViewLoaded","useState","webview","createRef","validation","Validation","redirectUrl","IMPConst","M_REDIRECT_URL","m_redirect_url","undefined","trim","getIsValid","loadingContainer","webViewContainer","viewStyles","jsx","Fragment","children","WebView","containerStyle","ref","source","html","WEBVIEW_SOURCE_HTML","mixedContentMode","onLoadEnd","current","injectJavaScript","JSON","stringify","onMessage","messageData","nativeEvent","decodeURIComponent","response","parse","startInLoadingState","renderLoading","View","style","originWhitelist","onShouldStartLoadWithRequest","request","url","iamportUrl","IamportUrl","isAppUrl","launchApp","catch","code","message","imp_success","error_code","error_msg","isPaymentOver","getQuery","getMessage","_default","exports"],"sourceRoot":"../../../../src","sources":["components/Certification/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,51 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _reactNative = require("react-native");
8
- var _jsxRuntime = require("react/jsx-runtime");
9
- const logo = require('../../img/iamport-logo.png');
10
- function ErrorOnParams({
11
- message
12
- }) {
13
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
14
- style: styles.container,
15
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
16
- source: logo
17
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
18
- style: styles.text,
19
- children: message
20
- })]
21
- });
22
- }
23
- const styles = _reactNative.StyleSheet.create({
24
- container: {
25
- flex: 1,
26
- alignItems: 'center',
27
- justifyContent: 'center'
28
- },
29
- text: {
30
- textAlign: 'center',
31
- fontSize: 16,
32
- marginTop: 20,
33
- lineHeight: 25
34
- },
35
- button: {
36
- backgroundColor: '#fff',
37
- color: '#ff0000',
38
- borderColor: '#333',
39
- borderWidth: 1,
40
- borderRadius: 3,
41
- paddingTop: 10,
42
- paddingBottom: 10,
43
- paddingLeft: 20,
44
- paddingRight: 20,
45
- fontSize: 14,
46
- marginTop: 20,
47
- fontWeight: 'bold'
48
- }
49
- });
50
- var _default = exports.default = ErrorOnParams;
51
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","_jsxRuntime","logo","ErrorOnParams","message","jsxs","View","style","styles","container","children","jsx","Image","source","Text","text","StyleSheet","create","flex","alignItems","justifyContent","textAlign","fontSize","marginTop","lineHeight","button","backgroundColor","color","borderColor","borderWidth","borderRadius","paddingTop","paddingBottom","paddingLeft","paddingRight","fontWeight","_default","exports","default"],"sourceRoot":"../../../../src","sources":["components/ErrorOnParams/index.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAA6D,IAAAC,WAAA,GAAAD,OAAA;AAE7D,MAAME,IAAI,GAAGF,OAAO,CAAC,4BAA4B,CAAC;AAIlD,SAASG,aAAaA,CAAC;EAAEC;AAAoB,CAAC,EAAE;EAC9C,oBACE,IAAAH,WAAA,CAAAI,IAAA,EAACN,YAAA,CAAAO,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5B,IAAAT,WAAA,CAAAU,GAAA,EAACZ,YAAA,CAAAa,KAAK;MAACC,MAAM,EAAEX;IAAK,CAAE,CAAC,eACvB,IAAAD,WAAA,CAAAU,GAAA,EAACZ,YAAA,CAAAe,IAAI;MAACP,KAAK,EAAEC,MAAM,CAACO,IAAK;MAAAL,QAAA,EAAEN;IAAO,CAAO,CAAC;EAAA,CACtC,CAAC;AAEX;AAEA,MAAMI,MAAM,GAAGQ,uBAAU,CAACC,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDL,IAAI,EAAE;IACJM,SAAS,EAAE,QAAQ;IACnBC,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE,EAAE;IACbC,UAAU,EAAE;EACd,CAAC;EACDC,MAAM,EAAE;IACNC,eAAe,EAAE,MAAM;IACvBC,KAAK,EAAE,SAAS;IAChBC,WAAW,EAAE,MAAM;IACnBC,WAAW,EAAE,CAAC;IACdC,YAAY,EAAE,CAAC;IACfC,UAAU,EAAE,EAAE;IACdC,aAAa,EAAE,EAAE;IACjBC,WAAW,EAAE,EAAE;IACfC,YAAY,EAAE,EAAE;IAChBZ,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE,EAAE;IACbY,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEYnC,aAAa","ignoreList":[]}
@@ -1,35 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _reactNative = require("react-native");
8
- var _jsxRuntime = require("react/jsx-runtime");
9
- const logo = require('../../img/iamport-logo.png');
10
- function Loading() {
11
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
12
- style: styles.container,
13
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
14
- source: logo
15
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
16
- style: styles.text,
17
- children: "\uC7A0\uC2DC\uB9CC \uAE30\uB2E4\uB824\uC8FC\uC138\uC694..."
18
- })]
19
- });
20
- }
21
- const styles = _reactNative.StyleSheet.create({
22
- container: {
23
- flex: 1,
24
- alignItems: 'center',
25
- flexDirection: 'column',
26
- justifyContent: 'center'
27
- },
28
- text: {
29
- fontSize: 20,
30
- marginTop: 20,
31
- lineHeight: 25
32
- }
33
- });
34
- var _default = exports.default = Loading;
35
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","_jsxRuntime","logo","Loading","jsxs","View","style","styles","container","children","jsx","Image","source","Text","text","StyleSheet","create","flex","alignItems","flexDirection","justifyContent","fontSize","marginTop","lineHeight","_default","exports","default"],"sourceRoot":"../../../../src","sources":["components/Loading/index.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAA6D,IAAAC,WAAA,GAAAD,OAAA;AAE7D,MAAME,IAAI,GAAGF,OAAO,CAAC,4BAA4B,CAAC;AAElD,SAASG,OAAOA,CAAA,EAAG;EACjB,oBACE,IAAAF,WAAA,CAAAG,IAAA,EAACL,YAAA,CAAAM,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5B,IAAAR,WAAA,CAAAS,GAAA,EAACX,YAAA,CAAAY,KAAK;MAACC,MAAM,EAAEV;IAAK,CAAE,CAAC,eACvB,IAAAD,WAAA,CAAAS,GAAA,EAACX,YAAA,CAAAc,IAAI;MAACP,KAAK,EAAEC,MAAM,CAACO,IAAK;MAAAL,QAAA,EAAC;IAAa,CAAM,CAAC;EAAA,CAC1C,CAAC;AAEX;AAEA,MAAMF,MAAM,GAAGQ,uBAAU,CAACC,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,QAAQ;IACvBC,cAAc,EAAE;EAClB,CAAC;EACDN,IAAI,EAAE;IACJO,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE,EAAE;IACbC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEYvB,OAAO","ignoreList":[]}