결제데이터통보

This commit is contained in:
focp212@naver.com
2025-09-16 19:48:22 +09:00
parent 60f55c98eb
commit d1556fd77d
10 changed files with 239 additions and 71 deletions

View File

@@ -78,6 +78,7 @@
"react-player": "^3.3.2",
"react-router": "^7.8.2",
"react-router-dom": "^7.8.2",
"react-slidedown": "^2.4.7",
"react-tabs": "^6.1.0",
"react-toastify": "^11.0.5",
"react-tooltip": "^5.29.1",

91
pnpm-lock.yaml generated
View File

@@ -88,10 +88,10 @@ importers:
version: 24.3.1
'@vitejs/plugin-legacy':
specifier: ^7.2.1
version: 7.2.1(terser@5.43.1)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))
version: 7.2.1(terser@5.44.0)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@vitejs/plugin-react-swc':
specifier: ^3.11.0
version: 3.11.0(@swc/helpers@0.5.17)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))
version: 3.11.0(@swc/helpers@0.5.17)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@webview-bridge/react':
specifier: ^1.7.8
version: 1.7.8(@webview-bridge/web@1.7.8)(react@19.1.1)
@@ -209,6 +209,9 @@ importers:
react-router-dom:
specifier: ^7.8.2
version: 7.8.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
react-slidedown:
specifier: ^2.4.7
version: 2.4.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
react-tabs:
specifier: ^6.1.0
version: 6.1.0(react@19.1.1)
@@ -253,13 +256,13 @@ importers:
version: 19.5.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
vite-plugin-checker:
specifier: ^0.10.3
version: 0.10.3(eslint@9.35.0(jiti@2.5.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))
version: 0.10.3(eslint@9.35.0(jiti@2.5.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
vite-tsconfig-paths:
specifier: ^5.1.4
version: 5.1.4(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))
version: 5.1.4(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
vitest:
specifier: ^3.2.4
version: 3.2.4(@types/node@24.3.1)(jiti@2.5.1)(jsdom@26.1.0)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
version: 3.2.4(@types/node@24.3.1)(jiti@2.5.1)(jsdom@26.1.0)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
zustand:
specifier: ^5.0.8
version: 5.0.8(@types/react@19.1.12)(immer@10.1.3)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1))
@@ -269,7 +272,7 @@ importers:
version: 9.35.0
'@tanstack/router-plugin':
specifier: ^1.131.41
version: 1.131.41(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(webpack@5.101.0(@swc/core@1.13.5(@swc/helpers@0.5.17)))
version: 1.131.41(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))(webpack@5.101.0(@swc/core@1.13.5(@swc/helpers@0.5.17)))
'@types/react':
specifier: ^19.1.12
version: 19.1.12
@@ -284,7 +287,7 @@ importers:
version: 8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)
'@vitejs/plugin-react':
specifier: ^4.7.0
version: 4.7.0(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))
version: 4.7.0(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
autoprefixer:
specifier: ^10.4.21
version: 10.4.21(postcss@8.5.6)
@@ -320,7 +323,7 @@ importers:
version: 5.9.2
vite:
specifier: ^7.1.5
version: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
version: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
packages:
@@ -4940,6 +4943,12 @@ packages:
react-dom:
optional: true
react-slidedown@2.4.7:
resolution: {integrity: sha512-HGDfrqo70r1WVE0DwrySPdCT27/2wcZaJYh5kOnmuPSCtjDDJrNkDdn4Ep/cma2VVfwupeAGhbc2pbrGThU6VQ==}
peerDependencies:
react: ^16.3.0 || 17
react-dom: ^16.3.0 || 17
react-tabs@6.1.0:
resolution: {integrity: sha512-6QtbTRDKM+jA/MZTTefvigNxo0zz+gnBTVFw2CFVvq+f2BuH0nF0vDLNClL045nuTAdOoK/IL1vTP0ZLX0DAyQ==}
peerDependencies:
@@ -5594,11 +5603,6 @@ packages:
uglify-js:
optional: true
terser@5.43.1:
resolution: {integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==}
engines: {node: '>=10'}
hasBin: true
terser@5.44.0:
resolution: {integrity: sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==}
engines: {node: '>=10'}
@@ -8173,7 +8177,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@tanstack/router-plugin@1.131.41(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(webpack@5.101.0(@swc/core@1.13.5(@swc/helpers@0.5.17)))':
'@tanstack/router-plugin@1.131.41(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))(webpack@5.101.0(@swc/core@1.13.5(@swc/helpers@0.5.17)))':
dependencies:
'@babel/core': 7.28.4
'@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4)
@@ -8191,7 +8195,7 @@ snapshots:
zod: 3.25.76
optionalDependencies:
'@tanstack/react-router': 1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
webpack: 5.101.0(@swc/core@1.13.5(@swc/helpers@0.5.17))
transitivePeerDependencies:
- supports-color
@@ -8468,7 +8472,7 @@ snapshots:
native-promise-only: 0.8.1
weakmap-polyfill: 2.0.4
'@vitejs/plugin-legacy@7.2.1(terser@5.43.1)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))':
'@vitejs/plugin-legacy@7.2.1(terser@5.44.0)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@babel/core': 7.28.4
'@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.4)
@@ -8482,20 +8486,20 @@ snapshots:
magic-string: 0.30.19
regenerator-runtime: 0.14.1
systemjs: 6.15.1
terser: 5.43.1
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
terser: 5.44.0
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-react-swc@3.11.0(@swc/helpers@0.5.17)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))':
'@vitejs/plugin-react-swc@3.11.0(@swc/helpers@0.5.17)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@rolldown/pluginutils': 1.0.0-beta.27
'@swc/core': 1.13.5(@swc/helpers@0.5.17)
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
transitivePeerDependencies:
- '@swc/helpers'
'@vitejs/plugin-react@4.7.0(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))':
'@vitejs/plugin-react@4.7.0(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@babel/core': 7.28.4
'@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.4)
@@ -8503,7 +8507,7 @@ snapshots:
'@rolldown/pluginutils': 1.0.0-beta.27
'@types/babel__core': 7.20.5
react-refresh: 0.17.0
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
@@ -8515,13 +8519,13 @@ snapshots:
chai: 5.3.3
tinyrainbow: 2.0.0
'@vitest/mocker@3.2.4(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))':
'@vitest/mocker@3.2.4(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.19
optionalDependencies:
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
'@vitest/pretty-format@3.2.4':
dependencies:
@@ -11469,6 +11473,12 @@ snapshots:
optionalDependencies:
react-dom: 19.1.1(react@19.1.1)
react-slidedown@2.4.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
dependencies:
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
tslib: 2.8.1
react-tabs@6.1.0(react@19.1.1):
dependencies:
clsx: 2.1.1
@@ -12210,18 +12220,11 @@ snapshots:
jest-worker: 27.5.1
schema-utils: 4.3.2
serialize-javascript: 6.0.2
terser: 5.43.1
terser: 5.44.0
webpack: 5.101.0(@swc/core@1.13.5(@swc/helpers@0.5.17))
optionalDependencies:
'@swc/core': 1.13.5(@swc/helpers@0.5.17)
terser@5.43.1:
dependencies:
'@jridgewell/source-map': 0.3.11
acorn: 8.15.0
commander: 2.20.3
source-map-support: 0.5.21
terser@5.44.0:
dependencies:
'@jridgewell/source-map': 0.3.11
@@ -12498,13 +12501,13 @@ snapshots:
dependencies:
'@vimeo/player': 2.29.0
vite-node@3.2.4(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1):
vite-node@3.2.4(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1):
dependencies:
cac: 6.7.14
debug: 4.4.1(supports-color@10.2.2)
es-module-lexer: 1.7.0
pathe: 2.0.3
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -12519,7 +12522,7 @@ snapshots:
- tsx
- yaml
vite-plugin-checker@0.10.3(eslint@9.35.0(jiti@2.5.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)):
vite-plugin-checker@0.10.3(eslint@9.35.0(jiti@2.5.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)):
dependencies:
'@babel/code-frame': 7.27.1
chokidar: 4.0.3
@@ -12529,7 +12532,7 @@ snapshots:
strip-ansi: 7.1.2
tiny-invariant: 1.3.3
tinyglobby: 0.2.15
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
vscode-uri: 3.1.0
optionalDependencies:
eslint: 9.35.0(jiti@2.5.1)
@@ -12537,18 +12540,18 @@ snapshots:
optionator: 0.9.4
typescript: 5.9.2
vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)):
vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)):
dependencies:
debug: 4.4.1(supports-color@10.2.2)
globrex: 0.1.2
tsconfck: 3.1.6(typescript@5.9.2)
optionalDependencies:
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
- typescript
vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1):
vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1):
dependencies:
esbuild: 0.25.9
fdir: 6.5.0(picomatch@4.0.3)
@@ -12563,15 +12566,15 @@ snapshots:
lightningcss: 1.30.1
sass: 1.92.1
sass-embedded: 1.92.1
terser: 5.43.1
terser: 5.44.0
tsx: 4.20.5
yaml: 2.8.1
vitest@3.2.4(@types/node@24.3.1)(jiti@2.5.1)(jsdom@26.1.0)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1):
vitest@3.2.4(@types/node@24.3.1)(jiti@2.5.1)(jsdom@26.1.0)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1):
dependencies:
'@types/chai': 5.2.2
'@vitest/expect': 3.2.4
'@vitest/mocker': 3.2.4(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))
'@vitest/mocker': 3.2.4(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -12589,8 +12592,8 @@ snapshots:
tinyglobby: 0.2.15
tinypool: 1.1.1
tinyrainbow: 2.0.0
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
vite-node: 3.2.4(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
vite-node: 3.2.4(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 24.3.1

View File

@@ -37,7 +37,6 @@ export const HomeNoticeList = () => {
};
noticeList(listParams).then((rs) => {
console.log(rs)
setResultList(rs.content);
});
};

View File

@@ -0,0 +1,71 @@
import moment from 'moment';
import { useEffect, useState } from 'react';
import { SlideDown } from 'react-slidedown';
import 'react-slidedown/lib/slidedown.css';
export interface DataNotificationNotifyContentProps {
paymentMethodName: string;
startDate?: string;
adminEmail?: string;
urlIp?: string;
retransmissionInterval?: string;
retransmissionCount?: string;
okCheck?: string;
encryptionStatus?: string;
isChildOpen: boolean;
setIsChildOpen: (isChildOpen: boolean) => void;
};
export const DataNotificationNotifyContent = ({
paymentMethodName,
startDate,
adminEmail,
urlIp,
retransmissionInterval,
retransmissionCount,
okCheck,
encryptionStatus,
isChildOpen,
setIsChildOpen
}: DataNotificationNotifyContentProps) => {
const [isOpen, setIsOpen] = useState<boolean>(false);
const openNotifyContent = () => {
setIsOpen(!isOpen);
setIsChildOpen(!isOpen);
};
useEffect(() => {
console.log('useEffect ', isChildOpen)
if(!!isChildOpen){
//setIsOpen(false);
}
}, [isChildOpen])
return (
<>
<div
className="notify-row"
onClick={ () => openNotifyContent() }
>
<span className="notify-name">{ paymentMethodName }</span>
<span className={`ic20 arrow-down ${(isOpen)? 'rot-180': ''}`}></span>
</div>
<SlideDown className={'my-dropdown-slidedown'}>
{ isOpen &&
<div className="notify-content">
<ul className="notify-detail-list">
<li className="notify-detail-item"> : { moment(startDate).format('YYYY-MM-DD') }</li>
<li className="notify-detail-item"> : { adminEmail } </li>
<li className="notify-detail-item">URL/IP : { urlIp }</li>
<li className="notify-detail-item"> : { retransmissionInterval }</li>
<li className="notify-detail-item"> : { retransmissionCount }</li>
<li className="notify-detail-item">OK : { okCheck }</li>
<li className="notify-detail-item"> : { encryptionStatus }</li>
</ul>
</div>
}
</SlideDown>
</>
);
};

View File

@@ -1,11 +1,45 @@
import { PaymentNotificationDataResponse } from '../model/types';
import { useEffect, useState } from 'react';
import { DataNotificationNotifyContent } from './data-notification-notify-content';
import {
MerchantInfo,
CreditCard,
AccountTransfer,
VirtualAccount,
MobilePayment,
EscrowPayment,
PaymentNotificationDataResponse
} from '../model/types';
export interface DataNotificationWrapProps {
paymentNotificationData?: PaymentNotificationDataResponse;
};
export enum DataNotificationNotifyContentKey {
CreditCard = 'CreditCard',
AccountTransfer = 'AccountTransfer',
VirtualAccount = 'VirtualAccount',
MobilePayment = 'MobilePayment',
EscrowPayment = 'EscrowPayment',
};
export const DataNotificationWrap = ({
paymentNotificationData
}: DataNotificationWrapProps) => {
const [merchantInfo, setMerchantInfo] = useState<Record<string, any>>();
const [creditCard, setCreditCard] = useState<Record<string, any>>();
const [accountTransfer, setAccountTransfer] = useState<Record<string, any>>();
const [virtualAccount, setVirtualAccount] = useState<Record<string, any>>();
const [mobilePayment, setMobilePayment] = useState<Record<string, any>>();
const [escrowPayment, setEscrowPayment] = useState<Record<string, any>>();
const [isChildOpen, setIsChildOpen] = useState<boolean>(false);
useEffect(() => {
setMerchantInfo(paymentNotificationData?.merchantInfo);
setCreditCard(paymentNotificationData?.creditCard.detail);
setAccountTransfer(paymentNotificationData?.accountTransfer.detail);
setVirtualAccount(paymentNotificationData?.virtualAccount.detail);
setMobilePayment(paymentNotificationData?.mobilePayment.detail);
setEscrowPayment(paymentNotificationData?.escrowPayment.detail);
}, []);
return (
<>
@@ -23,37 +57,78 @@ export const DataNotificationWrap = ({
</div>
<ul className="notify-list">
<li>
<div className="notify-row">
<span className="notify-name"></span>
<span className="ic20 arrow-down"></span>
</div>
<DataNotificationNotifyContent
paymentMethodName={ '신용카드' }
startDate={ creditCard?.startDate }
adminEmail={ creditCard?.adminEmail }
urlIp={ creditCard?.urlIp }
retransmissionInterval={ creditCard?.retransmissionInterval }
retransmissionCount={ creditCard?.retransmissionCount }
okCheck={ creditCard?.okCheck}
encryptionStatus={ creditCard?.encryptionStatus }
isChildOpen={ isChildOpen }
setIsChildOpen={ setIsChildOpen }
></DataNotificationNotifyContent>
</li>
<li className="notify-divider"></li>
<li>
<div className="notify-row">
<span className="notify-name"></span>
<span className="ic20 arrow-down"></span>
</div>
<DataNotificationNotifyContent
paymentMethodName={ '계좌이체' }
startDate={ accountTransfer?.startDate }
adminEmail={ accountTransfer?.adminEmail }
urlIp={ accountTransfer?.urlIp }
retransmissionInterval={ accountTransfer?.retransmissionInterval }
retransmissionCount={ accountTransfer?.retransmissionCount }
okCheck={ accountTransfer?.okCheck}
encryptionStatus={ accountTransfer?.encryptionStatus }
isChildOpen={ isChildOpen }
setIsChildOpen={ setIsChildOpen }
></DataNotificationNotifyContent>
</li>
<li className="notify-divider"></li>
<li>
<div className="notify-row">
<span className="notify-name"></span>
<span className="ic20 arrow-down"></span>
</div>
<DataNotificationNotifyContent
paymentMethodName={ '가상계좌' }
startDate={ virtualAccount?.startDate }
adminEmail={ virtualAccount?.adminEmail }
urlIp={ virtualAccount?.urlIp }
retransmissionInterval={ virtualAccount?.retransmissionInterval }
retransmissionCount={ virtualAccount?.retransmissionCount }
okCheck={ virtualAccount?.okCheck}
encryptionStatus={ virtualAccount?.encryptionStatus }
isChildOpen={ isChildOpen }
setIsChildOpen={ setIsChildOpen }
></DataNotificationNotifyContent>
</li>
<li className="notify-divider"></li>
<li>
<div className="notify-row">
<span className="notify-name"></span>
<span className="ic20 arrow-down"></span>
</div>
<DataNotificationNotifyContent
paymentMethodName={ '휴대폰' }
startDate={ mobilePayment?.startDate }
adminEmail={ mobilePayment?.adminEmail }
urlIp={ mobilePayment?.urlIp }
retransmissionInterval={ mobilePayment?.retransmissionInterval }
retransmissionCount={ mobilePayment?.retransmissionCount }
okCheck={ mobilePayment?.okCheck}
encryptionStatus={ mobilePayment?.encryptionStatus }
isChildOpen={ isChildOpen }
setIsChildOpen={ setIsChildOpen }
></DataNotificationNotifyContent>
</li>
<li className="notify-divider"></li>
<li>
<div className="notify-row">
<span className="notify-name"> </span>
<span className="ic20 arrow-down"></span>
</div>
<DataNotificationNotifyContent
paymentMethodName={ '에스크로 결제' }
startDate={ escrowPayment?.startDate }
adminEmail={ escrowPayment?.adminEmail }
urlIp={ escrowPayment?.urlIp }
retransmissionInterval={ escrowPayment?.retransmissionInterval }
retransmissionCount={ escrowPayment?.retransmissionCount }
okCheck={ escrowPayment?.okCheck}
encryptionStatus={ escrowPayment?.encryptionStatus }
isChildOpen={ isChildOpen }
setIsChildOpen={ setIsChildOpen }
></DataNotificationNotifyContent>
</li>
</ul>
</div>

View File

@@ -1,6 +1,7 @@
import { InfoItemProps } from '../model/types';
export const InfoItem = ({
type,
payName,
payImage,
infoLink

View File

@@ -92,6 +92,7 @@ export const InfoWrap = ({
{ getList(PaymentInfoItemType.NoInterest) }
</ul>
</div>
</>
);
};

View File

@@ -52,9 +52,11 @@ export const DataNotificationPage = () => {
<div className="tab-content">
<div className="tab-pane pt-46 active">
<PaymentTab activeTab={ activeTab }></PaymentTab>
{ !!paymentNotificationDataResult &&
<DataNotificationWrap
paymentNotificationData={ paymentNotificationDataResult }
></DataNotificationWrap>
}
</div>
</div>
</main>

View File

@@ -3,7 +3,7 @@ import { PATHS } from '@/shared/constants/paths';
import { useNavigate } from '@/shared/lib/hooks/use-navigate';
import { PaymentTab } from '@/entities/payment/ui/payment-tab';
import { InfoWrap } from '@/entities/payment/ui/info-wrap';
import { PaymentCardResponse, PaymentNonCardResponse, PaymentTabKeys } from '@/entities/payment/model/types';
import { PaymentCardResponse, PaymentInstallmentResponse, PaymentNonCardResponse, PaymentTabKeys } from '@/entities/payment/model/types';
import { usePaymentCardMutation } from '@/entities/payment/api/use-payment-card-mutation';
import { usePaymentNonCardMutation } from '@/entities/payment/api/use-payment-non-card-mutation';
import { HeaderType } from '@/entities/common/model/types';
@@ -13,18 +13,21 @@ import {
useSetFooterMode,
useSetOnBack
} from '@/widgets/sub-layout/use-sub-layout';
import { usePaymentInstallmentMutation } from '@/entities/payment/api/use-payment-installment-mutation';
export const InfoPage = () => {
const { navigate } = useNavigate();
const { mutateAsync: paymentCard } = usePaymentCardMutation();
const { mutateAsync: paymentNonCard } = usePaymentNonCardMutation();
const { mutateAsync: paymentInstallment } = usePaymentInstallmentMutation();
const [activeTab, setActiveTab] = useState<PaymentTabKeys>(PaymentTabKeys.Info);
const [mid, setMid] = useState<string>('nictest00g');
const [paymentCardResult, setPaymentCardResult] = useState<PaymentCardResponse>();
const [paymentNonCardResult, setPaymentNonCardResult] = useState<PaymentNonCardResponse>();
const [paymentInstallmentResult, setPaymentInstallResult] = useState<PaymentInstallmentResponse>();
useSetHeaderTitle('결제 관리');
useSetHeaderType(HeaderType.LeftArrow);
@@ -55,10 +58,22 @@ export const InfoPage = () => {
setPaymentNonCardResult(rs);
});
};
const callPaymentIntallment = () => {
let params = {
mid: mid,
paymentMethod: 'CREDIT_CARD'
};
paymentInstallment(params).then((rs) => {
console.log(rs);
setPaymentInstallResult(rs);
});
};
useEffect(() => {
callPaymentCard();
callPaymentNonCard();
callPaymentIntallment();
}, []);
return (
@@ -70,6 +85,7 @@ export const InfoPage = () => {
<InfoWrap
paymentCard={ paymentCardResult }
paymentNonCard={ paymentNonCardResult }
paymentInstallment={ paymentInstallmentResult }
></InfoWrap>
</div>
</div>

View File

@@ -66,7 +66,6 @@ export const NoticeListPage = () => {
callList();
}, []);
return (
<>
<main>