Commit Graph
524 Commits
Author SHA1 Message Date
erio ac00a0aeb3 fix(payment): full-replace config update + fix min/max defaults
- Payment config update is now full-replace (not patch): all fields sent every time
- 0 values for min/max/daily = clear (use default: min=1, max=unlimited)
- Payment page: provider-level limits override global, proper fallback chain
- Fix quick amounts disappearing when global min/max is empty
2026-04-07 01:11:20 +08:00
erio 6147e4c0ed fix(payment): return actual decrypted config values instead of masking
Admin API is authenticated; frontend handles visual masking via password
inputs + eye toggle. This allows the eye icon to reveal actual values.
2026-04-07 01:03:53 +08:00
erio ed03fbf7ba fix: add help_image_url/help_text to AdminPaymentConfig TypeScript types 2026-04-07 00:57:00 +08:00
erio a481724140 fix(payment): add missing help_image_url/help_text fields + fix config merge on update
- Add help_image_url and help_text to PaymentConfig, UpdateRequest, read/write logic
- Add these fields to frontend paymentPayload save and load
- Fix provider config update: merge new config with existing (preserves sensitive
  fields that frontend skips as ••••••••, prevents data loss on edit)
2026-04-07 00:55:13 +08:00
erio 8648950f44 fix(payment): card/link are Stripe sub-methods, not top-level providers
- Remove card/link from global allPaymentTypes (they belong inside Stripe provider)
- Resolve i18n labels for Stripe sub-methods in provider dialog and card
2026-04-07 00:46:11 +08:00
erio f906b5f1f3 feat(payment): add Link payment method for Stripe
- Add TypeLink payment type
- Stripe provider now supports card/alipay/wxpay/link
- Add Link i18n labels and PaymentMethodSelector styles
2026-04-07 00:32:25 +08:00
erio 55b526582b feat(payment): Stripe multi-method support + card type + hide single-type selector
- Add TypeCard payment type for bank card payments
- Stripe provider now supports card/alipay/wxpay payment methods
- Map payment types to Stripe payment_method_types (card, alipay, wechat_pay)
- Hide supported types selector for single-type providers (alipay/wxpay official)
- Add card i18n labels and PaymentMethodSelector styles
2026-04-07 00:23:54 +08:00
erio ec88ca6c57 fix(payment): add placeholder hint on per-provider limit inputs 2026-04-07 00:01:45 +08:00
erio b1a8252f25 feat(payment): independent callback URLs + sensitive field visibility toggle
- Split callback URLs into two independent inputs (notify/return each with own base URL + fixed path)
- Add eye icon toggle for sensitive fields (PKey etc.) to reveal/hide values
- Bump version to 0.1.108.35
2026-04-06 23:58:16 +08:00
erio adb6e64b5b chore: bump version to 0.1.108.34 2026-04-06 23:30:57 +08:00
erio 343b539261 chore: bump version to 0.1.108.33 2026-04-06 23:15:32 +08:00
erio 58e2c42754 chore: bump version to 0.1.108.32 2026-04-06 23:02:34 +08:00
erio a1d2babd7d chore: bump version to 0.1.108.31 2026-04-06 22:54:17 +08:00
erio d1fdb05d54 chore: bump version to 0.1.108.30 2026-04-06 22:34:27 +08:00
erio 072297fd08 chore: bump version to 0.1.108.29 2026-04-06 22:09:17 +08:00
erio c5864f5c19 chore: bump version to 0.1.108.28 2026-04-06 21:50:54 +08:00
erio 30943a9701 chore: bump version to 0.1.108.27 2026-04-06 21:37:46 +08:00
erio 4a10a31b34 chore: bump version to 0.1.108.26 2026-04-06 21:18:12 +08:00
erio 4e54d95645 chore: bump version to 0.1.108.25 2026-04-06 20:58:02 +08:00
erio 76193ee3c9 chore: bump version to 0.1.108.24 2026-04-06 20:12:45 +08:00
erio 9f98284382 chore: bump version to 0.1.108.23 2026-04-06 20:06:39 +08:00
erio 2cb9d73fa5 chore: bump version to 0.1.108.22 2026-04-06 19:57:42 +08:00
erio fc6514c18b chore: bump version to 0.1.108.21 2026-04-06 19:43:50 +08:00
erio 3ba667d5c0 chore: bump version to 0.1.108.20 2026-04-06 19:31:26 +08:00
erio b0025ed25d chore: bump version to 0.1.108.19 2026-04-06 19:04:01 +08:00
erio b7367c5b31 chore: bump version to 0.1.108.18 2026-04-06 18:28:17 +08:00
erio f8a07d59c4 chore: bump version to 0.1.108.17 2026-04-06 18:15:15 +08:00
erio f90d0f86fd chore: bump version to 0.1.108.16 2026-04-06 18:06:36 +08:00
erio d68479d4af chore: bump version to 0.1.108.15 2026-04-06 17:51:07 +08:00
erio c577595f50 chore: bump version to 0.1.108.14 2026-04-06 17:40:05 +08:00
erio 5f64f744de chore: bump version to 0.1.108.13 2026-04-06 17:16:59 +08:00
erio 86204170d9 chore: bump version to 0.1.108.12 2026-04-06 16:44:21 +08:00
erio d25669ab52 chore: bump version to 0.1.108.11 2026-04-06 16:19:19 +08:00
erio 9b8317fc66 chore: bump version to 0.1.108.10 2026-04-06 16:04:20 +08:00
erio 1984a19285 chore: bump version to 0.1.108.9 2026-04-06 15:37:39 +08:00
erio f72f79f48f chore: bump version to 0.1.108.8 2026-04-06 15:21:25 +08:00
erio 329d3445fa chore: bump version to 0.1.108.7 2026-04-06 15:03:19 +08:00
erio fdc9c6d8b8 chore: bump version to 0.1.108.6 2026-04-06 14:52:16 +08:00
erio 22a3931984 chore: bump version to 0.1.108.5 2026-04-06 14:40:53 +08:00
erio fa00ad06d2 chore: bump version to 0.1.108.4 2026-04-06 14:27:10 +08:00
erio 485b843637 fix: add PaymentOrderExpiryService param to provideCleanup test 2026-04-06 02:17:42 +08:00
erio 7a77ab2d09 chore: bump version to 0.1.108.3 2026-04-06 02:12:39 +08:00
erio c69929bbb7 Merge feature/payment into release/custom-0.1.108
集成支付系统(EasyPay、Alipay、WxPay、Stripe),包含完整的订单管理、
Webhook 回调、管理后台仪表盘和用户充值/订阅流程。
2026-04-06 00:53:57 +08:00
erio cb56b96cd1 chore: bump version to 0.1.108.2 2026-04-06 00:00:31 +08:00
erio db6413039a Merge tag 'v0.1.108' into release/custom-0.1.108
彻底移除 Sora 平台功能,精简代码库约 24000 行;修复渠道平台定价隔离问题。

