erio
862f1c846b
fix: parseTypes handles array input defensively (prevents .split crash)
2026-04-07 02:34:58 +08:00
erio
49c683de62
fix: convert payment_enabled_types array→string before Object.assign to prevent .split() crash
2026-04-07 02:26:35 +08:00
erio
627d15f79c
fix(i18n): add missing common.saved and common.deleted keys
2026-04-07 02:22:17 +08:00
erio
626da67801
fix: SettingsForm type uses Omit for payment_enabled_types string vs string[]
2026-04-07 02:15:50 +08:00
erio
5c5c4e232c
fix: add payment fields to frontend SystemSettings type
2026-04-07 02:14:26 +08:00
erio
21b76c7b0c
feat(payment): integrate payment config into system settings API
...
- Backend: payment fields added to GET/PUT /admin/settings (full replace)
- Frontend: single API call for all settings (no separate payment config API)
- Payment page: show "充值未开放" when no payment methods available
- Pending order check when disabling provider
2026-04-07 02:12:34 +08:00
erio
d02f8a3e2f
fix(payment): structured error responses + disable provider card hint overlay
...
- Backend: PENDING_ORDERS error uses reason+metadata per CLAUDE.md spec
- Block disabling provider when it has pending orders
- ProviderCard: remove bottom hint area, use opacity + title tooltip instead
2026-04-07 01:49:45 +08:00
erio
757396d1c0
fix: use Record<string, unknown> for plan create/update API params
2026-04-07 01:38:03 +08:00
erio
756cd2bad4
fix: plan API accepts features as string, fix TypeScript types
2026-04-07 01:36:45 +08:00
erio
bb187fc701
fix(payment): send features as string not array when creating/updating plan
2026-04-07 01:35:18 +08:00
erio
f3ea2f9f55
fix(payment): 0 means no limit, not a default value
...
- min/max/daily = 0 means no limit (no enforcement)
- Quick amounts: show all when no limit set
- Amount validation: skip check when limit is 0
- Placeholder: adaptive (shows range, ≥min, ≤max, or "输入金额")
2026-04-07 01:27:44 +08:00
erio
06b844851f
fix(payment): empty global min/max/daily displays correctly as empty
...
- Backend returns 0 for unset min/max/daily (not filled defaults)
- Frontend form: 0 displays as empty with placeholder "留空表示不限制"
- Save: empty → 0 → backend stores "" → returns 0 on next load
- Payment page: 0 fallback to sensible defaults (min=1, max=unlimited)
2026-04-07 01:21:54 +08:00
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