erio
db264c4a12
feat(payment): add per-provider allow_user_refund control
- Add allow_user_refund field to payment_provider_instances (migration 103)
- Backend: validateRefundRequest checks allow_user_refund for user requests
- Backend: PrepareRefund checks refund_enabled for admin refunds
- Legacy orders (no provider_instance_id) default to blocking refund
- Cascade: disabling refund_enabled auto-disables allow_user_refund
- Frontend: ProviderCard/Dialog show allow_user_refund toggle when refund_enabled
- Frontend: UserOrdersView checks eligible providers before showing refund button
- New API: GET /payment/orders/refund-eligible-providers
2026-04-12 21:38:34 +08:00
..
2026-03-06 05:07:10 +08:00
2025-12-29 10:03:27 +08:00
2026-03-07 15:06:13 +08:00
2026-02-02 22:13:50 +08:00
2026-03-03 15:01:10 +08:00
2025-12-29 10:03:27 +08:00
2026-02-10 11:42:39 +08:00
2026-04-09 12:29:28 +08:00
2026-04-05 16:39:24 +08:00
2026-02-28 15:01:20 +08:00
2026-04-08 00:37:14 +08:00
2026-04-12 21:38:34 +08:00
2026-04-05 15:06:05 +08:00
2026-04-09 13:09:27 +08:00
2026-04-12 21:38:34 +08:00
2026-04-08 00:37:14 +08:00
2026-01-10 13:14:35 +08:00
2026-01-10 13:14:35 +08:00
2025-12-31 14:11:57 +08:00
2025-12-29 10:03:27 +08:00
2026-04-12 21:38:34 +08:00
2026-04-12 21:38:34 +08:00
2026-02-12 11:41:20 +08:00
2025-12-31 15:31:26 +08:00
2026-04-05 15:06:05 +08:00
2026-03-27 14:33:05 +08:00
2026-02-02 22:13:50 +08:00
2026-04-05 17:19:07 +08:00
2026-04-12 13:53:02 +08:00
2025-12-29 10:03:27 +08:00
2026-01-01 18:58:34 +08:00
2026-01-01 18:58:34 +08:00
2025-12-31 14:11:57 +08:00
2026-03-06 05:07:10 +08:00
2025-12-29 10:03:27 +08:00
2026-01-10 13:14:35 +08:00
2026-03-06 05:07:10 +08:00
2026-03-06 05:07:10 +08:00
2025-12-29 10:03:27 +08:00
2025-12-29 10:03:27 +08:00
2026-01-10 13:14:35 +08:00
2025-12-29 10:03:27 +08:00
2025-12-29 10:03:27 +08:00
2026-03-07 15:06:13 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-03-07 15:06:13 +08:00
2026-03-07 15:06:13 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-03-03 15:01:10 +08:00
2026-01-04 19:28:20 +08:00
2026-01-10 13:14:35 +08:00
2026-03-03 15:01:10 +08:00
2026-03-03 15:01:10 +08:00
2026-04-08 00:37:14 +08:00
2026-01-03 06:37:08 -08:00
2026-04-05 16:39:24 +08:00
2026-02-10 11:42:39 +08:00
2026-02-05 21:52:54 +08:00
2026-02-05 21:52:54 +08:00
2026-02-10 11:42:39 +08:00
2026-02-10 11:42:39 +08:00
2026-01-10 13:14:35 +08:00
2026-04-09 12:29:28 +08:00
2025-12-29 10:03:27 +08:00
2026-01-10 13:14:35 +08:00
2026-04-09 12:29:28 +08:00
2026-04-11 18:41:54 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-04-12 21:38:34 +08:00
2026-04-05 15:06:05 +08:00
2026-04-05 15:06:05 +08:00
2026-04-05 15:06:05 +08:00
2026-04-05 15:06:05 +08:00
2026-04-05 15:06:05 +08:00
2026-04-09 13:09:27 +08:00
2026-04-05 15:06:05 +08:00
2026-04-05 15:06:05 +08:00
2026-04-09 13:09:27 +08:00
2026-04-09 13:09:27 +08:00
2026-04-12 21:38:34 +08:00
2026-04-05 15:06:05 +08:00
2026-04-05 15:06:05 +08:00
2026-04-12 21:38:34 +08:00
2026-04-12 21:38:34 +08:00
2026-01-10 13:14:35 +08:00
2026-01-10 13:14:35 +08:00
2026-01-10 13:14:35 +08:00
2026-01-10 13:14:35 +08:00
2026-01-10 13:14:35 +08:00
2026-01-10 13:14:35 +08:00
2026-01-10 13:14:35 +08:00
2026-01-10 13:14:35 +08:00
2026-01-10 13:14:35 +08:00
2026-01-10 13:14:35 +08:00
2025-12-31 14:11:57 +08:00
2025-12-29 10:03:27 +08:00
2026-01-10 13:14:35 +08:00
2025-12-31 14:11:57 +08:00
2025-12-31 14:11:57 +08:00
2025-12-29 10:03:27 +08:00
2025-12-29 10:03:27 +08:00
2026-01-10 13:14:35 +08:00
2025-12-29 10:03:27 +08:00
2025-12-29 10:03:27 +08:00
2025-12-29 10:03:27 +08:00
2026-02-12 11:41:20 +08:00
2026-02-12 11:41:20 +08:00
2026-02-12 11:41:20 +08:00
2026-02-12 11:41:20 +08:00
2026-02-12 11:41:20 +08:00
2025-12-31 15:31:26 +08:00
2025-12-29 10:03:27 +08:00
2026-01-10 13:14:35 +08:00
2025-12-31 15:31:26 +08:00
2025-12-29 10:03:27 +08:00
2026-04-05 15:06:05 +08:00
2026-04-05 15:06:05 +08:00
2026-04-05 15:06:05 +08:00
2026-04-05 15:06:05 +08:00
2026-04-05 15:06:05 +08:00
2026-03-27 14:33:05 +08:00
2026-03-27 14:33:05 +08:00
2026-03-27 14:33:05 +08:00
2026-03-27 14:33:05 +08:00
2026-03-27 14:33:05 +08:00
2026-04-05 16:39:24 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-04-05 17:19:07 +08:00
2025-12-31 14:11:57 +08:00
2026-01-10 13:14:35 +08:00
2026-04-05 17:19:07 +08:00
2026-04-05 17:19:07 +08:00
2026-04-12 13:53:02 +08:00
2025-12-29 10:03:27 +08:00
2026-04-05 15:06:05 +08:00
2026-04-12 13:53:02 +08:00
2026-04-12 13:53:02 +08:00
2025-12-29 10:03:27 +08:00
2025-12-29 10:03:27 +08:00
2026-01-10 13:14:35 +08:00
2025-12-29 10:03:27 +08:00
2025-12-29 10:03:27 +08:00
2026-01-01 18:58:34 +08:00
2026-01-01 18:58:34 +08:00
2026-01-10 13:14:35 +08:00
2026-01-01 18:58:34 +08:00
2026-01-01 18:58:34 +08:00
2026-01-01 18:58:34 +08:00
2026-01-01 18:58:34 +08:00
2026-01-10 13:14:35 +08:00
2026-01-01 18:58:34 +08:00
2026-01-01 18:58:34 +08:00
2025-12-31 14:11:57 +08:00
2025-12-29 10:03:27 +08:00
2026-01-10 13:14:35 +08:00
2025-12-31 14:11:57 +08:00
2025-12-31 14:11:57 +08:00