- 完全移除 Sora 平台:删除所有 Sora 相关的后端服务、前端组件、数据库 Schema 和 ent 代码
- 移除 Sora 相关的 S3 存储、媒体管理、配额管理、生成服务等模块
- 清理前端 Sora 视图、组件、composables、API 调用和国际化文本
- 移除 Sora OAuth 选项,简化 OpenAI OAuth 流程
- 更新 antigravity User-Agent 版本号至 1.21.9

- 修复 antigravity 分组错误匹配其他平台(anthropic/gemini)定价和模型映射的问题
- 修复渠道未映射模型时 BillingModel 被错误还原导致零计费的问题

# Conflicts:
#	backend/cmd/server/VERSION
#	backend/cmd/server/wire_gen.go
#	backend/ent/group.go
#	backend/ent/mutation.go
#	backend/ent/runtime/runtime.go
#	backend/ent/schema/group.go
#	backend/internal/handler/admin/channel_handler.go
#	backend/internal/handler/admin/channel_handler_test.go
#	backend/internal/handler/gateway_handler.go
#	backend/internal/pkg/antigravity/stream_transformer.go
#	backend/internal/server/api_contract_test.go
#	backend/internal/service/billing_service.go
#	backend/internal/service/channel_service.go
#	backend/internal/service/channel_service_test.go
#	backend/internal/service/gateway_service.go
#	backend/internal/service/openai_account_scheduler.go
#	backend/internal/service/openai_gateway_chat_completions.go
#	backend/internal/service/openai_gateway_service.go
#	backend/internal/service/openai_oauth_service.go
2026-04-05 23:11:04 +08:00
erio aa151ef0e1 fix: resolve all audit findings — registry init, expiry task, dashboard, i18n, stripe
C1: Add EnsureProviders() lazy initialization to populate Registry
    from PaymentProviderInstance DB rows at first use
C2: Delete stale payment/provider_factory.go dead code
C3: Add PaymentOrderExpiryService background ticker (60s interval)
C4: Expand DashboardStats with daily_series, payment_methods, top_users
C5+C6: Add 152 payment i18n keys (en + zh) for admin and settings pages
C7: Fix Stripe global key race — use per-instance client.API
I1: Remove old purchase_subscription_enabled/url from settings form
I2: Add MigrateLegacyPurchaseURL to auto-convert old URL to custom menu
I3: Add migration 092 no-op placeholder for numbering continuity
2026-04-05 18:32:24 +08:00
erio c6089ccb33 fix: remove Sora DI from wire_gen.go and clean remaining upstream Sora references 2026-04-05 17:50:01 +08:00
erio 62e80c602d revert: completely remove all Sora functionality 2026-04-05 17:11:01 +08:00
erio 8cb2409ea5 refactor: remove PaymentChannel, reuse upstream Channel with features field
- Delete payment_channels table and PaymentChannel Ent schema
- Add `features` column to upstream channels table (migration 095)
- Add Features field to Channel struct, input types, handler request/response
- Payment user/admin handlers now use ChannelService directly
- Remove Channel CRUD from PaymentConfigService and admin payment routes
- Remove "渠道管理" tab from admin orders page (use /admin/channels)
2026-04-05 16:39:24 +08:00
erio 64c4495ae5 feat: integrate payment system (EasyPay, Alipay, WxPay, Stripe)
Replace iframe-based external payment with native implementation:

Backend (Go):
- 5 new Ent schemas: PaymentOrder, PaymentAuditLog, PaymentChannel,
  SubscriptionPlan, PaymentProviderInstance
- 5 SQL migrations (090-094)
- Payment provider interface + registry + load balancer
- 4 provider implementations (EasyPay, Alipay, WxPay, Stripe)
- PaymentService (order lifecycle, fulfillment, refund 3-phase)
- PaymentConfigService (settings, instance/channel/plan CRUD)
- 31 API endpoints (9 user + 4 webhook + 18 admin)
- Wire DI integration

Frontend (Vue3):
- Payment types, API modules, store, router changes
- Sidebar: payment_enabled controls visibility, new menu items
- User pages: PaymentView (replace iframe), QR payment, Stripe,
  result page, order list
- Admin pages: Order management (4 tabs), provider instance mgmt
- Settings: new payment tab, removed old purchase iframe config
- i18n: full payment namespace (en + zh)

Docs:
- PAYMENT_FRONTEND_MIGRATION_PLAN.md
- PAYMENT_BACKEND_MIGRATION_PLAN.md
- PAYMENT_IMPLEMENTATION_ROADMAP.md
2026-04-05 15:06:05 +08:00