iamport-react-native 2.0.15 → 3.0.1-alpha.0

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 (430) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +12 -2
  3. package/lib/module/components/Certification/index.js +75 -72
  4. package/lib/module/components/Certification/index.js.map +1 -1
  5. package/lib/module/components/ErrorOnParams/index.js +13 -9
  6. package/lib/module/components/ErrorOnParams/index.js.map +1 -1
  7. package/lib/module/components/Loading/index.js +13 -9
  8. package/lib/module/components/Loading/index.js.map +1 -1
  9. package/lib/module/components/Payment/index.js +111 -93
  10. package/lib/module/components/Payment/index.js.map +1 -1
  11. package/lib/module/constants/index.js +2 -0
  12. package/lib/module/constants/index.js.map +1 -1
  13. package/lib/module/index.js +6 -4
  14. package/lib/module/index.js.map +1 -1
  15. package/lib/module/package.json +1 -0
  16. package/lib/module/styles.js +2 -0
  17. package/lib/module/styles.js.map +1 -1
  18. package/lib/module/utils/IamportUrl.js +51 -29
  19. package/lib/module/utils/IamportUrl.js.map +1 -1
  20. package/lib/module/utils/Validation.js +3 -2
  21. package/lib/module/utils/Validation.js.map +1 -1
  22. package/lib/module/utils/ValidationForPayment.js +4 -2
  23. package/lib/module/utils/ValidationForPayment.js.map +1 -1
  24. package/lib/typescript/package.json +1 -0
  25. package/lib/typescript/{components → src/components}/Certification/index.d.ts +1 -2
  26. package/lib/typescript/src/components/Certification/index.d.ts.map +1 -0
  27. package/lib/typescript/src/components/ErrorOnParams/index.d.ts +6 -0
  28. package/lib/typescript/src/components/ErrorOnParams/index.d.ts.map +1 -0
  29. package/lib/typescript/src/components/Loading/index.d.ts +3 -0
  30. package/lib/typescript/src/components/Loading/index.d.ts.map +1 -0
  31. package/lib/typescript/{components → src/components}/Payment/index.d.ts +1 -2
  32. package/lib/typescript/src/components/Payment/index.d.ts.map +1 -0
  33. package/lib/typescript/src/constants/index.d.ts.map +1 -0
  34. package/lib/typescript/src/index.d.ts.map +1 -0
  35. package/lib/typescript/{styles.d.ts → src/styles.d.ts} +2 -2
  36. package/lib/typescript/src/styles.d.ts.map +1 -0
  37. package/lib/typescript/{utils → src/utils}/IamportUrl.d.ts +8 -7
  38. package/lib/typescript/src/utils/IamportUrl.d.ts.map +1 -0
  39. package/lib/typescript/src/utils/Validation.d.ts.map +1 -0
  40. package/lib/typescript/src/utils/ValidationForPayment.d.ts.map +1 -0
  41. package/package.json +81 -74
  42. package/src/components/Certification/index.tsx +7 -7
  43. package/src/components/ErrorOnParams/index.tsx +1 -2
  44. package/src/components/Loading/index.tsx +1 -2
  45. package/src/components/Payment/index.tsx +31 -7
  46. package/src/utils/IamportUrl.ts +54 -26
  47. package/.circleci/config.yml +0 -98
  48. package/.editorconfig +0 -15
  49. package/.gitattributes +0 -3
  50. package/.gitignore +0 -69
  51. package/.yarnrc +0 -3
  52. package/.yarnrc.yml +0 -1
  53. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  54. package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
  55. package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
  56. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  57. package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
  58. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  59. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  60. package/android/.gradle/8.9/gc.properties +0 -0
  61. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  62. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  63. package/android/.gradle/vcs-1/gc.properties +0 -0
  64. package/android/build.gradle +0 -128
  65. package/android/gradle.properties +0 -4
  66. package/android/src/main/AndroidManifest.xml +0 -4
  67. package/android/src/main/java/com/iamportreactnative/IamportReactNativePackage.kt +0 -17
  68. package/android/src/main/java/com/iamportreactnative/IamportReactNativeViewManager.kt +0 -20
  69. package/babel.config.js +0 -3
  70. package/example/.gitignore +0 -69
  71. package/example/README.md +0 -44
  72. package/example/android/.gradle/7.5.1/checksums/checksums.lock +0 -0
  73. package/example/android/.gradle/7.5.1/checksums/md5-checksums.bin +0 -0
  74. package/example/android/.gradle/7.5.1/checksums/sha1-checksums.bin +0 -0
  75. package/example/android/.gradle/7.5.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  76. package/example/android/.gradle/7.5.1/dependencies-accessors/gc.properties +0 -0
  77. package/example/android/.gradle/7.5.1/executionHistory/executionHistory.lock +0 -0
  78. package/example/android/.gradle/7.5.1/fileChanges/last-build.bin +0 -0
  79. package/example/android/.gradle/7.5.1/fileHashes/fileHashes.bin +0 -0
  80. package/example/android/.gradle/7.5.1/fileHashes/fileHashes.lock +0 -0
  81. package/example/android/.gradle/7.5.1/gc.properties +0 -0
  82. package/example/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  83. package/example/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  84. package/example/android/.gradle/vcs-1/gc.properties +0 -0
  85. package/example/android/app/build.gradle +0 -183
  86. package/example/android/app/debug.keystore +0 -0
  87. package/example/android/app/proguard-rules.pro +0 -10
  88. package/example/android/app/src/debug/AndroidManifest.xml +0 -8
  89. package/example/android/app/src/debug/java/com/example/iamportreactnative/ReactNativeFlipper.java +0 -69
  90. package/example/android/app/src/main/AndroidManifest.xml +0 -34
  91. package/example/android/app/src/main/java/com/example/iamportreactnative/MainActivity.java +0 -15
  92. package/example/android/app/src/main/java/com/example/iamportreactnative/MainApplication.java +0 -80
  93. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  94. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  95. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  96. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  97. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  98. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  99. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  100. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  101. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  102. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  103. package/example/android/app/src/main/res/values/strings.xml +0 -3
  104. package/example/android/app/src/main/res/values/styles.xml +0 -9
  105. package/example/android/build.gradle +0 -21
  106. package/example/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  107. package/example/android/gradle/wrapper/gradle-wrapper.properties +0 -6
  108. package/example/android/gradle.properties +0 -44
  109. package/example/android/gradlew +0 -183
  110. package/example/android/gradlew.bat +0 -103
  111. package/example/android/settings.gradle +0 -9
  112. package/example/app.json +0 -4
  113. package/example/babel.config.js +0 -11
  114. package/example/index.js +0 -5
  115. package/example/ios/File.swift +0 -8
  116. package/example/ios/Gemfile +0 -7
  117. package/example/ios/Gemfile.lock +0 -99
  118. package/example/ios/IamportReactNativeExample/AppDelegate.h +0 -15
  119. package/example/ios/IamportReactNativeExample/AppDelegate.mm +0 -138
  120. package/example/ios/IamportReactNativeExample/Images.xcassets/AppIcon.appiconset/Contents.json +0 -53
  121. package/example/ios/IamportReactNativeExample/Images.xcassets/Contents.json +0 -6
  122. package/example/ios/IamportReactNativeExample/Info.plist +0 -121
  123. package/example/ios/IamportReactNativeExample/LaunchScreen.storyboard +0 -58
  124. package/example/ios/IamportReactNativeExample/main.m +0 -16
  125. package/example/ios/IamportReactNativeExample-Bridging-Header.h +0 -3
  126. package/example/ios/IamportReactNativeExample.xcodeproj/project.pbxproj +0 -969
  127. package/example/ios/IamportReactNativeExample.xcodeproj/xcshareddata/xcschemes/IamportReactNativeExample.xcscheme +0 -99
  128. package/example/ios/IamportReactNativeExample.xcworkspace/contents.xcworkspacedata +0 -10
  129. package/example/ios/IamportReactNativeExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  130. package/example/ios/Podfile +0 -57
  131. package/example/ios/Podfile.lock +0 -756
  132. package/example/metro.config.js +0 -66
  133. package/example/package.json +0 -40
  134. package/example/src/App.tsx +0 -17
  135. package/example/src/Certification/index.tsx +0 -30
  136. package/example/src/CertificationResult/index.tsx +0 -79
  137. package/example/src/CertificationTest/index.tsx +0 -214
  138. package/example/src/Home/index.tsx +0 -87
  139. package/example/src/Loading/index.tsx +0 -12
  140. package/example/src/NavigationService.tsx +0 -127
  141. package/example/src/Payment/index.tsx +0 -28
  142. package/example/src/PaymentResult/index.tsx +0 -96
  143. package/example/src/PaymentTest/index.tsx +0 -383
  144. package/example/src/Picker/index.tsx +0 -60
  145. package/example/src/constants.ts +0 -274
  146. package/example/src/utils.ts +0 -83
  147. package/example/yarn.lock +0 -7358
  148. package/exampleForExpo/.buckconfig +0 -6
  149. package/exampleForExpo/.expo/README.md +0 -8
  150. package/exampleForExpo/.expo/devices.json +0 -3
  151. package/exampleForExpo/.gitattributes +0 -1
  152. package/exampleForExpo/.gitignore +0 -125
  153. package/exampleForExpo/.idea/.gitignore +0 -3
  154. package/exampleForExpo/.idea/caches/deviceStreaming.xml +0 -549
  155. package/exampleForExpo/.idea/exampleForExpo.iml +0 -9
  156. package/exampleForExpo/.idea/misc.xml +0 -6
  157. package/exampleForExpo/.idea/modules.xml +0 -8
  158. package/exampleForExpo/.idea/vcs.xml +0 -6
  159. package/exampleForExpo/.idea/workspace.xml +0 -53
  160. package/exampleForExpo/README.md +0 -58
  161. package/exampleForExpo/__tests__/App.js +0 -10
  162. package/exampleForExpo/android/.gitignore +0 -21
  163. package/exampleForExpo/android/.gradle/7.5.1/checksums/checksums.lock +0 -0
  164. package/exampleForExpo/android/.gradle/7.5.1/fileChanges/last-build.bin +0 -0
  165. package/exampleForExpo/android/.gradle/7.5.1/fileHashes/fileHashes.lock +0 -0
  166. package/exampleForExpo/android/.gradle/7.5.1/gc.properties +0 -0
  167. package/exampleForExpo/android/.gradle/vcs-1/gc.properties +0 -0
  168. package/exampleForExpo/android/app/BUCK +0 -55
  169. package/exampleForExpo/android/app/build.gradle +0 -362
  170. package/exampleForExpo/android/app/build_defs.bzl +0 -19
  171. package/exampleForExpo/android/app/debug.keystore +0 -0
  172. package/exampleForExpo/android/app/proguard-rules.pro +0 -14
  173. package/exampleForExpo/android/app/src/debug/AndroidManifest.xml +0 -7
  174. package/exampleForExpo/android/app/src/debug/java/kr/iamport/exampleForExpo/ReactNativeFlipper.java +0 -69
  175. package/exampleForExpo/android/app/src/main/AndroidManifest.xml +0 -34
  176. package/exampleForExpo/android/app/src/main/java/kr/iamport/exampleForExpo/MainActivity.java +0 -83
  177. package/exampleForExpo/android/app/src/main/java/kr/iamport/exampleForExpo/MainApplication.java +0 -106
  178. package/exampleForExpo/android/app/src/main/java/kr/iamport/exampleForExpo/newarchitecture/MainApplicationReactNativeHost.java +0 -117
  179. package/exampleForExpo/android/app/src/main/java/kr/iamport/exampleForExpo/newarchitecture/components/MainComponentsRegistry.java +0 -36
  180. package/exampleForExpo/android/app/src/main/java/kr/iamport/exampleForExpo/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java +0 -48
  181. package/exampleForExpo/android/app/src/main/jni/CMakeLists.txt +0 -7
  182. package/exampleForExpo/android/app/src/main/jni/MainApplicationModuleProvider.cpp +0 -32
  183. package/exampleForExpo/android/app/src/main/jni/MainApplicationModuleProvider.h +0 -16
  184. package/exampleForExpo/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +0 -45
  185. package/exampleForExpo/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +0 -38
  186. package/exampleForExpo/android/app/src/main/jni/MainComponentsRegistry.cpp +0 -65
  187. package/exampleForExpo/android/app/src/main/jni/MainComponentsRegistry.h +0 -32
  188. package/exampleForExpo/android/app/src/main/jni/OnLoad.cpp +0 -11
  189. package/exampleForExpo/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -36
  190. package/exampleForExpo/android/app/src/main/res/drawable/splashscreen.xml +0 -4
  191. package/exampleForExpo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  192. package/exampleForExpo/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  193. package/exampleForExpo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  194. package/exampleForExpo/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  195. package/exampleForExpo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  196. package/exampleForExpo/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  197. package/exampleForExpo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  198. package/exampleForExpo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  199. package/exampleForExpo/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  200. package/exampleForExpo/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  201. package/exampleForExpo/android/app/src/main/res/values/colors.xml +0 -4
  202. package/exampleForExpo/android/app/src/main/res/values/strings.xml +0 -3
  203. package/exampleForExpo/android/app/src/main/res/values/styles.xml +0 -17
  204. package/exampleForExpo/android/app/src/main/res/values-night/colors.xml +0 -1
  205. package/exampleForExpo/android/build.gradle +0 -65
  206. package/exampleForExpo/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  207. package/exampleForExpo/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  208. package/exampleForExpo/android/gradle.properties +0 -53
  209. package/exampleForExpo/android/gradlew +0 -240
  210. package/exampleForExpo/android/gradlew.bat +0 -91
  211. package/exampleForExpo/android/settings.gradle +0 -17
  212. package/exampleForExpo/app.json +0 -16
  213. package/exampleForExpo/babel.config.js +0 -11
  214. package/exampleForExpo/index.js +0 -9
  215. package/exampleForExpo/ios/.gitignore +0 -30
  216. package/exampleForExpo/ios/.xcode.env +0 -11
  217. package/exampleForExpo/ios/Podfile +0 -61
  218. package/exampleForExpo/ios/Podfile.lock +0 -734
  219. package/exampleForExpo/ios/Podfile.properties.json +0 -3
  220. package/exampleForExpo/ios/exampleForExpo/AppDelegate.h +0 -9
  221. package/exampleForExpo/ios/exampleForExpo/AppDelegate.mm +0 -166
  222. package/exampleForExpo/ios/exampleForExpo/Images.xcassets/AppIcon.appiconset/Contents.json +0 -38
  223. package/exampleForExpo/ios/exampleForExpo/Images.xcassets/Contents.json +0 -6
  224. package/exampleForExpo/ios/exampleForExpo/Images.xcassets/SplashScreenBackground.imageset/Contents.json +0 -21
  225. package/exampleForExpo/ios/exampleForExpo/Images.xcassets/SplashScreenBackground.imageset/image.png +0 -0
  226. package/exampleForExpo/ios/exampleForExpo/Info.plist +0 -118
  227. package/exampleForExpo/ios/exampleForExpo/SplashScreen.storyboard +0 -43
  228. package/exampleForExpo/ios/exampleForExpo/Supporting/Expo.plist +0 -16
  229. package/exampleForExpo/ios/exampleForExpo/exampleForExpo.entitlements +0 -8
  230. package/exampleForExpo/ios/exampleForExpo/main.m +0 -10
  231. package/exampleForExpo/ios/exampleForExpo/noop-file.swift +0 -4
  232. package/exampleForExpo/ios/exampleForExpo.xcodeproj/project.pbxproj +0 -544
  233. package/exampleForExpo/ios/exampleForExpo.xcodeproj/xcshareddata/xcschemes/exampleForExpo.xcscheme +0 -88
  234. package/exampleForExpo/ios/exampleForExpo.xcworkspace/contents.xcworkspacedata +0 -10
  235. package/exampleForExpo/ios/exampleForExpo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  236. package/exampleForExpo/metro.config.js +0 -62
  237. package/exampleForExpo/package.json +0 -40
  238. package/exampleForExpo/src/App.js +0 -14
  239. package/exampleForExpo/src/Certification/index.js +0 -25
  240. package/exampleForExpo/src/CertificationResult/index.js +0 -61
  241. package/exampleForExpo/src/CertificationTest/index.js +0 -151
  242. package/exampleForExpo/src/Home/index.js +0 -80
  243. package/exampleForExpo/src/Loading/index.js +0 -10
  244. package/exampleForExpo/src/NavigationService.js +0 -102
  245. package/exampleForExpo/src/Payment/index.js +0 -23
  246. package/exampleForExpo/src/PaymentResult/index.js +0 -82
  247. package/exampleForExpo/src/PaymentTest/index.js +0 -313
  248. package/exampleForExpo/src/Picker/index.js +0 -19
  249. package/exampleForExpo/src/constants.js +0 -322
  250. package/exampleForExpo/src/utils.js +0 -116
  251. package/exampleForExpo/yarn.lock +0 -9498
  252. package/exampleForManagedExpo/.expo-shared/assets.json +0 -4
  253. package/exampleForManagedExpo/.gitignore +0 -22
  254. package/exampleForManagedExpo/App.js +0 -11
  255. package/exampleForManagedExpo/README.md +0 -33
  256. package/exampleForManagedExpo/app.json +0 -90
  257. package/exampleForManagedExpo/assets/adaptive-icon.png +0 -0
  258. package/exampleForManagedExpo/assets/favicon.png +0 -0
  259. package/exampleForManagedExpo/assets/icon.png +0 -0
  260. package/exampleForManagedExpo/assets/splash.png +0 -0
  261. package/exampleForManagedExpo/babel.config.js +0 -11
  262. package/exampleForManagedExpo/metro.config.js +0 -62
  263. package/exampleForManagedExpo/package.json +0 -36
  264. package/exampleForManagedExpo/src/Certification/index.js +0 -25
  265. package/exampleForManagedExpo/src/CertificationResult/index.js +0 -61
  266. package/exampleForManagedExpo/src/CertificationTest/index.js +0 -151
  267. package/exampleForManagedExpo/src/Home/index.js +0 -80
  268. package/exampleForManagedExpo/src/Loading/index.js +0 -10
  269. package/exampleForManagedExpo/src/NavigationService.js +0 -102
  270. package/exampleForManagedExpo/src/Payment/index.js +0 -23
  271. package/exampleForManagedExpo/src/PaymentResult/index.js +0 -82
  272. package/exampleForManagedExpo/src/PaymentTest/index.js +0 -313
  273. package/exampleForManagedExpo/src/Picker/index.js +0 -19
  274. package/exampleForManagedExpo/src/constants.js +0 -322
  275. package/exampleForManagedExpo/src/utils.js +0 -116
  276. package/exampleForManagedExpo/yarn.lock +0 -9411
  277. package/exampleForWebView/.buckconfig +0 -6
  278. package/exampleForWebView/.eslintrc.js +0 -4
  279. package/exampleForWebView/.gitattributes +0 -3
  280. package/exampleForWebView/.gitignore +0 -68
  281. package/exampleForWebView/.prettierrc.js +0 -7
  282. package/exampleForWebView/.watchmanconfig +0 -1
  283. package/exampleForWebView/README.md +0 -77
  284. package/exampleForWebView/__tests__/App-test.tsx +0 -14
  285. package/exampleForWebView/_editorconfig +0 -3
  286. package/exampleForWebView/android/.gradle/7.5.1/checksums/checksums.lock +0 -0
  287. package/exampleForWebView/android/.gradle/7.5.1/fileChanges/last-build.bin +0 -0
  288. package/exampleForWebView/android/.gradle/7.5.1/fileHashes/fileHashes.lock +0 -0
  289. package/exampleForWebView/android/.gradle/7.5.1/gc.properties +0 -0
  290. package/exampleForWebView/android/.gradle/vcs-1/gc.properties +0 -0
  291. package/exampleForWebView/android/app/BUCK +0 -55
  292. package/exampleForWebView/android/app/build.gradle +0 -313
  293. package/exampleForWebView/android/app/build_defs.bzl +0 -19
  294. package/exampleForWebView/android/app/debug.keystore +0 -0
  295. package/exampleForWebView/android/app/proguard-rules.pro +0 -10
  296. package/exampleForWebView/android/app/src/debug/AndroidManifest.xml +0 -13
  297. package/exampleForWebView/android/app/src/debug/java/com/exampleforwebview/ReactNativeFlipper.java +0 -73
  298. package/exampleForWebView/android/app/src/main/AndroidManifest.xml +0 -26
  299. package/exampleForWebView/android/app/src/main/java/com/exampleforwebview/MainActivity.java +0 -48
  300. package/exampleForWebView/android/app/src/main/java/com/exampleforwebview/MainApplication.java +0 -91
  301. package/exampleForWebView/android/app/src/main/java/com/exampleforwebview/newarchitecture/MainApplicationReactNativeHost.java +0 -116
  302. package/exampleForWebView/android/app/src/main/java/com/exampleforwebview/newarchitecture/components/MainComponentsRegistry.java +0 -36
  303. package/exampleForWebView/android/app/src/main/java/com/exampleforwebview/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java +0 -48
  304. package/exampleForWebView/android/app/src/main/jni/CMakeLists.txt +0 -7
  305. package/exampleForWebView/android/app/src/main/jni/MainApplicationModuleProvider.cpp +0 -32
  306. package/exampleForWebView/android/app/src/main/jni/MainApplicationModuleProvider.h +0 -16
  307. package/exampleForWebView/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +0 -45
  308. package/exampleForWebView/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +0 -38
  309. package/exampleForWebView/android/app/src/main/jni/MainComponentsRegistry.cpp +0 -65
  310. package/exampleForWebView/android/app/src/main/jni/MainComponentsRegistry.h +0 -32
  311. package/exampleForWebView/android/app/src/main/jni/OnLoad.cpp +0 -11
  312. package/exampleForWebView/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -36
  313. package/exampleForWebView/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  314. package/exampleForWebView/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  315. package/exampleForWebView/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  316. package/exampleForWebView/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  317. package/exampleForWebView/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  318. package/exampleForWebView/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  319. package/exampleForWebView/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  320. package/exampleForWebView/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  321. package/exampleForWebView/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  322. package/exampleForWebView/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  323. package/exampleForWebView/android/app/src/main/res/values/strings.xml +0 -3
  324. package/exampleForWebView/android/app/src/main/res/values/styles.xml +0 -9
  325. package/exampleForWebView/android/build.gradle +0 -51
  326. package/exampleForWebView/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  327. package/exampleForWebView/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  328. package/exampleForWebView/android/gradle.properties +0 -40
  329. package/exampleForWebView/android/gradlew +0 -234
  330. package/exampleForWebView/android/gradlew.bat +0 -89
  331. package/exampleForWebView/android/settings.gradle +0 -11
  332. package/exampleForWebView/app.json +0 -4
  333. package/exampleForWebView/babel.config.js +0 -11
  334. package/exampleForWebView/index.js +0 -9
  335. package/exampleForWebView/ios/.xcode.env +0 -11
  336. package/exampleForWebView/ios/Podfile +0 -43
  337. package/exampleForWebView/ios/Podfile.lock +0 -748
  338. package/exampleForWebView/ios/exampleForWebView/AppDelegate.h +0 -8
  339. package/exampleForWebView/ios/exampleForWebView/AppDelegate.mm +0 -133
  340. package/exampleForWebView/ios/exampleForWebView/Images.xcassets/AppIcon.appiconset/Contents.json +0 -53
  341. package/exampleForWebView/ios/exampleForWebView/Images.xcassets/Contents.json +0 -6
  342. package/exampleForWebView/ios/exampleForWebView/Info.plist +0 -96
  343. package/exampleForWebView/ios/exampleForWebView/LaunchScreen.storyboard +0 -47
  344. package/exampleForWebView/ios/exampleForWebView/main.m +0 -10
  345. package/exampleForWebView/ios/exampleForWebView.xcodeproj/project.pbxproj +0 -723
  346. package/exampleForWebView/ios/exampleForWebView.xcodeproj/xcshareddata/xcschemes/exampleForWebView.xcscheme +0 -88
  347. package/exampleForWebView/ios/exampleForWebView.xcworkspace/contents.xcworkspacedata +0 -10
  348. package/exampleForWebView/ios/exampleForWebView.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  349. package/exampleForWebView/ios/exampleForWebViewTests/Info.plist +0 -24
  350. package/exampleForWebView/ios/exampleForWebViewTests/exampleForWebViewTests.m +0 -66
  351. package/exampleForWebView/manuals/CERTIFICATION.md +0 -223
  352. package/exampleForWebView/manuals/PAYMENT.md +0 -232
  353. package/exampleForWebView/metro.config.js +0 -61
  354. package/exampleForWebView/package.json +0 -54
  355. package/exampleForWebView/src/App.tsx +0 -50
  356. package/exampleForWebView/src/Certification.tsx +0 -54
  357. package/exampleForWebView/src/Home.tsx +0 -49
  358. package/exampleForWebView/src/Loading.tsx +0 -23
  359. package/exampleForWebView/src/Payment.tsx +0 -65
  360. package/exampleForWebView/yarn.lock +0 -7362
  361. package/iamport-react-native.podspec +0 -19
  362. package/ios/IamportReactNative-Bridging-Header.h +0 -1
  363. package/ios/IamportReactNative.xcodeproj/project.pbxproj +0 -293
  364. package/ios/IamportReactNativeViewManager.m +0 -12
  365. package/ios/IamportReactNativeViewManager.swift +0 -32
  366. package/lib/commonjs/components/Certification/index.js +0 -121
  367. package/lib/commonjs/components/Certification/index.js.map +0 -1
  368. package/lib/commonjs/components/ErrorOnParams/index.js +0 -50
  369. package/lib/commonjs/components/ErrorOnParams/index.js.map +0 -1
  370. package/lib/commonjs/components/Loading/index.js +0 -34
  371. package/lib/commonjs/components/Loading/index.js.map +0 -1
  372. package/lib/commonjs/components/Payment/index.js +0 -225
  373. package/lib/commonjs/components/Payment/index.js.map +0 -1
  374. package/lib/commonjs/constants/index.js +0 -114
  375. package/lib/commonjs/constants/index.js.map +0 -1
  376. package/lib/commonjs/img/iamport-logo.png +0 -0
  377. package/lib/commonjs/index.js +0 -29
  378. package/lib/commonjs/index.js.map +0 -1
  379. package/lib/commonjs/styles.js +0 -27
  380. package/lib/commonjs/styles.js.map +0 -1
  381. package/lib/commonjs/utils/IamportUrl.js +0 -289
  382. package/lib/commonjs/utils/IamportUrl.js.map +0 -1
  383. package/lib/commonjs/utils/Validation.js +0 -109
  384. package/lib/commonjs/utils/Validation.js.map +0 -1
  385. package/lib/commonjs/utils/ValidationForPayment.js +0 -112
  386. package/lib/commonjs/utils/ValidationForPayment.js.map +0 -1
  387. package/lib/typescript/components/Certification/index.d.ts.map +0 -1
  388. package/lib/typescript/components/ErrorOnParams/index.d.ts +0 -7
  389. package/lib/typescript/components/ErrorOnParams/index.d.ts.map +0 -1
  390. package/lib/typescript/components/Loading/index.d.ts +0 -4
  391. package/lib/typescript/components/Loading/index.d.ts.map +0 -1
  392. package/lib/typescript/components/Payment/index.d.ts.map +0 -1
  393. package/lib/typescript/constants/index.d.ts.map +0 -1
  394. package/lib/typescript/index.d.ts.map +0 -1
  395. package/lib/typescript/styles.d.ts.map +0 -1
  396. package/lib/typescript/utils/IamportUrl.d.ts.map +0 -1
  397. package/lib/typescript/utils/Validation.d.ts.map +0 -1
  398. package/lib/typescript/utils/ValidationForPayment.d.ts.map +0 -1
  399. package/manuals/CALLBACK.md +0 -72
  400. package/manuals/EXAMPLE.md +0 -168
  401. package/manuals/EXPO.md +0 -246
  402. package/manuals/INSTALL.md +0 -31
  403. package/manuals/SETTING.md +0 -140
  404. package/manuals/SUPPORT.md +0 -35
  405. package/manuals/TRANS.md +0 -77
  406. package/manuals/VERSION.md +0 -187
  407. package/manuals/assets/after-linking-iamport.png +0 -0
  408. package/manuals/assets/after-linking-webview.png +0 -0
  409. package/manuals/assets/allow-arbitrary.gif +0 -0
  410. package/manuals/assets/android-studio-avd-manager.png +0 -0
  411. package/manuals/assets/android-studio-build.png +0 -0
  412. package/manuals/assets/app-scheme-registry.gif +0 -0
  413. package/manuals/assets/expo-eject.png +0 -0
  414. package/manuals/assets/ios-emulator-certification.png +0 -0
  415. package/manuals/assets/ios-emulator-home.png +0 -0
  416. package/manuals/assets/ios-emulator-payment.png +0 -0
  417. package/manuals/assets/ios-trans-create-header-file-1.png +0 -0
  418. package/manuals/assets/ios-trans-create-header-file-2.png +0 -0
  419. package/manuals/assets/ios-trans-create-objectivec-file-1.png +0 -0
  420. package/manuals/assets/ios-trans-create-objectivec-file-2.png +0 -0
  421. package/manuals/assets/ios-trans-result.png +0 -0
  422. package/manuals/assets/webview-peer-dependency.png +0 -0
  423. package/scripts/bootstrap.js +0 -24
  424. package/tsconfig.build.json +0 -9
  425. package/tsconfig.json +0 -26
  426. package/yarn.lock +0 -6174
  427. /package/lib/typescript/{constants → src/constants}/index.d.ts +0 -0
  428. /package/lib/typescript/{index.d.ts → src/index.d.ts} +0 -0
  429. /package/lib/typescript/{utils → src/utils}/Validation.d.ts +0 -0
  430. /package/lib/typescript/{utils → src/utils}/ValidationForPayment.d.ts +0 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,13 @@
