shaw
d56e94b875
feat(payment): 订阅 CNY 换算改为独立汇率配置的显式 opt-in
- 新增 SUBSCRIPTION_USD_TO_CNY_RATE 配置(1 USD = X CNY,默认 0=关闭),
替代复用 balance_recharge_multiplier 的隐式换算,促销倍率与订阅定价解耦
- 未配置汇率时订阅保持 price 直付的存量行为,存量部署升级零影响
- 前端确认页/原价/手续费/方式限额与后端换算条件严格镜像(rate>0 且币种为 CNY)
- 管理后台新增汇率配置输入(zh/en 文案),checkout-info 透出 subscription_usd_to_cny_rate
- 单测锁定:汇率未配置时不换算、换算使用汇率而非余额倍率、余额订单不受影响、返利仍按 USD price
2026-07-06 14:34:17 +08:00
..
2026-07-06 14:34:17 +08:00
2026-07-06 14:34:17 +08:00
2026-05-26 10:49:20 +08:00
2026-02-02 22:13:50 +08:00
2026-06-02 00:46:50 +08:00
2026-04-22 13:19:28 +08:00
2026-05-19 15:27:47 +08:00
2026-05-19 15:27:47 +08:00
2026-05-19 15:27:47 +08:00
2026-06-11 18:55:27 +08:00
2026-06-11 18:55:27 +08:00
2026-06-11 18:55:27 +08:00
2026-05-20 13:25:45 +08:00
2026-06-30 01:11:51 +08:00
2026-06-30 01:11:51 +08:00
2026-04-22 12:30:00 +08:00
2026-06-19 21:17:45 +08:00
2026-06-11 18:55:27 +08:00
2026-05-21 15:19:29 +08:00
2026-05-21 15:19:29 +08:00
2026-06-11 18:55:27 +08:00
2026-05-26 10:49:20 +08:00
2026-05-26 10:49:20 +08:00
2026-06-11 18:55:27 +08:00
2026-07-01 17:46:12 +08:00
2026-07-01 17:46:12 +08:00
2026-04-21 00:21:29 +08:00
2026-05-28 10:03:41 +00:00
2026-06-16 11:41:54 +08:00
2026-05-07 09:14:47 +08:00
2026-07-01 11:43:35 +08:00
2026-07-01 11:43:35 +08:00
2026-03-08 14:12:17 +08:00
2026-03-08 14:12:17 +08:00
2026-05-26 10:49:20 +08:00
2026-06-26 15:38:06 +08:00
2026-06-09 22:46:06 +08:00
2026-06-11 20:46:47 +08:00
2026-06-26 15:38:06 +08:00
2026-03-15 16:21:49 +08:00
2026-07-03 21:02:31 +08:00
2026-07-05 08:35:34 +08:00
2026-02-07 22:14:07 +08:00
2026-07-03 21:02:31 +08:00
2026-07-03 21:02:31 +08:00
2026-06-16 11:41:54 +08:00
2026-07-05 08:35:34 +08:00
2026-02-07 17:12:15 +08:00
2026-04-01 02:20:13 +08:00
2026-06-26 15:38:06 +08:00
2026-07-01 11:43:35 +08:00
2026-07-06 11:43:16 +08:00
2026-06-26 10:36:09 +08:00
2026-02-23 12:45:37 +08:00
2026-02-23 12:45:37 +08:00
2026-05-26 10:49:20 +08:00
2026-05-05 03:26:54 +08:00
2026-02-12 19:01:09 +08:00
2026-06-26 15:38:06 +08:00
2026-06-26 16:06:01 +08:00
2026-07-06 11:43:16 +08:00
2026-07-06 11:43:16 +08:00
2026-04-25 05:26:33 +00:00
2026-07-06 11:43:16 +08:00
2026-06-12 01:47:01 +08:00
2026-03-15 22:13:42 +08:00
2026-06-29 18:33:37 +08:00
2026-07-06 11:43:16 +08:00
2026-05-28 22:44:25 +08:00
2026-05-05 03:26:54 +08:00
2026-06-26 10:36:09 +08:00
2026-07-01 12:21:45 +08:00
2026-06-28 11:13:09 +08:00
2026-06-03 14:18:12 +08:00
2026-06-03 14:18:12 +08:00
2026-06-05 14:00:57 +08:00
2026-06-12 01:47:01 +08:00
2026-06-05 14:00:57 +08:00
2026-06-12 01:47:01 +08:00
2026-05-12 15:21:31 +08:00
2026-06-10 14:16:51 +08:00
2026-06-30 10:00:48 +08:00
2026-07-06 14:34:17 +08:00
2026-05-11 11:17:26 +08:00
2026-05-11 11:17:26 +08:00
2026-04-21 20:36:10 +08:00
2026-07-02 16:11:07 +08:00
2026-05-25 18:16:46 +08:00
2026-05-25 18:16:46 +08:00
2026-05-20 13:25:45 +08:00
2026-06-05 14:00:57 +08:00
2026-06-30 15:31:28 +08:00
2026-04-09 18:14:28 +08:00
2026-07-03 23:02:27 +08:00
2026-05-28 22:44:25 +08:00
2026-05-30 17:52:18 +08:00
2026-05-26 10:49:20 +08:00
2026-03-03 01:05:11 +08:00
2026-05-26 10:49:20 +08:00
2026-06-26 10:36:09 +08:00