refactor(billing): remove Stripe; payments are Payple (web) and Google Play (mobile)
Some checks failed
ci / 정본·보안·린트·타입·테스트 (push) Failing after 1m13s
ci / 워크스페이스 빌드 검증 (push) Has been skipped
ci / 모바일 린트·타입·Jest (push) Failing after 1m4s
ci / Supabase Edge Functions + Cloudflare Worker (push) Successful in 37s
ci / .NET API 서버 테스트 (push) Successful in 27s
deploy-site / deploy (push) Failing after 20s
Some checks failed
ci / 정본·보안·린트·타입·테스트 (push) Failing after 1m13s
ci / 워크스페이스 빌드 검증 (push) Has been skipped
ci / 모바일 린트·타입·Jest (push) Failing after 1m4s
ci / Supabase Edge Functions + Cloudflare Worker (push) Successful in 37s
ci / .NET API 서버 테스트 (push) Successful in 27s
deploy-site / deploy (push) Failing after 20s
Stripe is not used. Keeping its checkout, portal and webhook paths meant a
second payment provider, a second return-URL format and dead UI.
- Delete the stripe-checkout, stripe-portal and stripe-webhook functions and
their config; billing-catalog serves Payple prices only, and the web parser
rejects a catalog that still mixes in Stripe prices.
- Web: drop the Stripe checkout/portal buttons, provider toggle and return
notices; billing shows Payple only. Past rows with provider='stripe' are
still displayed ("Stripe (종료)") with a support contact instead of a portal.
- Desktop: delete the Stripe checkout modal, payment IPC channels, preload
namespace and their types; "Remove ads with Pro" opens the web billing page
via license.openBilling. Support/refund copy names Payple.
- billingUrl() loses the Stripe-only success/canceled result option; the
Deno contract is regenerated.
- Migrations and the DB's accepted provider values are untouched (history).
- Docs and the backlog record the removal (MON-04, EXT-STRIPE-01, GAP-BILL-03).
Verified: typecheck (desktop/web/admin/api-client/mobile), contract:check,
deno check all functions, deno test 80/80, desktop 1478/1480 on the Electron
runtime (2 known environment failures), web and admin builds, release
metadata and mobile boundary self-tests, eslint on changed files.
This commit is contained in:
parent
7224e43bfb
commit
eedd127ea7
50 changed files with 97 additions and 2600 deletions
|
|
@ -31,7 +31,7 @@ Root layout: `ThemeProvider → I18nProvider → AuthProvider`.
|
|||
| `(app)/dictionary` | client | Pronunciation dictionary CRUD |
|
||||
| `(app)/history` | client | History list: search, favorites, pagination, copy/delete |
|
||||
| `(app)/history/[id]` | client | History detail: edit title/original/polished, favorite, delete |
|
||||
| `(app)/billing` | client | Plans + Payple/Stripe checkout, manage/portal |
|
||||
| `(app)/billing` | client | Plans + Payple checkout/manage (Stripe removed 2026-09-26; legacy `provider='stripe'` rows shown read-only) |
|
||||
|
||||
`(app)/layout.tsx` is the auth guard + shared `<Sidebar/>`.
|
||||
|
||||
|
|
@ -44,7 +44,7 @@ Root layout: `ThemeProvider → I18nProvider → AuthProvider`.
|
|||
| `actions/` | `action-runner.tsx` (LLM parse → action: create_meeting/search_knowledge/create_memo/send_team_invite) |
|
||||
| `record/` | `mic-recorder.tsx` (MediaRecorder + level analyser → `transcribeWebAudio`) |
|
||||
| `dashboard/` | `meetings-trend-chart.tsx` (recharts) |
|
||||
| `billing/` | `billing-checkout-options`, `checkout-button` (Stripe), `payple-checkout-button`, `payple-client`, `payple-manage-button`, `portal-button` |
|
||||
| `billing/` | `billing-checkout-options`, `payple-checkout-button`, `payple-client`, `payple-manage-button` |
|
||||
| `meetings/` | `document-editor`, `generate-document-button`, `live-transcript-list` (Realtime), `markdown-preview` (Mermaid), `meeting-audio-player` (signed URL), `memo-form` |
|
||||
| `chat/` | `chat-panel.tsx` |
|
||||
| `teams/` | `create-team-form`, `invite-member-form`, `activity-feed` (team notes + realtime) |
|
||||
|
|
@ -58,7 +58,7 @@ Root layout: `ThemeProvider → I18nProvider → AuthProvider`.
|
|||
|
||||
| File | Purpose |
|
||||
|---|---|
|
||||
| `billing-catalog.ts` | Parse/validate billing catalog (schema v1, pro/pro_plus, Payple/Stripe prices) |
|
||||
| `billing-catalog.ts` | Parse/validate billing catalog (schema v1, pro/pro_plus, Payple KRW prices only) |
|
||||
| `command-client.ts` | Custom instruction client (types, error codes, execute) |
|
||||
| `dashboard-client.ts` | Dashboard snapshot loader |
|
||||
| `dictionary-client.ts` | Dictionary CRUD/pagination/search + `serializeDictionary` / `parseDictionaryFile` / `importDictionaryFile` (JSON/CSV) |
|
||||
|
|
@ -78,7 +78,7 @@ Playwright specs in `apps/web/e2e/`: billing, payple-checkout, dashboard-diction
|
|||
## 5. Web status summary
|
||||
|
||||
- Full App Router console: auth (email + OAuth), record/STT, history (list+detail), commands, actions, meetings (list+detail+docs), knowledge (add+search), teams (list+detail+invite), chat, dictionary, billing, download/releases.
|
||||
- Backed by Supabase tables + Edge Functions (`stt-proxy`, `llm-proxy`, `team-invite`, `team-accept`, `stripe-checkout`, `payple-checkout`, `payple-manage`, `search-knowledge`, `generate-meeting-document`).
|
||||
- Backed by Supabase tables + Edge Functions (`stt-proxy`, `llm-proxy`, `team-invite`, `team-accept`, `payple-checkout`, `payple-manage`, `search-knowledge`, `generate-meeting-document`).
|
||||
- No literal `TODO`/`FIXME` markers; remaining smaller items (see [`11-gap-backlog.md`](./11-gap-backlog.md) `WEB-*`):
|
||||
- Teams `member_count` is `0` in MVP (separate query needed) — `teams/page.tsx`.
|
||||
- Action runner team-invite uses a manual redirect safety path instead of a live invite (`action-runner.tsx`).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue