iamport-react-native 3.0.2 → 3.0.3

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # iamport-react-native
2
2
 
3
+ ## 3.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - df1a317: querystring 파싱 revert
8
+
3
9
  ## 3.0.2
4
10
 
5
11
  ### Patch Changes
@@ -1,39 +1,36 @@
1
1
  "use strict";
2
2
 
3
3
  import { Linking, Platform } from 'react-native';
4
+ import queryString from 'query-string';
4
5
  import { IMPConst } from "../constants/index.js";
5
6
  class IamportUrl {
6
7
  // Android only
7
8
 
8
9
  constructor(url) {
9
10
  this.url = url;
10
- const [scheme, location] = splitFirst(url, '://');
11
- this.scheme = scheme;
11
+ this.scheme = url.split('://', 1)[0] ?? '';
12
+ let splittedUrl = [this.scheme, url.slice(this.scheme.length + 3)];
12
13
  if (Platform.OS === 'ios') {
13
- this.path = this.scheme.startsWith('itms') ? `https://${location}` : this.url;
14
+ this.path = this.scheme.startsWith('itms') ? `https://${splittedUrl[1]}` : this.url;
14
15
  } else if (Platform.OS === 'android') {
15
16
  if (this.isAppUrl()) {
16
17
  if (this.scheme.includes('intent')) {
17
- const [host, argText] = splitFirst(location, '#Intent;');
18
- const args = argText.split(';');
18
+ let intentUrl = splittedUrl[1]?.split('#Intent;') ?? [];
19
+ let host = intentUrl[0];
20
+ let args = intentUrl[1]?.split(';') ?? [];
19
21
  if (this.scheme !== 'intent') {
20
- this.scheme = this.scheme.split(':')[1];
22
+ this.scheme = this.scheme.split(':')[1] ?? '';
21
23
  this.path = this.scheme + '://' + host;
22
24
  }
23
- for (const arg of args) {
24
- const [key, rawValue] = splitFirst(arg, '=');
25
- const value = rawValue === undefined ? undefined : decodeURIComponent(rawValue);
26
- switch (key) {
27
- case 'scheme':
28
- if (value !== undefined) {
29
- this.path = `${value}://${host}`;
30
- this.scheme = value;
31
- }
32
- break;
33
- case 'package':
34
- this.package = value;
25
+ args.forEach(s => {
26
+ if (s.startsWith('scheme')) {
27
+ let scheme = s.split('=')[1];
28
+ this.path = scheme + '://' + host;
29
+ this.scheme = scheme ?? '';
30
+ } else if (s.startsWith('package')) {
31
+ this.package = s.split('=')[1];
35
32
  }
36
- }
33
+ });
37
34
  } else {
38
35
  this.path = this.url;
39
36
  }
@@ -50,7 +47,8 @@ class IamportUrl {
50
47
  return true;
51
48
  }
52
49
  if (data?.pay_method === 'trans') {
53
- const searchParams = new URLSearchParams(extractQuery(this.url));
50
+ const decodeUrl = decodeURIComponent(this.url);
51
+ const parsedUrl = queryString.parse(decodeUrl);
54
52
  const scheme = data?.app_scheme;
55
53
  /**
56
54
  * [IOS] 웹 표준 이니시스 - 실시간 계좌이체 대비
@@ -65,8 +63,9 @@ class IamportUrl {
65
63
  * 이를 위한 isInicisTransPaid 플래그 추가
66
64
  */
67
65
  if (data.pg.startsWith('html5_inicis') && Platform.OS === 'ios') {
68
- if (searchParams.has('m_redirect_url') && scheme === data.app_scheme?.toLowerCase()) {
69
- if (searchParams.get('m_redirect_url')?.includes(redirectUrl)) {
66
+ const query = parsedUrl;
67
+ if (query.m_redirect_url !== null && scheme === data.app_scheme?.toLowerCase()) {
68
+ if (query.m_redirect_url?.includes(redirectUrl)) {
70
69
  return true;
71
70
  }
72
71
  }
@@ -243,12 +242,11 @@ class IamportUrl {
243
242
  }
244
243
  }
245
244
  getQuery() {
246
- return Object.fromEntries(new URLSearchParams(this.getStringifiedQuery()).entries());
245
+ return queryString.parse(this.getStringifiedQuery());
247
246
  }
248
247
  getStringifiedQuery() {
249
- const query = extractQuery(this.url);
250
- if (query === undefined) return undefined;
251
- return decodeQueryParam(query);
248
+ const decodedUrl = decodeURIComponent(this.url);
249
+ return queryString.extract(decodedUrl);
252
250
  }
253
251
  getInicisTransQuery(redirectUrl) {
254
252
  const {
@@ -282,24 +280,5 @@ class IamportUrl {
282
280
  }
283
281
  }
284
282
  }
285
- function splitFirst(text, delimiter) {
286
- const index = text.indexOf(delimiter);
287
- if (index === -1) return [text];
288
- return [text.slice(0, index), text.slice(index + delimiter.length)];
289
- }
290
-
291
- // PG사 URL은 표준적인 URL이 아닐 수 있다.
292
- function extractQuery(url) {
293
- const hashIndex = url.indexOf('#');
294
- const beforeHash = hashIndex === -1 ? url : url.slice(0, hashIndex);
295
- const queryIndex = beforeHash.indexOf('?');
296
- if (queryIndex === -1) return undefined;
297
- return beforeHash.slice(queryIndex);
298
- }
299
-
300
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#decoding_query_parameters_from_a_url
301
- function decodeQueryParam(query) {
302
- return decodeURIComponent(query.replaceAll('+', ' '));
303
- }
304
283
  export default IamportUrl;
305
284
  //# sourceMappingURL=IamportUrl.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Linking","Platform","IMPConst","IamportUrl","constructor","url","scheme","location","splitFirst","OS","path","startsWith","isAppUrl","includes","host","argText","args","split","arg","key","rawValue","value","undefined","decodeURIComponent","package","getUrl","isPaymentOver","redirectUrl","data","pay_method","searchParams","URLSearchParams","extractQuery","app_scheme","pg","has","toLowerCase","get","isIframeLoaded","IMP_SDK_URL","getAppUrl","getMarketUrl","IOS_MARKET_PREFIX","ANDROID_MARKET_PREFIX","ANDROID_APPSCHEME","ISP","ANDROID_PACKAGE","PACKAGE_ISP","BANKPAY","PACKAGE_BANKPAY","KB_BANKPAY","PACKAGE_KB_BANKPAY","NH_BANKPAY","PACKAGE_NH_BANKPAY","MG_BANKPAY","PACKAGE_MG_BANKPAY","KN_BANKPAY","PACKAGE_KN_BANKPAY","KAKAOPAY","PACKAGE_KAKAOPAY","SMILEPAY","PACKAGE_SMILEPAY","CHAIPAY","PACKAGE_CHAIPAY","PAYCO","PACKAGE_PAYCO","HYUNDAICARD","PACKAGE_HYUNDAICARD","TOSS","PACKAGE_TOSS","SHINHANCARD","PACKAGE_SHINHANCARD","SHINHANSUPERSOL","PACKAGE_SHINHANSUPERSOL","HANACARD","PACKAGE_HANACARD","SAMSUNGCARD","PACKAGE_SAMSUNGCARD","KBCARD","PACKAGE_KBCARD","NHCARD","PACKAGE_NHCARD","CITICARD","PACKAGE_CITICARD","LOTTECARD","PACKAGE_LOTTECARD","LPAY","PACKAGE_LPAY","SSGPAY","PACKAGE_SSGPAY","KPAY","PACKAGE_KPAY","KBANKPAY","PACKAGE_KBANKPAY","PAYNOW","PACKAGE_PAYNOW","WOORIWONCARD","PACKAGE_WOORIWONCARD","LPOINT","PACKAGE_LPOINT","KTFAUTH","PACKAGE_KTFAUTH","LGTAUTH","PACKAGE_LGTAUTH","SKTAUTH","PACKAGE_SKTAUTH","WOORIWONBANK","PACKAGE_WOORIWONBANK","KAKAOBANK","PACKAGE_KAKAOBANK","getQuery","Object","fromEntries","getStringifiedQuery","entries","query","decodeQueryParam","getInicisTransQuery","m_redirect_url","imp_uid","merchant_uid","inicisTransQuery","launchApp","canOpenURL","openURL","e","console","error","text","delimiter","index","indexOf","slice","length","hashIndex","beforeHash","queryIndex","replaceAll"],"sourceRoot":"../../../src","sources":["utils/IamportUrl.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Linking","Platform","queryString","IMPConst","IamportUrl","constructor","url","scheme","split","splittedUrl","slice","length","OS","path","startsWith","isAppUrl","includes","intentUrl","host","args","forEach","s","package","getUrl","isPaymentOver","redirectUrl","data","pay_method","decodeUrl","decodeURIComponent","parsedUrl","parse","app_scheme","pg","query","m_redirect_url","toLowerCase","isIframeLoaded","IMP_SDK_URL","getAppUrl","getMarketUrl","IOS_MARKET_PREFIX","ANDROID_MARKET_PREFIX","ANDROID_APPSCHEME","ISP","ANDROID_PACKAGE","PACKAGE_ISP","BANKPAY","PACKAGE_BANKPAY","KB_BANKPAY","PACKAGE_KB_BANKPAY","NH_BANKPAY","PACKAGE_NH_BANKPAY","MG_BANKPAY","PACKAGE_MG_BANKPAY","KN_BANKPAY","PACKAGE_KN_BANKPAY","KAKAOPAY","PACKAGE_KAKAOPAY","SMILEPAY","PACKAGE_SMILEPAY","CHAIPAY","PACKAGE_CHAIPAY","PAYCO","PACKAGE_PAYCO","HYUNDAICARD","PACKAGE_HYUNDAICARD","TOSS","PACKAGE_TOSS","SHINHANCARD","PACKAGE_SHINHANCARD","SHINHANSUPERSOL","PACKAGE_SHINHANSUPERSOL","HANACARD","PACKAGE_HANACARD","SAMSUNGCARD","PACKAGE_SAMSUNGCARD","KBCARD","PACKAGE_KBCARD","NHCARD","PACKAGE_NHCARD","CITICARD","PACKAGE_CITICARD","LOTTECARD","PACKAGE_LOTTECARD","LPAY","PACKAGE_LPAY","SSGPAY","PACKAGE_SSGPAY","KPAY","PACKAGE_KPAY","KBANKPAY","PACKAGE_KBANKPAY","PAYNOW","PACKAGE_PAYNOW","WOORIWONCARD","PACKAGE_WOORIWONCARD","LPOINT","PACKAGE_LPOINT","KTFAUTH","PACKAGE_KTFAUTH","LGTAUTH","PACKAGE_LGTAUTH","SKTAUTH","PACKAGE_SKTAUTH","WOORIWONBANK","PACKAGE_WOORIWONBANK","KAKAOBANK","PACKAGE_KAKAOBANK","getQuery","getStringifiedQuery","decodedUrl","extract","getInicisTransQuery","imp_uid","merchant_uid","inicisTransQuery","launchApp","canOpenURL","openURL","e","console","error"],"sourceRoot":"../../../src","sources":["utils/IamportUrl.ts"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import type { IMPData } from 'iamport-react-native';
2
+ import queryString from 'query-string';
2
3
  declare class IamportUrl {
3
4
  url: string;
4
5
  scheme: string;
@@ -11,13 +12,11 @@ declare class IamportUrl {
11
12
  isIframeLoaded(): boolean;
12
13
  getAppUrl(): string | undefined;
13
14
  getMarketUrl(): string;
14
- getQuery(): {
15
- [k: string]: string;
16
- };
17
- getStringifiedQuery(): string | undefined;
15
+ getQuery(): queryString.ParsedQuery<string>;
16
+ getStringifiedQuery(): string;
18
17
  getInicisTransQuery(redirectUrl: string): {
19
- imp_uid: string | undefined;
20
- merchant_uid: string | undefined;
18
+ imp_uid: string | (string | null)[] | null | undefined;
19
+ merchant_uid: string | (string | null)[] | null | undefined;
21
20
  };
22
21
  launchApp(): Promise<void>;
23
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IamportUrl.d.ts","sourceRoot":"","sources":["../../../../src/utils/IamportUrl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIpD,cAAM,UAAU;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,GAAG,EAAE,MAAM;IAyCvB,MAAM;IAIN,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,GAAG,OAAO;IAkCvE,QAAQ;IAMR,cAAc;IAMd,SAAS;IAIT,YAAY;IAuOZ,QAAQ;;;IAMR,mBAAmB;IAMnB,mBAAmB,CAAC,WAAW,EAAE,MAAM;;;;IAYjC,SAAS;CAgBhB;AAyBD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"IamportUrl.d.ts","sourceRoot":"","sources":["../../../../src/utils/IamportUrl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,WAAW,MAAM,cAAc,CAAC;AAGvC,cAAM,UAAU;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,GAAG,EAAE,MAAM;IAoCvB,MAAM;IAIN,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,GAAG,OAAO;IAoCvE,QAAQ;IAMR,cAAc;IAMd,SAAS;IAIT,YAAY;IAuOZ,QAAQ;IAIR,mBAAmB;IAKnB,mBAAmB,CAAC,WAAW,EAAE,MAAM;;;;IAYjC,SAAS;CAgBhB;AAED,eAAe,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iamport-react-native",
3
- "version": "3.0.2",
3
+ "version": "3.0.3",
4
4
  "description": "리액트 네이티브용 아임포트 결제/본인인증 연동 라이브러리",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -118,6 +118,9 @@
118
118
  "type": "library",
119
119
  "version": "0.54.8"
120
120
  },
121
+ "dependencies": {
122
+ "query-string": "^9.3.1"
123
+ },
121
124
  "scripts": {
122
125
  "test": "jest",
123
126
  "typecheck": "tsc",
@@ -1,5 +1,6 @@
1
1
  import type { IMPData } from 'iamport-react-native';
2
2
  import { Linking, Platform } from 'react-native';
3
+ import queryString from 'query-string';
3
4
  import { IMPConst } from '../constants';
4
5
 
5
6
  class IamportUrl {
@@ -10,36 +11,31 @@ class IamportUrl {
10
11
 
11
12
  constructor(url: string) {
12
13
  this.url = url;
13
- const [scheme, location] = splitFirst(url, '://');
14
- this.scheme = scheme;
14
+ this.scheme = url.split('://', 1)[0] ?? '';
15
+ let splittedUrl = [this.scheme, url.slice(this.scheme.length + 3)];
15
16
  if (Platform.OS === 'ios') {
16
17
  this.path = this.scheme.startsWith('itms')
17
- ? `https://${location}`
18
+ ? `https://${splittedUrl[1]}`
18
19
  : this.url;
19
20
  } else if (Platform.OS === 'android') {
20
21
  if (this.isAppUrl()) {
21
22
  if (this.scheme.includes('intent')) {
22
- const [host, argText] = splitFirst(location!!, '#Intent;');
23
- const args = argText!!.split(';');
23
+ let intentUrl = splittedUrl[1]?.split('#Intent;') ?? [];
24
+ let host = intentUrl[0];
25
+ let args = intentUrl[1]?.split(';') ?? [];
24
26
  if (this.scheme !== 'intent') {
25
- this.scheme = this.scheme.split(':')[1]!!;
27
+ this.scheme = this.scheme.split(':')[1] ?? '';
26
28
  this.path = this.scheme + '://' + host;
27
29
  }
28
- for (const arg of args) {
29
- const [key, rawValue] = splitFirst(arg, '=');
30
- const value =
31
- rawValue === undefined ? undefined : decodeURIComponent(rawValue);
32
- switch (key) {
33
- case 'scheme':
34
- if (value !== undefined) {
35
- this.path = `${value}://${host}`;
36
- this.scheme = value;
37
- }
38
- break;
39
- case 'package':
40
- this.package = value;
30
+ args.forEach((s) => {
31
+ if (s.startsWith('scheme')) {
32
+ let scheme = s.split('=')[1];
33
+ this.path = scheme + '://' + host;
34
+ this.scheme = scheme ?? '';
35
+ } else if (s.startsWith('package')) {
36
+ this.package = s.split('=')[1];
41
37
  }
42
- }
38
+ });
43
39
  } else {
44
40
  this.path = this.url;
45
41
  }
@@ -59,7 +55,8 @@ class IamportUrl {
59
55
  }
60
56
 
61
57
  if (data?.pay_method === 'trans') {
62
- const searchParams = new URLSearchParams(extractQuery(this.url));
58
+ const decodeUrl = decodeURIComponent(this.url);
59
+ const parsedUrl = queryString.parse(decodeUrl);
63
60
  const scheme = data?.app_scheme;
64
61
  /**
65
62
  * [IOS] 웹 표준 이니시스 - 실시간 계좌이체 대비
@@ -74,11 +71,12 @@ class IamportUrl {
74
71
  * 이를 위한 isInicisTransPaid 플래그 추가
75
72
  */
76
73
  if (data.pg.startsWith('html5_inicis') && Platform.OS === 'ios') {
74
+ const query = parsedUrl;
77
75
  if (
78
- searchParams.has('m_redirect_url') &&
76
+ query.m_redirect_url !== null &&
79
77
  scheme === data.app_scheme?.toLowerCase()
80
78
  ) {
81
- if (searchParams.get('m_redirect_url')?.includes(redirectUrl)) {
79
+ if ((query.m_redirect_url as string | null)?.includes(redirectUrl)) {
82
80
  return true;
83
81
  }
84
82
  }
@@ -335,15 +333,12 @@ class IamportUrl {
335
333
  }
336
334
 
337
335
  getQuery() {
338
- return Object.fromEntries(
339
- new URLSearchParams(this.getStringifiedQuery()).entries()
340
- );
336
+ return queryString.parse(this.getStringifiedQuery());
341
337
  }
342
338
 
343
339
  getStringifiedQuery() {
344
- const query = extractQuery(this.url);
345
- if (query === undefined) return undefined;
346
- return decodeQueryParam(query);
340
+ const decodedUrl = decodeURIComponent(this.url);
341
+ return queryString.extract(decodedUrl);
347
342
  }
348
343
 
349
344
  getInicisTransQuery(redirectUrl: string) {
@@ -376,27 +371,4 @@ class IamportUrl {
376
371
  }
377
372
  }
378
373
 
379
- function splitFirst(
380
- text: string,
381
- delimiter: string
382
- ): [string] | [string, string] {
383
- const index = text.indexOf(delimiter);
384
- if (index === -1) return [text];
385
- return [text.slice(0, index), text.slice(index + delimiter.length)];
386
- }
387
-
388
- // PG사 URL은 표준적인 URL이 아닐 수 있다.
389
- function extractQuery(url: string): string | undefined {
390
- const hashIndex = url.indexOf('#');
391
- const beforeHash = hashIndex === -1 ? url : url.slice(0, hashIndex);
392
- const queryIndex = beforeHash.indexOf('?');
393
- if (queryIndex === -1) return undefined;
394
- return beforeHash.slice(queryIndex);
395
- }
396
-
397
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#decoding_query_parameters_from_a_url
398
- function decodeQueryParam(query: string): string {
399
- return decodeURIComponent(query.replaceAll('+', ' '));
400
- }
401
-
402
374
  export default IamportUrl;