{"_id":"@astralweb/nova-line-pay","_rev":"10-b78be00f0764b70f59be7551ded9aa76","name":"@astralweb/nova-line-pay","dist-tags":{"latest":"1.1.1"},"versions":{"0.0.1":{"name":"@astralweb/nova-line-pay","version":"0.0.1","keywords":["line-pay","payment","taiwan"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-line-pay@0.0.1","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/line-pay","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"5e072b42a6294f2a4e49bfd65cdcabb35bafadd4","tarball":"https://registry.npmjs.org/@astralweb/nova-line-pay/-/nova-line-pay-0.0.1.tgz","fileCount":8,"integrity":"sha512-6zEPXW8Cf/vtbSS/tsXnTtcO5YR2h++ceikyCgXjOVnhlAGl0sxZ+hSC7oOmW6ud7exq4rJzcXuIFL31D0MGdQ==","signatures":[{"sig":"MEYCIQCDb+I1Vm0DWl0W8KXa7CxbzA0red08UdJokJ5WsZK0wQIhAOFiEa3I7lZxXwN8zK4AnLmxbSy8tfoxf1ImoIPeRIDv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8855},"main":"./dist/module.mjs","type":"module","_from":"file:astralweb-nova-line-pay-0.0.1.tgz","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./api":{"types":"./dist/runtime/api/index.d.ts","import":"./dist/runtime/api/index.js"},"./types":{"types":"./dist/runtime/types/index.d.ts","import":"./dist/runtime/types/index.js"}},"scripts":{"dev":"pnpm run dev:prepare && nuxi dev playground","lint":"eslint .","test":"vitest run","build":"nuxt-module-build build","dev:build":"nuxi build playground","typecheck":"tsc --noEmit","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit","test:watch":"vitest watch","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground"},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"_resolved":"/tmp/caa691b4e75d995c237bd4a04fcac66c/astralweb-nova-line-pay-0.0.1.tgz","_integrity":"sha512-6zEPXW8Cf/vtbSS/tsXnTtcO5YR2h++ceikyCgXjOVnhlAGl0sxZ+hSC7oOmW6ud7exq4rJzcXuIFL31D0MGdQ==","repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/line-pay"},"_npmVersion":"10.8.2","description":"Line Pay integration module for Nova e-commerce platform (Internal Use Only)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@nuxt/kit":"^4.1.3","@vue-storefront/middleware":"^5.4.1","@vue-storefront/magento-types":"^2.0.0"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.1.3","eslint":"^9.37.0","vitest":"^3.2.4","consola":"^3.4.2","unbuild":"^3.3.1","vue-tsc":"^3.1.1","typescript":"~5.9.3","@types/node":"latest","changelogen":"^0.6.2","@nuxt/schema":"^4.1.3","@nuxt/devtools":"^2.6.5","@nuxt/test-utils":"^3.19.2","@nuxt/eslint-config":"^1.9.0","@nuxt/module-builder":"^1.0.2","@astralweb/eslint-config":"1.0.6"},"peerDependencies":{"nuxt":"^3.0.0 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-line-pay_0.0.1_1760600900808_0.41668441925099775","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@astralweb/nova-line-pay","version":"0.0.2","keywords":["line-pay","payment","taiwan"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-line-pay@0.0.2","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/line-pay","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"8d44c19119180bdccdcc84130e0814f2546f799b","tarball":"https://registry.npmjs.org/@astralweb/nova-line-pay/-/nova-line-pay-0.0.2.tgz","fileCount":21,"integrity":"sha512-bdD3Aseoq3fcF3ANkLsVguuEjrjmvwl2EkVmAyTqWu3VR/Sy54u2l19VaXMlIaEA31RUKUH5MTue6yaHeIWD9Q==","signatures":[{"sig":"MEUCIDSvghVe3CPnjkbejZAya1DHDREyxTy7PNVTseYSvmAqAiEAuMZWpVjV/zpwnf2+rR0IAP1qqYrSc2nVkzZPxyTZkx8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12605},"main":"./dist/module.mjs","type":"module","_from":"file:astralweb-nova-line-pay-0.0.2.tgz","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./api":{"types":"./dist/runtime/api/index.d.ts","import":"./dist/runtime/api/index.js"},"./types":{"types":"./dist/runtime/types/index.d.ts","import":"./dist/runtime/types/index.js"}},"scripts":{"dev":"pnpm run dev:prepare && nuxi dev playground","lint":"eslint .","test":"vitest run","build":"nuxt-module-build build","dev:build":"nuxi build playground","typecheck":"tsc --noEmit","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit","test:watch":"vitest watch","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","build:prepare":"nuxt-module-build prepare && nuxi prepare playground"},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"_resolved":"/tmp/1cdf44704897756277d3e71c6919c3f1/astralweb-nova-line-pay-0.0.2.tgz","_integrity":"sha512-bdD3Aseoq3fcF3ANkLsVguuEjrjmvwl2EkVmAyTqWu3VR/Sy54u2l19VaXMlIaEA31RUKUH5MTue6yaHeIWD9Q==","repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/line-pay"},"_npmVersion":"10.8.2","description":"Line Pay integration module for Nova e-commerce platform (Internal Use Only)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@nuxt/kit":"^4.1.3","@vue-storefront/middleware":"^5.4.1","@vue-storefront/magento-types":"^2.0.0"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.1.3","eslint":"^9.37.0","vitest":"^3.2.4","consola":"^3.4.2","unbuild":"^3.3.1","vue-tsc":"^3.1.1","typescript":"~5.9.3","@types/node":"latest","changelogen":"^0.6.2","@nuxt/schema":"^4.1.3","@nuxt/devtools":"^2.6.5","@nuxt/test-utils":"^3.19.2","@nuxt/eslint-config":"^1.9.0","@nuxt/module-builder":"^1.0.2","@astralweb/eslint-config":"1.0.6"},"peerDependencies":{"nuxt":"^3.0.0 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-line-pay_0.0.2_1760603691160_0.5089601344851176","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@astralweb/nova-line-pay","version":"0.0.3","keywords":["line-pay","payment","taiwan"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-line-pay@0.0.3","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/line-pay","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"e1e4c774ca627e5431ac38c2129ed9061467cf1d","tarball":"https://registry.npmjs.org/@astralweb/nova-line-pay/-/nova-line-pay-0.0.3.tgz","fileCount":21,"integrity":"sha512-z++oOLXwXGA1nISPPqtrr4XkWDj65ERU5iMsDKlWXp7z+WfAAIWAaBAvQrMJOBVZX853dFZHJ70CnckGKYpW5Q==","signatures":[{"sig":"MEUCIQDnsQghvV/MAhVWc3xCZqLwdLDSfpwcJ+04nMBYBIpuCgIgegj0M3Iu4FWbN9wMLRn0ncLXdOvr/YPoRLLgvxgwbKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12792},"main":"./dist/module.mjs","type":"module","_from":"file:astralweb-nova-line-pay-0.0.3.tgz","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./api":{"types":"./dist/runtime/api/index.d.ts","import":"./dist/runtime/api/index.js"},"./types":{"types":"./dist/runtime/types/index.d.ts","import":"./dist/runtime/types/index.js"}},"scripts":{"dev":"pnpm run dev:prepare && nuxi dev playground","lint":"eslint .","test":"vitest run","build":"nuxt-module-build build","dev:build":"nuxi build playground","typecheck":"tsc --noEmit","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit","test:watch":"vitest watch","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","build:prepare":"nuxt-module-build prepare && nuxi prepare playground"},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"_resolved":"/tmp/280fe0d343876cfbd4f01919e849a074/astralweb-nova-line-pay-0.0.3.tgz","_integrity":"sha512-z++oOLXwXGA1nISPPqtrr4XkWDj65ERU5iMsDKlWXp7z+WfAAIWAaBAvQrMJOBVZX853dFZHJ70CnckGKYpW5Q==","repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/line-pay"},"_npmVersion":"10.8.2","description":"Line Pay integration module for Nova e-commerce platform (Internal Use Only)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@nuxt/kit":"^4.1.3","@vue-storefront/middleware":"^5.4.1","@vue-storefront/magento-types":"^2.0.0"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.1.3","eslint":"^9.37.0","vitest":"^3.2.4","consola":"^3.4.2","unbuild":"^3.3.1","vue-tsc":"^3.1.1","typescript":"~5.9.3","@types/node":"latest","changelogen":"^0.6.2","@nuxt/schema":"^4.1.3","@nuxt/devtools":"^2.6.5","@nuxt/test-utils":"^3.19.2","@nuxt/eslint-config":"^1.9.0","@nuxt/module-builder":"^1.0.2","@astralweb/eslint-config":"1.0.6"},"peerDependencies":{"nuxt":"^3.0.0 || ^4.0.0","@vue-storefront/sdk":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-line-pay_0.0.3_1760608979136_0.7382603962933283","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@astralweb/nova-line-pay","version":"0.0.4","keywords":["line-pay","payment","taiwan"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-line-pay@0.0.4","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/line-pay","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"3cdfb66b5371cde16d280652eec356dd81e2d505","tarball":"https://registry.npmjs.org/@astralweb/nova-line-pay/-/nova-line-pay-0.0.4.tgz","fileCount":23,"integrity":"sha512-EmQpZyCIsDcmqCG1ej585WdrI+s6GnNnnPzbjJBBlGq0CGAgNGYoZXPkD2V3P5/OFDRF9Up7U5X4olTbc91DNw==","signatures":[{"sig":"MEYCIQCbWxxHRgSVaj9IwvIfww4aBuSwudmvHIn2HHbec3PbrQIhAPC6EUeqdW5FBJzIwbap7V/MeEzCsYp98Ae5CePJcqEj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13445},"main":"./dist/module.mjs","type":"module","_from":"file:astralweb-nova-line-pay-0.0.4.tgz","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./api":{"types":"./dist/runtime/api/index.d.ts","import":"./dist/runtime/api/index.js"},"./types":{"types":"./dist/runtime/types/index.d.ts","import":"./dist/runtime/types/index.js"}},"scripts":{"dev":"pnpm run dev:prepare && nuxi dev playground","lint":"eslint .","test":"vitest run","build":"nuxt-module-build build","dev:build":"nuxi build playground","typecheck":"tsc --noEmit","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit","test:watch":"vitest watch","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","build:prepare":"nuxt-module-build prepare && nuxi prepare playground"},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"_resolved":"/tmp/701886a76d17eea5c7e075d3feca187b/astralweb-nova-line-pay-0.0.4.tgz","_integrity":"sha512-EmQpZyCIsDcmqCG1ej585WdrI+s6GnNnnPzbjJBBlGq0CGAgNGYoZXPkD2V3P5/OFDRF9Up7U5X4olTbc91DNw==","repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/line-pay"},"_npmVersion":"10.8.2","description":"Line Pay integration module for Nova e-commerce platform (Internal Use Only)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@nuxt/kit":"^4.1.3","@vue-storefront/middleware":"^5.4.1","@vue-storefront/magento-types":"^2.0.0"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.1.3","eslint":"^9.37.0","vitest":"^3.2.4","consola":"^3.4.2","unbuild":"^3.3.1","vue-tsc":"^3.1.1","typescript":"~5.9.3","@types/node":"latest","changelogen":"^0.6.2","@nuxt/schema":"^4.1.3","@nuxt/devtools":"^2.6.5","@nuxt/test-utils":"^3.19.2","@nuxt/eslint-config":"^1.9.0","@nuxt/module-builder":"^1.0.2","@astralweb/eslint-config":"1.0.6"},"peerDependencies":{"nuxt":"^3.0.0 || ^4.0.0","@vue-storefront/sdk":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-line-pay_0.0.4_1760675455032_0.2804648836566124","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@astralweb/nova-line-pay","version":"0.0.5","keywords":["line-pay","payment","taiwan"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-line-pay@0.0.5","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/line-pay","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"b9ffe265f9b1962eeafec2505f7fadee73c866a1","tarball":"https://registry.npmjs.org/@astralweb/nova-line-pay/-/nova-line-pay-0.0.5.tgz","fileCount":23,"integrity":"sha512-NcuiUOXhxAhdX9aH0eDXJLOpJLddyuWxNg0GW01HfwSm3Dx88etPbv31ecCnsrT5kd+GWm2jDhFMmAu4N7OSpA==","signatures":[{"sig":"MEUCIF6vMDtUg/SJSdDHvqC0lISsojVLZ1JhMre8tNfAUIVlAiEAiLAkG/eci5MI0DB7L5doF6zPSQGpjl61Oty4P5GWgr4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13482},"main":"./dist/module.mjs","type":"module","_from":"file:astralweb-nova-line-pay-0.0.5.tgz","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./api":{"types":"./dist/runtime/api/index.d.ts","import":"./dist/runtime/api/index.js"},"./types":{"types":"./dist/runtime/types/index.d.ts","import":"./dist/runtime/types/index.js"}},"scripts":{"dev":"pnpm run dev:prepare && nuxi dev playground","lint":"eslint .","test":"vitest run","build":"nuxt-module-build build","dev:build":"nuxi build playground","typecheck":"tsc --noEmit","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit","test:watch":"vitest watch","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","build:prepare":"nuxt-module-build prepare && nuxi prepare playground"},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"_resolved":"/tmp/f6c235891f32605a6bb08ee936ef557a/astralweb-nova-line-pay-0.0.5.tgz","_integrity":"sha512-NcuiUOXhxAhdX9aH0eDXJLOpJLddyuWxNg0GW01HfwSm3Dx88etPbv31ecCnsrT5kd+GWm2jDhFMmAu4N7OSpA==","repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/line-pay"},"_npmVersion":"10.8.2","description":"Line Pay integration module for Nova e-commerce platform (Internal Use Only)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@nuxt/kit":"^4.1.3","@vue-storefront/middleware":"^5.4.1","@vue-storefront/magento-types":"^2.0.0"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.1.3","eslint":"^9.37.0","vitest":"^3.2.4","consola":"^3.4.2","unbuild":"^3.3.1","vue-tsc":"^3.1.1","typescript":"~5.9.3","@types/node":"latest","changelogen":"^0.6.2","@nuxt/schema":"^4.1.3","@nuxt/devtools":"^2.6.5","@nuxt/test-utils":"^3.19.2","@nuxt/eslint-config":"^1.9.0","@nuxt/module-builder":"^1.0.2","@astralweb/eslint-config":"1.0.6"},"peerDependencies":{"nuxt":"^3.0.0 || ^4.0.0","@vue-storefront/sdk":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-line-pay_0.0.5_1760676450727_0.9681389212110536","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@astralweb/nova-line-pay","version":"1.0.0","keywords":["line-pay","payment","taiwan"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-line-pay@1.0.0","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/line-pay","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"a8423863c8f8ce2488858924dc77b2d256b5acc7","tarball":"https://registry.npmjs.org/@astralweb/nova-line-pay/-/nova-line-pay-1.0.0.tgz","fileCount":23,"integrity":"sha512-bF/cvyi3NRjbOVHBe/L5719byozlFcr3q1uUhnBycqnNt0FFgy2JVI0NqvPJkIvKys+SNF87RbDtYVevEv/KJQ==","signatures":[{"sig":"MEYCIQDNIA8FFoZq9Rs8LkPyRpLQs6aid7tOiV9FfJYUV/dsHAIhAKcxxpbUYPEN3eb6IjhI3CsxLjabnSO9YASHnR+SQhtH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13482},"main":"./dist/module.mjs","type":"module","_from":"file:astralweb-nova-line-pay-1.0.0.tgz","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./api":{"types":"./dist/runtime/api/index.d.ts","import":"./dist/runtime/api/index.js"},"./types":{"types":"./dist/runtime/types/index.d.ts","import":"./dist/runtime/types/index.js"}},"scripts":{"dev":"pnpm run dev:prepare && nuxi dev playground","lint":"eslint .","test":"vitest run","build":"nuxt-module-build build","dev:build":"nuxi build playground","typecheck":"tsc --noEmit","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit","test:watch":"vitest watch","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","build:prepare":"nuxt-module-build prepare && nuxi prepare playground"},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"_resolved":"/tmp/c1ed8aac78232cbf1479a465049a617e/astralweb-nova-line-pay-1.0.0.tgz","_integrity":"sha512-bF/cvyi3NRjbOVHBe/L5719byozlFcr3q1uUhnBycqnNt0FFgy2JVI0NqvPJkIvKys+SNF87RbDtYVevEv/KJQ==","repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/line-pay"},"_npmVersion":"10.8.2","description":"Line Pay integration module for Nova e-commerce platform (Internal Use Only)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@nuxt/kit":"^4.1.3","@vue-storefront/middleware":"^5.4.1","@vue-storefront/magento-types":"^2.0.0"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.1.3","eslint":"^9.37.0","vitest":"^3.2.4","consola":"^3.4.2","unbuild":"^3.3.1","vue-tsc":"^3.1.1","typescript":"~5.9.3","@types/node":"latest","changelogen":"^0.6.2","@nuxt/schema":"^4.1.3","@nuxt/devtools":"^2.6.5","@nuxt/test-utils":"^3.19.2","@nuxt/eslint-config":"^1.9.0","@nuxt/module-builder":"^1.0.2","@astralweb/eslint-config":"1.0.6"},"peerDependencies":{"nuxt":"^3.0.0 || ^4.0.0","@vue-storefront/sdk":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-line-pay_1.0.0_1760684485760_0.7820246831924256","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@astralweb/nova-line-pay","version":"1.0.1","keywords":["line-pay","payment","taiwan"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-line-pay@1.0.1","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/line-pay","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"005477ea5808ecf81e5add4cbedb5052dfa6e0ad","tarball":"https://registry.npmjs.org/@astralweb/nova-line-pay/-/nova-line-pay-1.0.1.tgz","fileCount":23,"integrity":"sha512-qItPnUFeukYQ6FnqspECH1+5G/uYw3J9KJvlWjhT1CIme5sBdk8FRp87eyPYfcIT2JWaE68Ire2qn0Wz9WKG8g==","signatures":[{"sig":"MEUCIE8D+XpsXV3V7+6HkjtEE9OVwXXQ84uWVx3KjRKIonhzAiEA9RhHH1GAJTpNYC5CD2We3doIg1W4+kf33OMD6QIIcVk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13509},"main":"./dist/module.mjs","type":"module","_from":"file:astralweb-nova-line-pay-1.0.1.tgz","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./api":{"types":"./dist/runtime/api/index.d.ts","import":"./dist/runtime/api/index.js"},"./types":{"types":"./dist/runtime/types/index.d.ts","import":"./dist/runtime/types/index.js"}},"scripts":{"dev":"pnpm run dev:prepare && nuxi dev playground","lint":"eslint .","test":"vitest run","build":"nuxt-module-build build","dev:build":"nuxi build playground","typecheck":"tsc --noEmit","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit","test:watch":"vitest watch","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","dev:preview":"nuxi preview playground --port 3001","build:prepare":"nuxt-module-build prepare && nuxi prepare playground"},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"_resolved":"/tmp/73699cc067e3786f193055a61d5f10a5/astralweb-nova-line-pay-1.0.1.tgz","_integrity":"sha512-qItPnUFeukYQ6FnqspECH1+5G/uYw3J9KJvlWjhT1CIme5sBdk8FRp87eyPYfcIT2JWaE68Ire2qn0Wz9WKG8g==","repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/line-pay"},"_npmVersion":"10.8.2","description":"Line Pay integration module for Nova e-commerce platform (Internal Use Only)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@nuxt/kit":"^4.1.3","@vue-storefront/middleware":"^5.4.1","@vue-storefront/magento-types":"^2.0.0"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.1.3","eslint":"^9.37.0","vitest":"^3.2.4","consola":"^3.4.2","unbuild":"^3.3.1","vue-tsc":"^3.1.1","typescript":"~5.9.3","@types/node":"latest","@nuxt/schema":"^4.1.3","@nuxt/devtools":"^2.6.5","@nuxt/test-utils":"^3.19.2","@nuxt/eslint-config":"^1.9.0","@nuxt/module-builder":"^1.0.2","@astralweb/eslint-config":"1.0.6"},"peerDependencies":{"nuxt":"^3.0.0 || ^4.0.0","@vue-storefront/sdk":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-line-pay_1.0.1_1761035842434_0.8366744913845179","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@astralweb/nova-line-pay","version":"1.0.2","keywords":["line-pay","payment","taiwan"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-line-pay@1.0.2","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/line-pay","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"d4a53dd8b76968b67c6b4261f94f984bbc50c7da","tarball":"https://registry.npmjs.org/@astralweb/nova-line-pay/-/nova-line-pay-1.0.2.tgz","fileCount":23,"integrity":"sha512-xycA3KgU3GQFOlfYd8ZhjYVAV6kHLk9AU+531/3Gn4+/NAg4MO/+C3RfLsbpn6YC18VtauAIFRIUpuCxJgO8pA==","signatures":[{"sig":"MEYCIQCzZAnphSr0opbLmZgAA/DPJC9eY9BaC1hk4H+8Aqm+PgIhALJlXq+9n4/zZHEl5Ee8WKH6sxTXQQBDJLrl4oCd1dNf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13803},"main":"./dist/module.mjs","type":"module","_from":"file:astralweb-nova-line-pay-1.0.2.tgz","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./api":{"types":"./dist/runtime/api/index.d.ts","import":"./dist/runtime/api/index.js"},"./types":{"types":"./dist/runtime/types/index.d.ts","import":"./dist/runtime/types/index.js"}},"scripts":{"dev":"pnpm run dev:prepare && nuxi dev playground","lint":"eslint .","test":"vitest run","build":"nuxt-module-build build","dev:build":"nuxi build playground","typecheck":"tsc --noEmit","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit","test:watch":"vitest watch","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","dev:preview":"nuxi preview playground --port 3001","build:prepare":"nuxt-module-build prepare && nuxi prepare playground"},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"_resolved":"/tmp/3656f1a139704e57e6eaa02b54bab2a8/astralweb-nova-line-pay-1.0.2.tgz","_integrity":"sha512-xycA3KgU3GQFOlfYd8ZhjYVAV6kHLk9AU+531/3Gn4+/NAg4MO/+C3RfLsbpn6YC18VtauAIFRIUpuCxJgO8pA==","repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/line-pay"},"_npmVersion":"10.8.2","description":"Line Pay integration module for Nova e-commerce platform (Internal Use Only)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@nuxt/kit":"^4.1.3","@vue-storefront/middleware":"^5.4.1","@vue-storefront/magento-types":"^2.0.0"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.1.3","eslint":"^9.37.0","vitest":"^3.2.4","consola":"^3.4.2","unbuild":"^3.3.1","vue-tsc":"^3.1.1","typescript":"~5.9.3","@types/node":"latest","@nuxt/schema":"^4.1.3","@nuxt/devtools":"^2.6.5","@nuxt/test-utils":"^3.19.2","@nuxt/eslint-config":"^1.9.0","@nuxt/module-builder":"^1.0.2","@astralweb/eslint-config":"1.0.6"},"peerDependencies":{"nuxt":"^3.0.0 || ^4.0.0","@vue-storefront/sdk":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-line-pay_1.0.2_1764305088979_0.22005658115179827","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@astralweb/nova-line-pay","version":"1.1.0","keywords":["line-pay","payment","taiwan"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-line-pay@1.1.0","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/line-pay","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"f75df7bc903dcc3a21cfa4caf1113494d807342d","tarball":"https://registry.npmjs.org/@astralweb/nova-line-pay/-/nova-line-pay-1.1.0.tgz","fileCount":23,"integrity":"sha512-WvPXzarIRlYahiOF2IC28p7pS8FNEAKKu74X1eNDqDvzN20K8JDEYQOq1iRvaZaKqrl1yuXNEv874BTkRytkyQ==","signatures":[{"sig":"MEUCIQCJUnRjFiWctjVdW7ZGCgjuoITg+e20nFZ6Zgn9Xh5LlwIgE3AdLJ4yYJ6OOe1fm4NwJVxYJoN92Iwj8migMO4Plys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26973},"main":"./dist/module.mjs","type":"module","_from":"file:astralweb-nova-line-pay-1.1.0.tgz","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./api":{"types":"./dist/runtime/api/index.d.ts","import":"./dist/runtime/api/index.js"},"./types":{"types":"./dist/runtime/types/index.d.ts","import":"./dist/runtime/types/index.js"}},"scripts":{"dev":"pnpm run dev:prepare && nuxi dev playground","lint":"eslint .","test":"vitest run","build":"nuxt-module-build build","dev:build":"nuxi build playground","typecheck":"tsc --noEmit","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit","test:watch":"vitest watch","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","dev:preview":"nuxi preview playground --port 3001","build:prepare":"nuxt-module-build prepare && nuxi prepare playground"},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"_resolved":"/tmp/2837a5446370175764db98bf7a04168b/astralweb-nova-line-pay-1.1.0.tgz","_integrity":"sha512-WvPXzarIRlYahiOF2IC28p7pS8FNEAKKu74X1eNDqDvzN20K8JDEYQOq1iRvaZaKqrl1yuXNEv874BTkRytkyQ==","repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/line-pay"},"_npmVersion":"10.8.2","description":"Line Pay integration module for Nova e-commerce platform (Internal Use Only)","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@nuxt/kit":"^4.1.3","@vue-storefront/middleware":"^5.4.1","@vue-storefront/magento-types":"^2.0.0"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.1.3","eslint":"^9.37.0","vitest":"^3.2.4","consola":"^3.4.2","unbuild":"^3.3.1","vue-tsc":"^3.1.1","typescript":"~5.9.3","@types/node":"latest","@nuxt/schema":"^4.1.3","@nuxt/devtools":"^2.6.5","@nuxt/test-utils":"^3.19.2","@nuxt/eslint-config":"^1.9.0","@nuxt/module-builder":"^1.0.2","@astralweb/eslint-config":"1.0.6"},"peerDependencies":{"nuxt":"^3.0.0 || ^4.0.0","@vue-storefront/sdk":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-line-pay_1.1.0_1765795315804_0.26703749205482974","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@astralweb/nova-line-pay","version":"1.1.1","description":"Line Pay integration module for Nova e-commerce platform (Internal Use Only)","type":"module","exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./api":{"types":"./dist/runtime/api/index.d.ts","import":"./dist/runtime/api/index.js"},"./types":{"types":"./dist/runtime/types/index.d.ts","import":"./dist/runtime/types/index.js"}},"main":"./dist/module.mjs","typesVersions":{"*":{".":["./dist/types.d.mts"]}},"dependencies":{"@nuxt/kit":"^4.1.3","h3":"^1.15.3"},"peerDependencies":{"@vue-storefront/magento-types":"^2.0.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/sdk":"^3.2.0","nuxt":"^3.0.0 || ^4.0.0"},"devDependencies":{"@vue-storefront/magento-types":"^2.0.0","@vue-storefront/middleware":"^5.4.1","@nuxt/devtools":"^2.6.5","@nuxt/eslint-config":"^1.9.0","@nuxt/module-builder":"^1.0.2","@nuxt/schema":"^4.1.3","@nuxt/test-utils":"^3.19.2","@types/node":"latest","@apollo/client":"^3.8.0","consola":"^3.4.2","eslint":"^9.38.0","graphql-tag":"^2.12.0","nuxt":"^4.1.3","tailwindcss":"^4.1.17","typescript":"^5.9.3","unbuild":"^3.3.1","vitest":"^3.2.4","vue-tsc":"^3.1.1","@astralweb/eslint-config":"2.1.0"},"repository":{"type":"git","url":"git+https://github.com/AstralWebTW/nova-packages.git","directory":"packages/line-pay"},"publishConfig":{"access":"public"},"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/line-pay","keywords":["line-pay","payment","taiwan"],"author":{"name":"Astral Web"},"license":"Proprietary","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"scripts":{"build:prepare":"nuxt-module-build prepare && nuxi prepare playground","build":"nuxt-module-build build","dev":"pnpm run dev:prepare && nuxi dev playground","dev:build":"nuxi build playground","dev:preview":"nuxi preview playground --port 3001","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","typecheck":"nuxt typecheck","lint":"eslint .","lint:fix":"eslint . --fix","test":"vitest run","test:watch":"vitest watch","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit"},"_id":"@astralweb/nova-line-pay@1.1.1","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"_integrity":"sha512-LEQRCUSMwdSoh2D7afdl947f3bfpSV+N1WquRPHJJVYpVNxpnVpjAErZTdx9sclTOgnn2rKOoe9stdJ/2lXLyA==","_resolved":"/tmp/8f07b2307eafdf089b0a02ca4961effe/astralweb-nova-line-pay-1.1.1.tgz","_from":"file:astralweb-nova-line-pay-1.1.1.tgz","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-LEQRCUSMwdSoh2D7afdl947f3bfpSV+N1WquRPHJJVYpVNxpnVpjAErZTdx9sclTOgnn2rKOoe9stdJ/2lXLyA==","shasum":"8285d7e1f77d01004ff0b240d440d63c6315d826","tarball":"https://registry.npmjs.org/@astralweb/nova-line-pay/-/nova-line-pay-1.1.1.tgz","fileCount":23,"unpackedSize":27262,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCbstodDZkkyfGEdoHmiCrif8QEIF4+/D04akT3l6eHsQIhAOx7ZkhKWiO7lbT/utZ4BY7baOKOHAUrkepiinoBk2oU"}]},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"directories":{},"maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nova-line-pay_1.1.1_1772087973929_0.4047858226966057"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-16T07:48:20.722Z","modified":"2026-02-26T06:39:34.243Z","0.0.1":"2025-10-16T07:48:20.992Z","0.0.2":"2025-10-16T08:34:51.320Z","0.0.3":"2025-10-16T10:02:59.347Z","0.0.4":"2025-10-17T04:30:55.217Z","0.0.5":"2025-10-17T04:47:30.906Z","1.0.0":"2025-10-17T07:01:25.927Z","1.0.1":"2025-10-21T08:37:22.694Z","1.0.2":"2025-11-28T04:44:49.183Z","1.1.0":"2025-12-15T10:41:55.951Z","1.1.1":"2026-02-26T06:39:34.083Z"},"bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"author":{"name":"Astral Web"},"license":"Proprietary","homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/line-pay","keywords":["line-pay","payment","taiwan"],"repository":{"type":"git","url":"git+https://github.com/AstralWebTW/nova-packages.git","directory":"packages/line-pay"},"description":"Line Pay integration module for Nova e-commerce platform (Internal Use Only)","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"readme":"# LINE Pay 整合模組使用指南\n\n> ⚠️ **內部使用套件** - 此套件僅供 Astral Web 內部使用，未經授權不得用於其他用途。\n\n## 概覽\n\nLINE Pay 整合模組為 Nuxt 應用程式提供完整的 LINE Pay 支付功能，包括支付請求、確認支付、取消支付及回調處理等功能。模組設計簡潔易用，支援 Vue Storefront 中介層整合，並提供完整的 TypeScript 型別支援。\n\n## 系統需求\n\n- Node.js >= 20.0.0\n- Nuxt >= 3.0.0 或 4.0.0\n- Vue Storefront SDK >= 3.2.0\n- pnpm >= 10.0.0\n\n## 安裝與設定\n\n### 1. 安裝套件\n\n#### 在 apps/web 和 apps/server 安裝\n\n```bash\nyarn add @astralweb/nova-line-pay\n```\n\n### 2. 註冊模組\n\n在 `nuxt.config.ts` 中註冊模組\n\n```typescript\n// apps/web/nuxt.config.ts\nexport default defineNuxtConfig({\n  modules: [\n    '@astralweb/nova-line-pay',\n  ],\n});\n```\n\n### 3. Middleware 擴充\n\n將 LINE Pay API 方法擴充到 Vue Storefront middleware\n\n```typescript\n// apps/server/extendApiMethods/index.ts\n\n// ... 略\nexport {\n  requestLinePayPayment,\n  confirmLinePayPayment,\n  cancelLinePayPayment,\n} from '@astralweb/nova-line-pay/api';\n```\n\n## 基本使用\n\n### 在結帳流程中使用\n\n```html\n<!-- CheckoutPageContent.vue -->\n<script setup lang=\"ts\">\nconst { requestLinePay } = useLinePay();\nconst handleLinePay = async () => {\n  const data = await placeOrderMutateAsync();\n  if (!data?.number) throw new Error('Order number not found');\n\n  const linePayData = await requestLinePay({ order_id: data.number });\n  localStorage.setItem('lastOrderNumber', data?.number);\n  location.href = linePayData.payment_url;\n};\n</script>\n```\n\n### 重新付款\n\n```html\n<!-- OrderDetailPageContent.vue -->\n<script setup lang=\"ts\">\nconst { requestLinePay } = useLinePay();\nconst handleLinePayRepay = async () => {\n  const linePayData = await requestLinePay({ order_id: number.vue });\n  localStorage.setItem('lastOrderNumber', number.vue);\n  location.href = linePayData.payment_url;\n}\n</script>\n```\n\n## Composables API\n\n### useLinePay\n\nLINE Pay 支付的主要 composable，自動註冊可直接使用。\n\n```typescript\nconst { requestLinePay, confirmLinePay, cancelLinePay } = useLinePay();\n```\n\n#### 返回值\n\n| 名稱 | 類型 | 說明 |\n| --- | --- | --- |\n| `requestLinePay` | `Function` | 請求 LINE Pay 支付的非同步函數 |\n| `confirmLinePay` | `Function` | 確認 LINE Pay 支付的非同步函數 (Server-side) |\n| `cancelLinePay` | `Function` | 取消 LINE Pay 支付的非同步函數 (Server-side) |\n\n---\n\n#### requestLinePay\n\n請求 LINE Pay 支付\n\n```typescript\nconst linePayData = await requestLinePay({ order_id: 'ORDER_ID' });\n```\n\n**參數：**\n\n| 參數名稱 | 類型 | Required | 說明 |\n| --- | --- | --- | --- |\n| `order_id` | `string` | Yes | 訂單 ID |\n\n**返回值：**\n\n```typescript\n{\n  success: boolean;        // 請求是否成功\n  payment_url: string;     // LINE Pay 支付頁面 URL\n  error_message: string;   // 錯誤訊息（如果有）\n}\n```\n\n**錯誤處理：**\n- 當 GraphQL 回應包含錯誤時拋出錯誤\n- 當支付資料不存在時拋出錯誤\n- 當 `success` 為 `false` 時拋出錯誤並包含 `error_message`\n- 當 `payment_url` 不存在時拋出錯誤\n\n---\n\n#### confirmLinePay\n\n確認 LINE Pay 支付（僅用於 Server-side）\n\n> ⚠️ **注意：** 此方法僅能在伺服器端使用，因為需要存取 `RuntimeConfig` 和 `H3Event`。\n\n```typescript\nconst { confirmLinePay } = useLinePay();\n\n// 在 server route 中使用\nexport default defineEventHandler(async (event) => {\n  const config = useRuntimeConfig(event);\n  \n  await confirmLinePay(config, event, {\n    transaction_id: 'TRANSACTION_ID',\n    order_id: 'ORDER_ID'\n  });\n});\n```\n\n**參數：**\n\n| 參數名稱 | 類型 | Required | 說明 |\n| --- | --- | --- | --- |\n| `config` | `RuntimeConfig` | Yes | Nuxt Runtime Config |\n| `event` | `H3Event` | Yes | H3 Event 物件 |\n| `input` | `ConfirmLinePayPaymentInput` | Yes | 確認支付輸入參數 |\n| `input.transaction_id` | `string` | Yes | LINE Pay 交易 ID |\n| `input.order_id` | `string` | Yes | 訂單 ID |\n\n**返回值：**\n\n```typescript\n{\n  errors?: Array<{\n    message: string;  // 錯誤訊息\n    code: string;     // 錯誤代碼\n  }>;\n}\n```\n\n**錯誤處理：**\n- 當 GraphQL 回應包含錯誤時拋出錯誤\n- 當 `errors` 陣列不為空時拋出錯誤並包含錯誤訊息\n\n---\n\n#### cancelLinePay\n\n取消 LINE Pay 支付（僅用於 Server-side）\n\n> ⚠️ **注意：** 此方法僅能在伺服器端使用，因為需要存取 `RuntimeConfig` 和 `H3Event`。\n\n```typescript\nconst { cancelLinePay } = useLinePay();\n\n// 在 server route 中使用\nexport default defineEventHandler(async (event) => {\n  const config = useRuntimeConfig(event);\n  \n  await cancelLinePay(config, event, {\n    order_id: 'ORDER_ID'\n  });\n});\n```\n\n**參數：**\n\n| 參數名稱 | 類型 | Required | 說明 |\n| --- | --- | --- | --- |\n| `config` | `RuntimeConfig` | Yes | Nuxt Runtime Config |\n| `event` | `H3Event` | Yes | H3 Event 物件 |\n| `input` | `CancelLinePayPaymentInput` | Yes | 取消支付輸入參數 |\n| `input.order_id` | `string` | Yes | 訂單 ID |\n\n**返回值：**\n\n```typescript\n{\n  errors?: Array<{\n    message: string;  // 錯誤訊息\n    code: string;     // 錯誤代碼\n  }>;\n}\n```\n\n**錯誤處理：**\n- 當 GraphQL 回應包含錯誤時拋出錯誤\n- 當 `errors` 陣列不為空時拋出錯誤並包含錯誤訊息\n\n## Server Routes\n\n模組會自動註冊以下服務端路由來處理 LINE Pay 的回調：\n\n### GET /line_pay/payment/confirm\n\n處理 LINE Pay 支付成功的回調\n\n**Query 參數：**\n\n| 參數名稱 | 類型 | Required | 說明 |\n| --- | --- | --- | --- |\n| `transactionId` | `string` | Yes | LINE Pay 交易 ID |\n| `orderId` | `string` | Yes | 訂單 ID |\n\n**行為：**\n1. 接收 LINE Pay 回調參數\n2. 調用 `confirmLinePay` 方法通知後端確認支付\n3. 重定向到成功頁面\n   - 預設路徑：`/order/success`\n   - 多語系支援：`/{locale}/order/success`（需要 `multiLocales` 設定）\n\n**錯誤處理：**\n- 即使確認失敗，仍會重定向到成功頁面\n- 錯誤會記錄在 console\n\n**自訂回調邏輯：**\n\n如需自訂回調處理邏輯，可在專案中創建同名路由檔案來覆蓋預設行為：\n\n```typescript\n// apps/web/server/routes/line_pay/payment/confirm.get.ts\nexport default defineEventHandler(async (event) => {\n  const query = getQuery(event);\n  const { transactionId, orderId } = query;\n  \n  // 自訂邏輯\n  console.log('LINE Pay confirmed:', { transactionId, orderId });\n  \n  // 自訂重定向\n  return sendRedirect(event, '/custom-success-page');\n});\n```\n\n---\n\n### GET /line_pay/payment/cancel\n\n處理 LINE Pay 支付取消的回調\n\n**Query 參數：**\n\n| 參數名稱 | 類型 | Required | 說明 |\n| --- | --- | --- | --- |\n| `orderId` | `string` | Yes | 訂單 ID |\n\n**行為：**\n1. 接收 LINE Pay 回調參數\n2. 調用 `cancelLinePay` 方法通知後端支付失敗\n3. 重定向到失敗頁面\n   - 預設路徑：`/order/failed`\n   - 多語系支援：`/{locale}/order/failed`（需要 `multiLocales` 設定）\n\n**錯誤處理：**\n- 即使取消失敗，仍會重定向到失敗頁面\n- 錯誤會記錄在 console\n\n**自訂回調邏輯：**\n\n如需自訂回調處理邏輯，可在專案中創建同名路由檔案來覆蓋預設行為：\n\n```typescript\n// apps/web/server/routes/line_pay/payment/cancel.get.ts\nexport default defineEventHandler(async (event) => {\n  const query = getQuery(event);\n  const { orderId } = query;\n  \n  // 自訂邏輯\n  console.log('LINE Pay cancelled:', { orderId });\n  \n  // 自訂重定向\n  return sendRedirect(event, '/custom-failed-page');\n});\n```\n\n## 類型定義\n\n模組提供完整的 TypeScript 型別定義，可從 `@astralweb/nova-line-pay/types` 匯入：\n\n```typescript\nimport type {\n  RequestLinePayPaymentInput,\n  RequestLinePayPaymentOutput,\n  ConfirmLinePayPaymentInput,\n  ConfirmLinePayPaymentOutput,\n  CancelLinePayPaymentInput,\n  CancelLinePayPaymentOutput,\n  LinePayPaymentMutationError,\n} from '@astralweb/nova-line-pay/types';\n```\n\n---\n\n### RequestLinePayPaymentInput\n\n請求支付的輸入參數\n\n```typescript\ninterface RequestLinePayPaymentInput {\n  order_id: string;  // 訂單 ID\n}\n```\n\n---\n\n### RequestLinePayPaymentOutput\n\n請求支付的回應\n\n```typescript\ninterface RequestLinePayPaymentOutput {\n  requestLinePayPayment: {\n    success: boolean;          // 請求是否成功\n    payment_url: string;        // LINE Pay 支付頁面 URL\n    error_message: string;      // 錯誤訊息（如果有）\n  };\n}\n```\n\n---\n\n### ConfirmLinePayPaymentInput\n\n確認支付的輸入參數\n\n```typescript\ninterface ConfirmLinePayPaymentInput {\n  transaction_id: string;  // LINE Pay 交易 ID\n  order_id: string;        // 訂單 ID\n}\n```\n\n---\n\n### ConfirmLinePayPaymentOutput\n\n確認支付的回應\n\n```typescript\ninterface ConfirmLinePayPaymentOutput {\n  confirmLinePayPayment: {\n    errors: LinePayPaymentMutationError[];  // 錯誤陣列（如果有）\n  };\n}\n```\n\n---\n\n### CancelLinePayPaymentInput\n\n取消支付的輸入參數\n\n```typescript\ninterface CancelLinePayPaymentInput {\n  order_id: string;  // 訂單 ID\n}\n```\n\n---\n\n### CancelLinePayPaymentOutput\n\n取消支付的回應\n\n```typescript\ninterface CancelLinePayPaymentOutput {\n  cancelLinePayPayment: {\n    errors: LinePayPaymentMutationError[];  // 錯誤陣列（如果有）\n  };\n}\n```\n\n---\n\n### LinePayPaymentMutationError\n\nLINE Pay 支付錯誤物件\n\n```typescript\ninterface LinePayPaymentMutationError {\n  message: string;  // 錯誤訊息\n  code: string;     // 錯誤代碼\n}\n```\n\n## 注意事項\n\n### 多語系支援\n\n模組會自動檢測 `multiLocales` 設定和 `i18n_redirected` cookie 來決定重定向路徑：\n\n```typescript\n// nuxt.config.ts\nexport default defineNuxtConfig({\n  runtimeConfig: {\n    public: {\n      multiLocales: true,  // 啟用多語系路徑支援\n    }\n  }\n});\n```\n\n當啟用多語系時，回調重定向路徑會包含語系前綴：\n- 成功：`/{locale}/order/success`\n- 失敗：`/{locale}/order/failed`\n\n### Middleware URL 映射\n\n模組會自動根據當前請求的來源來決定 middleware URL：\n\n1. 從 `middlewareApiUrlMapping` 設定中查找對應的 URL\n2. 如果找不到，使用預設值 `http://localhost:4000`\n\n```typescript\n// nuxt.config.ts\nexport default defineNuxtConfig({\n  runtimeConfig: {\n    public: {\n      middlewareApiUrlMapping: {\n        'https://example.com': 'https://middleware.example.com',\n        'https://staging.example.com': 'https://middleware-staging.example.com',\n      }\n    }\n  }\n});\n```\n\n## 授權聲明\n\n此套件僅供 Astral Web 內部使用，未經授權不得用於其他用途。\n","readmeFilename":"README.md"}