refactor(payment): 通道商户列表环境标签读固化 sandbox,产品切换确认文案同步调整

- 通道商户列表 (商户视图/全局视图) 环境标签从读 row.activeEnv 改为读 row.sandbox
  (activeEnv 现在表示产品当前路由目标环境,sandbox 才是商户固化的创建时快照)
- ChannelMerchantResult 类型注释更新,明确 sandbox 为固化字段、activeEnv 为路由目标
- ProductConfig 切换确认文案 (switchToSandboxConfirm / switchToProdConfirm) 改为说明
  「仅影响新建商户默认环境与路由目标,已存在商户保持原环境不变」
- 六语种 i18n 同步:zh-CN / en-US / zh-TW / zh-HK / ja-JP / ko-KR
This commit is contained in:
DaxPay Dev
2026-07-19 23:02:35 +08:00
parent c5d2babc75
commit f8e6c6cb5b
9 changed files with 22 additions and 20 deletions

View File

@@ -54,11 +54,11 @@ export interface ChannelMerchantResult extends BaseEntity {
channel?: string;
/** 是否启用 */
enable?: boolean;
/** 当前生效环境(来自支付产品配置, 商户只读): prod/sandbox */
/** 当前产品生效环境(决定路由目标, 来自支付产品配置): prod/sandbox */
activeEnv?: string;
/** 是否支持沙箱环境 */
sandboxSupport?: boolean;
/** 是否为沙箱环境通道商户 */
/** 是否为沙箱环境通道商户(创建时按当时产品 activeEnv 固化写入, 之后不随产品切换改变) */
sandbox?: boolean;
/** 通道商户创建来源 */
source?: string;

View File

@@ -32,8 +32,8 @@
"prodConfigBtn": "Production",
"sandboxConfigBtn": "Sandbox",
"switchEnv": "Switch Environment",
"switchToSandboxConfirm": "Switch to sandbox environment? All transactions will use sandbox API endpoints, suitable for integration and functional testing.",
"switchToProdConfirm": "Switch to production environment? All transactions will use production API endpoints and involve real fund flows.",
"switchToSandboxConfirm": "Switch to sandbox environment? This only affects the default environment for newly created channel merchants and the payment routing target. Existing channel merchants retain their original environment.",
"switchToProdConfirm": "Switch to production environment? This only affects the default environment for newly created channel merchants and the payment routing target. Existing channel merchants retain their original environment.",
"nonIsvDisabledTip": "Non-ISV payment products cannot be edited"
},
"placeholder": {

View File

@@ -32,8 +32,8 @@
"prodConfigBtn": "生産",
"sandboxConfigBtn": "サンドボックス",
"switchEnv": "スイッチ環境",
"switchToSandboxConfirm": "サンドボックス環境に切り替えますか?すべてのトランザクションは、統合および機能テストに適したサンドボックス API エンドポイントを使用します。",
"switchToProdConfirm": "実稼働環境に切り替えますか?すべてのトランザクションは本番 API エンドポイントを使用し、実際の資金の流れが関与します。",
"switchToSandboxConfirm": "サンドボックス環境に切り替えますか?切り替え後、新規作成するチャネル加盟店のデフォルト環境と支払いルーティング先にのみ影響します。既存のチャネル加盟店はそれぞれ元の環境を維持します。",
"switchToProdConfirm": "実稼働環境に切り替えますか?切り替え後、新規作成するチャネル加盟店のデフォルト環境と支払いルーティング先にのみ影響します。既存のチャネル加盟店はそれぞれ元の環境を維持します。",
"nonIsvDisabledTip": "非 ISV 支払い商品は編集できません"
},
"placeholder": {

View File

@@ -32,8 +32,8 @@
"prodConfigBtn": "생산",
"sandboxConfigBtn": "모래 상자",
"switchEnv": "스위치 환경",
"switchToSandboxConfirm": "샌드박스 환경으로 전환하시겠습니까? 모든 트랜잭션은 통합 및 기능 테스트에 적합한 샌드박스 API 엔드포인트를 사용합니다.",
"switchToProdConfirm": "프로덕션 환경으로 전환하시겠습니까? 모든 거래는 생산 API 엔드포인트를 사용하며 실제 자금 흐름을 포함합니다.",
"switchToSandboxConfirm": "샌드박스 환경으로 전환하시겠습니까? 전환 후 새로 생성되는 채널 가맹점의 기본 환경과 결제 라우팅 대상에만 영향을 미치며, 기존 채널 가맹점은 각자의 원래 환경을 유지합니다.",
"switchToProdConfirm": "프로덕션 환경으로 전환하시겠습니까? 전환 후 새로 생성되는 채널 가맹점의 기본 환경과 결제 라우팅 대상에만 영향을 미치며, 기존 채널 가맹점은 각자의 원래 환경을 유지합니다.",
"nonIsvDisabledTip": "ISV 이외의 결제 상품은 편집할 수 없습니다."
},
"placeholder": {

View File

@@ -32,8 +32,8 @@
"prodConfigBtn": "生产配置",
"sandboxConfigBtn": "沙箱配置",
"switchEnv": "切换环境",
"switchToSandboxConfirm": "确定要切换到沙箱环境吗?所有交易将会使用调用沙箱接口,适用于接口联调与功能测试。",
"switchToProdConfirm": "确定要切换到生产环境吗?所有交易将使用生产接口进行真实请求,并产生真实资金往来。",
"switchToSandboxConfirm": "确定要切换到沙箱环境吗?切换后仅影响「新建通道商户的默认环境」与「支付路由目标」,已创建的通道商户保持各自原环境不变。",
"switchToProdConfirm": "确定要切换到生产环境吗?切换后仅影响「新建通道商户的默认环境」与「支付路由目标」,已创建的通道商户保持各自原环境不变。",
"nonIsvDisabledTip": "非服务商类型的支付产品无法编辑"
},
"placeholder": {

View File

@@ -32,8 +32,8 @@
"prodConfigBtn": "生產配置",
"sandboxConfigBtn": "沙箱配置",
"switchEnv": "切換環境",
"switchToSandboxConfirm": "確定要切換到沙箱環境嗎?所有交易將會使用調用沙箱接口,適用於接口聯調與功能測試。",
"switchToProdConfirm": "確定要切換到生產環境嗎?所有交易將使用生產接口進行真實請求,併產生真實資金往來。",
"switchToSandboxConfirm": "確定要切換到沙箱環境嗎?切換後僅影響「新建通道商戶的預設環境」與「支付路由目標」,已建立的通道商戶保持各自原環境不變。",
"switchToProdConfirm": "確定要切換到生產環境嗎?切換後僅影響「新建通道商戶的預設環境」與「支付路由目標」,已建立的通道商戶保持各自原環境不變。",
"nonIsvDisabledTip": "非服務商類型的支付產品無法編輯"
},
"placeholder": {

View File

@@ -32,8 +32,8 @@
"prodConfigBtn": "生產配置",
"sandboxConfigBtn": "沙箱配置",
"switchEnv": "切換環境",
"switchToSandboxConfirm": "確定要切換到沙箱環境嗎?所有交易將會使用呼叫沙箱介面,適用於介面聯調與功能測試。",
"switchToProdConfirm": "確定要切換到生產環境嗎?所有交易將使用生產介面進行真實請求,併產生真實資金往來。",
"switchToSandboxConfirm": "確定要切換到沙箱環境嗎?切換後僅影響「新建通道商戶的預設環境」與「支付路由目標」,已建立的通道商戶保持各自原環境不變。",
"switchToProdConfirm": "確定要切換到生產環境嗎?切換後僅影響「新建通道商戶的預設環境」與「支付路由目標」,已建立的通道商戶保持各自原環境不變。",
"nonIsvDisabledTip": "非服務商型別的支付產品無法編輯"
},
"placeholder": {

View File

@@ -217,15 +217,16 @@
<!-- 环境状态仅有沙箱数据时显示其余可通过 toolbar custom 自定义 -->
<vxe-column
v-if="list.some((r) => r.sandboxSupport)"
field="activeEnv"
field="sandbox"
:title="$t('payment.merchant.channelMerchant.envStatus')"
:min-width="100"
align="center"
>
<template #default="{ row }">
<a-tag v-if="row.sandboxSupport" :color="row.activeEnv === 'sandbox' ? 'orange' : 'blue'">
<!-- 环境标签读通道商户固化的 sandbox 字段(创建时按当时产品 activeEnv 写入, 不随产品切换改变) -->
<a-tag v-if="row.sandboxSupport" :color="row.sandbox ? 'orange' : 'blue'">
{{
row.activeEnv === 'sandbox'
row.sandbox
? $t('payment.constant.product.productConfig.sandboxLabel')
: $t('payment.constant.product.productConfig.prodLabel')
}}

View File

@@ -276,15 +276,16 @@
/>
<vxe-column
v-if="list.some((r) => r.sandboxSupport)"
field="activeEnv"
field="sandbox"
:title="$t('payment.merchant.channelMerchant.envStatus')"
:min-width="100"
align="center"
>
<template #default="{ row }">
<a-tag v-if="row.sandboxSupport" :color="row.activeEnv === 'sandbox' ? 'orange' : 'blue'">
<!-- 环境标签读通道商户固化的 sandbox 字段(创建时按当时产品 activeEnv 写入, 不随产品切换改变) -->
<a-tag v-if="row.sandboxSupport" :color="row.sandbox ? 'orange' : 'blue'">
{{
row.activeEnv === 'sandbox'
row.sandbox
? $t('payment.constant.product.productConfig.sandboxLabel')
: $t('payment.constant.product.productConfig.prodLabel')
}}