1
+ # iamport-react-native
2
+
3
+ ## 3.0.1-alpha.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 003cf51: react-native-webview 오류 화면 회피
8
+
9
+ ## 3.0.0
10
+
11
+ ### Major Changes
12
+
13
+ - 7cb1737: Fabric 지원, 구 아키첵쳐 지원 드랍
package/README.md CHANGED
@@ -1,42 +1,52 @@
1
1
  # iamport-react-native
2
+
2
3
  [![alt text](https://img.shields.io/npm/v/iamport-react-native)](https://www.npmjs.com/package/iamport-react-native)
3
4
 
4
5
  아임포트 리액트 네이티브 모듈입니다.
5
6
 
6
7
  ## 버전 정보
7
- 최신버전은 [v2.0.14](https://github.com/iamport/iamport-react-native/tree/main)입니다.
8
- 버전 히스토리는 [버전 정보](./manuals/VERSION.md)를 참고하세요.
8
+
9
+ 버전 히스토리는 [버전 정보](./CHANGELOG.md)를 참고하세요.
9
10
 
10
11
  ## 지원 정보
12
+
11
13
  아임포트 리액트 네이티브 모듈은 결제 및 휴대폰 본인인증 기능을 제공합니다.
12
14
  결제시 지원하는 PG사와 결제수단에 따른 자세한 정보는 [지원 정보](./manuals/SUPPORT.md)를 참고하세요.
13
15
 
14
16
  ## 설치하기
17
+
15
18
  아래 명령어를 통해 아임포트 모듈을 귀하의 리액트 네이티브 프로젝트에 추가할 수 있습니다.
16
19
  `react-native-webview` 모듈은 아임포트 모듈에 dependent하기 때문에 반드시 함께 설치해야 하며 **10.8.3 이상의 버전이 요구**됩니다.
17
20
  보다 자세한 안내는 [설치하기](./manuals/INSTALL.md)를 참고하세요.
18
21
 
19
22
  ## 설정하기
23
+
20
24
  ### 안드로이드 및 iOS 설정하기
25
+
21
26
  아임포트 모듈을 사용하기 위해서는 추가적인 설정이 필요합니다.
22
27
  보다 자세한 설명은 [안드로이드 및 iOS 설정하기](./manuals/SETTING.md)를 참고하세요.
23
28
 
24
29
  ### Expo 설정하기
30
+
25
31
  Expo 프로젝트에서 아임포트 모듈을 사용하기 위해서는 추가적인 설정이 필요합니다.
26
32
  보다 자세한 설명은 [Expo에서 아임포트 연동하기](./manuals/EXPO.md)를 참고하세요.
27
33
 
28
34
  ### 실시간 계좌이체 설정하기
35
+
29
36
  웹 표준 이니시스와 나이스 정보통신은 뱅크페이 앱을 통해 실시간 계좌이체를 진행합니다.
30
37
  뱅크페이에서 결제 인증 후 본래의 앱으로 복귀 해 다음단계로 진행을 하려면 별도 설정이 요구됩니다.
31
38
  자세한 내용은 [실시간 계좌이체 설정하기](./manuals/TRANS.md)를 참고하세요.
32
39
 
33
40
  ## 예제
41
+
34
42
  아임포트 결제연동 모듈을 사용해 아래와 같이 일반/정기결제 및 휴대폰 본인인증 기능을 구현할 수 있습니다.
35
43
  현재 구현된 예제들에 대한 설명 및 라이브러리 사용에 필요한 파라미터는 [예제](./manuals/EXAMPLE.md)를 참고하세요.
36
44
 
37
45
  ## 콜백 함수 설정하기
46
+
38
47
  콜백 함수는 필수입력 필드로, 결제/본인인증 완료 후 routing을 통한 이동을 위해 아래와 같이 로직을 작성할 수 있습니다.
39
48
  콜백 함수에 대한 자세한 설명은 [콜백 설정하기](./manuals/CALLBACK.md)를 참고하세요.
49
+
40
50
  ```js
41
51
  function callback(response) {
42
52
  navigation.replace('Result', response);
@@ -1,12 +1,15 @@
1
- import React, { createRef, useState } from 'react';
1
+ "use strict";
2
+
3
+ import { createRef, useState } from 'react';
2
4
  import { View } from 'react-native';
3
5
  import { WebView } from 'react-native-webview';
4
- import Loading from '../Loading';
5
- import ErrorOnParams from '../ErrorOnParams';
6
- import { Validation } from '../../utils/Validation';
7
- import { IMPConst } from '../../constants';
8
- import viewStyles from '../../styles';
9
- import IamportUrl from '../../utils/IamportUrl';
6
+ import ErrorOnParams from "../ErrorOnParams/index.js";
7
+ import Loading from "../Loading/index.js";
8
+ import { IMPConst } from "../../constants/index.js";
9
+ import { Validation } from "../../utils/Validation.js";
10
+ import viewStyles from "../../styles.js";
11
+ import IamportUrl from "../../utils/IamportUrl.js";
12
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
10
13
  function Certification({
11
14
  userCode,
12
15
  tierCode,
@@ -28,84 +31,84 @@ function Certification({
28
31
  loadingContainer,
29
32
  webViewContainer
30
33
  } = viewStyles;
31
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(WebView, {
32
- containerStyle: webViewContainer,
33
- ref: webview,
34
- source: {
35
- html: IMPConst.WEBVIEW_SOURCE_HTML
36
- },
37
- mixedContentMode: 'always',
38
- onLoadEnd: () => {
39
- if (!isWebViewLoaded) {
40
- var _webview$current3;
41
- // html이 load되고 최초 한번만 inject javascript
42
- if (tierCode) {
43
- var _webview$current;
44
- (_webview$current = webview.current) === null || _webview$current === void 0 || _webview$current.injectJavaScript(`
34
+ return /*#__PURE__*/_jsx(_Fragment, {
35
+ children: /*#__PURE__*/_jsx(WebView, {
36
+ containerStyle: webViewContainer,
37
+ ref: webview,
38
+ source: {
39
+ html: IMPConst.WEBVIEW_SOURCE_HTML
40
+ },
41
+ mixedContentMode: 'always',
42
+ onLoadEnd: () => {
43
+ if (!isWebViewLoaded) {
44
+ // html이 load되고 최초 한번만 inject javascript
45
+ if (tierCode) {
46
+ webview.current?.injectJavaScript(`
45
47
  setTimeout(function() { IMP.agency("${userCode}", "${tierCode}"); });
46
48
  `);
47
- } else {
48
- var _webview$current2;
49
- (_webview$current2 = webview.current) === null || _webview$current2 === void 0 || _webview$current2.injectJavaScript(`
49
+ } else {
50
+ webview.current?.injectJavaScript(`
50
51
  setTimeout(function() { IMP.init("${userCode}"); });
51
52
  `);
52
- }
53
- (_webview$current3 = webview.current) === null || _webview$current3 === void 0 || _webview$current3.injectJavaScript(`
53
+ }
54
+ webview.current?.injectJavaScript(`
54
55
  setTimeout(function() {
55
56
  IMP.certification(${JSON.stringify(data)}, function(response) {
56
57
  window.ReactNativeWebView.postMessage(JSON.stringify(response));
57
58
  });
58
59
  });
59
60
  `);
60
- setIsWebViewLoaded(true);
61
- }
62
- },
63
- onMessage: e => {
64
- let data = e.nativeEvent.data;
65
- if (decodeURIComponent(data) !== data) {
66
- data = decodeURIComponent(data);
67
- }
68
- let response = JSON.parse(data);
69
- if (typeof callback === 'function') {
70
- callback(response);
71
- }
72
- },
73
- startInLoadingState: true,
74
- renderLoading: () => /*#__PURE__*/React.createElement(View, {
75
- style: loadingContainer
76
- }, loading || /*#__PURE__*/React.createElement(Loading, null)),
77
- originWhitelist: ['*'] // https://github.com/facebook/react-native/issues/19986
78
- ,
79
- onShouldStartLoadWithRequest: request => {
80
- const {
81
- url
82
- } = request;
83
- // console.log('url: ' + url);
84
- const iamportUrl = new IamportUrl(url);
85
- if (iamportUrl.isAppUrl()) {
86
- /* 3rd-party 앱 오픈 */
87
- iamportUrl.launchApp().catch(e => {
88
- const {
89
- code,
90
- message
91
- } = e;
92
- callback({
93
- imp_success: false,
94
- error_code: code,
95
- error_msg: message
61
+ setIsWebViewLoaded(true);
62
+ }
63
+ },
64
+ onMessage: e => {
65
+ let messageData = e.nativeEvent.data;
66
+ if (decodeURIComponent(messageData) !== messageData) {
67
+ messageData = decodeURIComponent(messageData);
68
+ }
69
+ let response = JSON.parse(messageData);
70
+ if (typeof callback === 'function') {
71
+ callback(response);
72
+ }
73
+ },
74
+ startInLoadingState: true,
75
+ renderLoading: () => /*#__PURE__*/_jsx(View, {
76
+ style: loadingContainer,
77
+ children: loading || /*#__PURE__*/_jsx(Loading, {})
78
+ }),
79
+ originWhitelist: ['*'] // https://github.com/facebook/react-native/issues/19986
80
+ ,
81
+ onShouldStartLoadWithRequest: request => {
82
+ const {
83
+ url
84
+ } = request;
85
+ // console.log('url: ' + url);
86
+ const iamportUrl = new IamportUrl(url);
87
+ if (iamportUrl.isAppUrl()) {
88
+ /* 3rd-party 앱 오픈 */
89
+ iamportUrl.launchApp().catch(e => {
90
+ const {
91
+ code,
92
+ message
93
+ } = e;
94
+ callback({
95
+ imp_success: false,
96
+ error_code: code,
97
+ error_msg: message
98
+ });
96
99
  });
97
- });
98
- return false;
99
- }
100
- if (iamportUrl.isPaymentOver(redirectUrl)) {
101
- callback(iamportUrl.getQuery());
102
- return false;
100
+ return false;
101
+ }
102
+ if (iamportUrl.isPaymentOver(redirectUrl)) {
103
+ callback(iamportUrl.getQuery());
104
+ return false;
105
+ }
106
+ return true;
103
107
  }
104
- return true;
105
- }
106
- }));
108
+ })
109
+ });
107
110
  }
108
- return /*#__PURE__*/React.createElement(ErrorOnParams, {
111
+ return /*#__PURE__*/_jsx(ErrorOnParams, {
109
112
  message: validation.getMessage()
110
113
  });
111
114
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","createRef","useState","View","WebView","Loading","ErrorOnParams","Validation","IMPConst","viewStyles","IamportUrl","Certification","userCode","tierCode","data","loading","callback","isWebViewLoaded","setIsWebViewLoaded","webview","validation","redirectUrl","M_REDIRECT_URL","m_redirect_url","undefined","trim","getIsValid","loadingContainer","webViewContainer","createElement","Fragment","containerStyle","ref","source","html","WEBVIEW_SOURCE_HTML","mixedContentMode","onLoadEnd","_webview$current3","_webview$current","current","injectJavaScript","_webview$current2","JSON","stringify","onMessage","e","nativeEvent","decodeURIComponent","response","parse","startInLoadingState","renderLoading","style","originWhitelist","onShouldStartLoadWithRequest","request","url","iamportUrl","isAppUrl","launchApp","catch","code","message","imp_success","error_code","error_msg","isPaymentOver","getQuery","getMessage"],"sourceRoot":"../../../../src","sources":["components/Certification/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createRef","useState","View","WebView","ErrorOnParams","Loading","IMPConst","Validation","viewStyles","IamportUrl","jsx","_jsx","Fragment","_Fragment","Certification","userCode","tierCode","data","loading","callback","isWebViewLoaded","setIsWebViewLoaded","webview","validation","redirectUrl","M_REDIRECT_URL","m_redirect_url","undefined","trim","getIsValid","loadingContainer","webViewContainer","children","containerStyle","ref","source","html","WEBVIEW_SOURCE_HTML","mixedContentMode","onLoadEnd","current","injectJavaScript","JSON","stringify","onMessage","e","messageData","nativeEvent","decodeURIComponent","response","parse","startInLoadingState","renderLoading","style","originWhitelist","onShouldStartLoadWithRequest","request","url","iamportUrl","isAppUrl","launchApp","catch","code","message","imp_success","error_code","error_msg","isPaymentOver","getQuery","getMessage"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Certification/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,16 +1,20 @@
1
- import React from 'react';
2
- import { View, Image, Text, StyleSheet } from 'react-native';
1
+ "use strict";
2
+
3
+ import { Image, StyleSheet, Text, View } from 'react-native';
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
5
  const logo = require('../../img/iamport-logo.png');
4
6
  function ErrorOnParams({
5
7
  message
6
8
  }) {
7
- return /*#__PURE__*/React.createElement(View, {
8
- style: styles.container
9
- }, /*#__PURE__*/React.createElement(Image, {
10
- source: logo
11
- }), /*#__PURE__*/React.createElement(Text, {
12
- style: styles.text
13
- }, message));
9
+ return /*#__PURE__*/_jsxs(View, {
10
+ style: styles.container,
11
+ children: [/*#__PURE__*/_jsx(Image, {
12
+ source: logo
13
+ }), /*#__PURE__*/_jsx(Text, {
14
+ style: styles.text,
15
+ children: message
16
+ })]
17
+ });
14
18
  }
15
19
  const styles = StyleSheet.create({
16
20
  container: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Image","Text","StyleSheet","logo","require","ErrorOnParams","message","createElement","style","styles","container","source","text","create","flex","alignItems","justifyContent","textAlign","fontSize","marginTop","lineHeight","button","backgroundColor","color","borderColor","borderWidth","borderRadius","paddingTop","paddingBottom","paddingLeft","paddingRight","fontWeight"],"sourceRoot":"../../../../src","sources":["components/ErrorOnParams/index.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAE5D,MAAMC,IAAI,GAAGC,OAAO,CAAC,4BAA4B,CAAC;AAIlD,SAASC,aAAaA,CAAC;EAAEC;AAAoB,CAAC,EAAE;EAC9C,oBACER,KAAA,CAAAS,aAAA,CAACR,IAAI;IAACS,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5BZ,KAAA,CAAAS,aAAA,CAACP,KAAK;IAACW,MAAM,EAAER;EAAK,CAAE,CAAC,eACvBL,KAAA,CAAAS,aAAA,CAACN,IAAI;IAACO,KAAK,EAAEC,MAAM,CAACG;EAAK,GAAEN,OAAc,CACrC,CAAC;AAEX;AAEA,MAAMG,MAAM,GAAGP,UAAU,CAACW,MAAM,CAAC;EAC/BH,SAAS,EAAE;IACTI,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDJ,IAAI,EAAE;IACJK,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;AAEF,eAAe1B,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["Image","StyleSheet","Text","View","jsx","_jsx","jsxs","_jsxs","logo","require","ErrorOnParams","message","style","styles","container","children","source","text","create","flex","alignItems","justifyContent","textAlign","fontSize","marginTop","lineHeight","button","backgroundColor","color","borderColor","borderWidth","borderRadius","paddingTop","paddingBottom","paddingLeft","paddingRight","fontWeight"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/ErrorOnParams/index.tsx"],"mappings":";;AAAA,SAASA,KAAK,EAAEC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE7D,MAAMC,IAAI,GAAGC,OAAO,CAAC,4BAA4B,CAAC;AAIlD,SAASC,aAAaA,CAAC;EAAEC;AAAoB,CAAC,EAAE;EAC9C,oBACEJ,KAAA,CAACJ,IAAI;IAACS,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5BV,IAAA,CAACL,KAAK;MAACgB,MAAM,EAAER;IAAK,CAAE,CAAC,eACvBH,IAAA,CAACH,IAAI;MAACU,KAAK,EAAEC,MAAM,CAACI,IAAK;MAAAF,QAAA,EAAEJ;IAAO,CAAO,CAAC;EAAA,CACtC,CAAC;AAEX;AAEA,MAAME,MAAM,GAAGZ,UAAU,CAACiB,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDJ,IAAI,EAAE;IACJK,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;AAEF,eAAe1B,aAAa","ignoreList":[]}
@@ -1,14 +1,18 @@
1
- import React from 'react';
2
- import { View, Image, Text, StyleSheet } from 'react-native';
1
+ "use strict";
2
+
3
+ import { Image, StyleSheet, Text, View } from 'react-native';
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
5
  const logo = require('../../img/iamport-logo.png');
4
6
  function Loading() {
5
- return /*#__PURE__*/React.createElement(View, {
6
- style: styles.container
7
- }, /*#__PURE__*/React.createElement(Image, {
8
- source: logo
9
- }), /*#__PURE__*/React.createElement(Text, {
10
- style: styles.text
11
- }, "\uC7A0\uC2DC\uB9CC \uAE30\uB2E4\uB824\uC8FC\uC138\uC694..."));
7
+ return /*#__PURE__*/_jsxs(View, {
8
+ style: styles.container,
9
+ children: [/*#__PURE__*/_jsx(Image, {
10
+ source: logo
11
+ }), /*#__PURE__*/_jsx(Text, {
12
+ style: styles.text,
13
+ children: "\uC7A0\uC2DC\uB9CC \uAE30\uB2E4\uB824\uC8FC\uC138\uC694..."
14
+ })]
15
+ });
12
16
  }
13
17
  const styles = StyleSheet.create({
14
18
  container: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Image","Text","StyleSheet","logo","require","Loading","createElement","style","styles","container","source","text","create","flex","alignItems","flexDirection","justifyContent","fontSize","marginTop","lineHeight"],"sourceRoot":"../../../../src","sources":["components/Loading/index.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAE5D,MAAMC,IAAI,GAAGC,OAAO,CAAC,4BAA4B,CAAC;AAElD,SAASC,OAAOA,CAAA,EAAG;EACjB,oBACEP,KAAA,CAAAQ,aAAA,CAACP,IAAI;IAACQ,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5BX,KAAA,CAAAQ,aAAA,CAACN,KAAK;IAACU,MAAM,EAAEP;EAAK,CAAE,CAAC,eACvBL,KAAA,CAAAQ,aAAA,CAACL,IAAI;IAACM,KAAK,EAAEC,MAAM,CAACG;EAAK,GAAC,4DAAmB,CACzC,CAAC;AAEX;AAEA,MAAMH,MAAM,GAAGN,UAAU,CAACU,MAAM,CAAC;EAC/BH,SAAS,EAAE;IACTI,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,QAAQ;IACvBC,cAAc,EAAE;EAClB,CAAC;EACDL,IAAI,EAAE;IACJM,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE,EAAE;IACbC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,eAAed,OAAO","ignoreList":[]}
1
+ {"version":3,"names":["Image","StyleSheet","Text","View","jsx","_jsx","jsxs","_jsxs","logo","require","Loading","style","styles","container","children","source","text","create","flex","alignItems","flexDirection","justifyContent","fontSize","marginTop","lineHeight"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Loading/index.tsx"],"mappings":";;AAAA,SAASA,KAAK,EAAEC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE7D,MAAMC,IAAI,GAAGC,OAAO,CAAC,4BAA4B,CAAC;AAElD,SAASC,OAAOA,CAAA,EAAG;EACjB,oBACEH,KAAA,CAACJ,IAAI;IAACQ,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5BT,IAAA,CAACL,KAAK;MAACe,MAAM,EAAEP;IAAK,CAAE,CAAC,eACvBH,IAAA,CAACH,IAAI;MAACS,KAAK,EAAEC,MAAM,CAACI,IAAK;MAAAF,QAAA,EAAC;IAAa,CAAM,CAAC;EAAA,CAC1C,CAAC;AAEX;AAEA,MAAMF,MAAM,GAAGX,UAAU,CAACgB,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,QAAQ;IACvBC,cAAc,EAAE;EAClB,CAAC;EACDL,IAAI,EAAE;IACJM,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE,EAAE;IACbC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,eAAed,OAAO","ignoreList":[]}
@@ -1,12 +1,15 @@
1
- import React, { createRef, useEffect, useRef, useState } from 'react';
2
- import ValidationForPayment from '../../utils/ValidationForPayment';
3
- import ErrorOnParams from '../ErrorOnParams';
4
- import { Linking, Platform, View } from 'react-native';
5
- import { IMPConst } from '../../constants';
6
- import IamportUrl from '../../utils/IamportUrl';
1
+ "use strict";
2
+
3
+ import { createRef, useEffect, useRef, useState } from 'react';
4
+ import { Alert, Linking, Platform, View } from 'react-native';
7
5
  import WebView from 'react-native-webview';
8
- import viewStyles from '../../styles';
9
- import Loading from '../Loading';
6
+ import { IMPConst } from "../../constants/index.js";
7
+ import viewStyles from "../../styles.js";
8
+ import IamportUrl from "../../utils/IamportUrl.js";
9
+ import ValidationForPayment from "../../utils/ValidationForPayment.js";
10
+ import ErrorOnParams from "../ErrorOnParams/index.js";
11
+ import Loading from "../Loading/index.js";
12
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
10
13
  function Payment({
11
14
  userCode,
12
15
  tierCode,
@@ -55,16 +58,15 @@ function Payment({
55
58
 
56
59
  /* 나이스 - 실시간 계좌이체 대비 */
57
60
  if (pg.startsWith('nice')) {
58
- var _data$app_scheme, _webview$current;
59
61
  const queryParameters = iamportUrl.getQuery();
60
62
  const scheme = iamportUrl.scheme;
61
63
  let niceTransRedirectionUrl;
62
- if (scheme === ((_data$app_scheme = data.app_scheme) === null || _data$app_scheme === void 0 ? void 0 : _data$app_scheme.toLowerCase())) {
64
+ if (scheme === data.app_scheme?.toLowerCase()) {
63
65
  if (queryParameters.callbackparam1 != null) {
64
66
  niceTransRedirectionUrl = queryParameters.callbackparam1;
65
67
  }
66
68
  }
67
- (_webview$current = webview.current) === null || _webview$current === void 0 || _webview$current.injectJavaScript(`
69
+ webview.current?.injectJavaScript(`
68
70
  window.location.href = "${niceTransRedirectionUrl}?${iamportUrl.getStringifiedQuery()}";
69
71
  `);
70
72
  }
@@ -109,107 +111,123 @@ function Payment({
109
111
  loadingContainer,
110
112
  webViewContainer
111
113
  } = viewStyles;
112
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(WebView, {
113
- containerStyle: webViewContainer,
114
- ref: webview,
115
- source: webviewSource,
116
- mixedContentMode: 'always',
117
- onLoadEnd: () => {
118
- if (!isWebViewLoaded) {
119
- var _webview$current4;
120
- if (data.pg.startsWith('eximbay')) {
121
- data.popup = false;
114
+ return /*#__PURE__*/_jsxs(_Fragment, {
115
+ children: [/*#__PURE__*/_jsx(WebView, {
116
+ containerStyle: webViewContainer,
117
+ ref: webview,
118
+ source: webviewSource,
119
+ mixedContentMode: 'always',
120
+ onError: event => {
121
+ console.warn('Encountered an error loading page', event.nativeEvent);
122
+ // 탐색이 실패하면 react-native-webview는 바로 오류 화면을 표시하려 한다
123
+ // 한편 별도 설정 안 한 WKWebView는 오류를 무시하여 결제를 계속 진행할 수 있는 경우가 있다
124
+ // 오류 화면 표시를 막는다
125
+ event.preventDefault();
126
+ // Domain=NSURLErrorDomain Code=-1005 Description="The network connection was lost."
127
+ // 지속적으로 폴링하는 카드사(현대카드)의 경우 카드사 앱에서 돌아올 때 HTTP 요청이 강제 중단되어 -1005 오류 발생
128
+ // 별도 설정 안 한 WKWebView에서 간헐적으로 자동 리다이렉트가 안 되고 버튼을 누르라고 하는 경우 이 경우이다
129
+ // 무시한다
130
+ if (Platform.OS === 'ios' || Platform.OS === 'macos' && event.nativeEvent.code === -1005) {
131
+ return;
122
132
  }
123
- if (tierCode) {
124
- var _webview$current2;
125
- (_webview$current2 = webview.current) === null || _webview$current2 === void 0 || _webview$current2.injectJavaScript(`
133
+ // 이외의 경우에는 어떻게 처리해야 할지 확실하지 않지만 우선 알림을 보여 주도록 구현
134
+ Alert.alert(`탐색 오류가 발생했습니다\n도메인: ${event.nativeEvent.domain}\n오류 코드: ${event.nativeEvent.code}\n설명: ${event.nativeEvent.description}`);
135
+ },
136
+ onLoadEnd: () => {
137
+ if (!isWebViewLoaded) {
138
+ if (data.pg.startsWith('eximbay')) {
139
+ data.popup = false;
140
+ }
141
+ if (tierCode) {
142
+ webview.current?.injectJavaScript(`
126
143
  setTimeout(function() { IMP.agency("${userCode}", "${tierCode}"); });
127
144
  `);
128
- } else {
129
- var _webview$current3;
130
- (_webview$current3 = webview.current) === null || _webview$current3 === void 0 || _webview$current3.injectJavaScript(`
145
+ } else {
146
+ webview.current?.injectJavaScript(`
131
147
  setTimeout(function() { IMP.init("${userCode}"); });
132
148
  `);
133
- }
134
- (_webview$current4 = webview.current) === null || _webview$current4 === void 0 || _webview$current4.injectJavaScript(`
149
+ }
150
+ webview.current?.injectJavaScript(`
135
151
  setTimeout(function() {
136
152
  IMP.request_pay(${JSON.stringify(data)}, function(response) {
137
153
  window.ReactNativeWebView.postMessage(JSON.stringify(response));
138
154
  });
139
155
  });
140
156
  `);
141
- setIsWebViewLoaded(true);
142
- }
157
+ setIsWebViewLoaded(true);
158
+ }
143
159
 
144
- // only for Android
145
- if (removeLoadingNeeded()) {
146
- setShowLoading(false);
147
- }
148
- }
149
- /* PG사가 callback을 지원하는 경우, 결제결과를 받아 callback을 실행한다 */,
150
- onMessage: e => {
151
- /**
152
- * [v1.6.0] 다날의 경우 response에 주문명(name)이 포함되어 있는데
153
- * 주문명에 %가 들어갈 경우, decodeURIComponent시 URI malformed 에러가 발생하는 것 대비해
154
- * 우선 encodeURIComponent를 한 후, decodeURIComponent가 끝나면
155
- * 최종적으로 decodeURIComponent를 한 번 더 한다
156
- */
157
- const encoded = encodeURIComponent(e.nativeEvent.data);
158
- const decoded = decodeURIComponent(encoded);
159
- const response = JSON.parse(decoded);
160
- if (typeof callback === 'function') {
161
- callback(response);
160
+ // only for Android
161
+ if (removeLoadingNeeded()) {
162
+ setShowLoading(false);
163
+ }
162
164
  }
163
- },
164
- originWhitelist: ['*'] // https://github.com/facebook/react-native/issues/19986
165
- ,
166
- sharedCookiesEnabled: true,
167
- onShouldStartLoadWithRequest: request => {
168
- const {
169
- url
170
- } = request;
171
- // console.log(`url: ${url}`);
172
- const iamportUrl = new IamportUrl(url);
173
- if (iamportUrl.isPaymentOver(redirectUrl, data)) {
165
+ /* PG사가 callback을 지원하는 경우, 결제결과를 받아 callback을 실행한다 */,
166
+ onMessage: e => {
167
+ /**
168
+ * [v1.6.0] 다날의 경우 response에 주문명(name)이 포함되어 있는데
169
+ * 주문명에 %가 들어갈 경우, decodeURIComponent시 URI malformed 에러가 발생하는 것 대비해
170
+ * 우선 encodeURIComponent를 한 후, decodeURIComponent가 끝나면
171
+ * 최종적으로 decodeURIComponent를 한 번 더 한다
172
+ */
173
+ const encoded = encodeURIComponent(e.nativeEvent.data);
174
+ const decoded = decodeURIComponent(encoded);
175
+ const response = JSON.parse(decoded);
174
176
  if (typeof callback === 'function') {
175
- if (data.pg.startsWith('html5_inicis') && data.pay_method === 'trans' && Platform.OS === 'ios') {
176
- callback(iamportUrl.getInicisTransQuery(redirectUrl));
177
- } else {
178
- callback(iamportUrl.getQuery());
177
+ callback(response);
178
+ }
179
+ },
180
+ originWhitelist: ['*'] // https://github.com/facebook/react-native/issues/19986
181
+ ,
182
+ sharedCookiesEnabled: true,
183
+ onShouldStartLoadWithRequest: request => {
184
+ const {
185
+ url
186
+ } = request;
187
+ // console.log(`url: ${url}`);
188
+ const iamportUrl = new IamportUrl(url);
189
+ if (iamportUrl.isPaymentOver(redirectUrl, data)) {
190
+ if (typeof callback === 'function') {
191
+ if (data.pg.startsWith('html5_inicis') && data.pay_method === 'trans' && Platform.OS === 'ios') {
192
+ callback(iamportUrl.getInicisTransQuery(redirectUrl));
193
+ } else {
194
+ callback(iamportUrl.getQuery());
195
+ }
179
196
  }
197
+ return false;
180
198
  }
181
- return false;
182
- }
183
- if (iamportUrl.isAppUrl()) {
184
- /* 3rd-party 앱 오픈 */
185
- iamportUrl.launchApp().catch(e => {
186
- const {
187
- code,
188
- message
189
- } = e;
190
- callback({
191
- imp_success: false,
192
- error_code: code,
193
- error_msg: message
199
+ if (iamportUrl.isAppUrl()) {
200
+ /* 3rd-party 앱 오픈 */
201
+ iamportUrl.launchApp().catch(e => {
202
+ const {
203
+ code,
204
+ message
205
+ } = e;
206
+ callback({
207
+ imp_success: false,
208
+ error_code: code,
209
+ error_msg: message
210
+ });
194
211
  });
195
- });
196
- return false;
197
- }
198
- if (isWebViewLoaded && showLoading && iamportUrl.isIframeLoaded()) {
199
- /**
200
- * only for IOS
201
- * iframe이 load되면(url이 about:blank 또는 https://service.iamport.kr이 아니면)
202
- * webview의 loading 상태를 해제한다
203
- */
204
- setShowLoading(false);
212
+ return false;
213
+ }
214
+ if (isWebViewLoaded && showLoading && iamportUrl.isIframeLoaded()) {
215
+ /**
216
+ * only for IOS
217
+ * iframe이 load되면(url이 about:blank 또는 https://service.iamport.kr이 아니면)
218
+ * webview의 loading 상태를 해제한다
219
+ */
220
+ setShowLoading(false);
221
+ }
222
+ return true;
205
223
  }
206
- return true;
207
- }
208
- }), showLoading && /*#__PURE__*/React.createElement(View, {
209
- style: loadingContainer
210
- }, loading || /*#__PURE__*/React.createElement(Loading, null)));
224
+ }), showLoading && /*#__PURE__*/_jsx(View, {
225
+ style: loadingContainer,
226
+ children: loading || /*#__PURE__*/_jsx(Loading, {})
227
+ })]
228
+ });
211
229
  }
212
- return /*#__PURE__*/React.createElement(ErrorOnParams, {
230
+ return /*#__PURE__*/_jsx(ErrorOnParams, {
213
231
  message: validation.getMessage()
214
232
  });
215
233
  }