mirror of
https://gitee.com/dromara/dax-pay
synced 2026-08-12 07:25:39 +08:00
fix(route): 环境不匹配改抛 channelMchEnvMismatch 带参, 替代 noMatch 提升可诊断性
This commit is contained in:
@@ -90,7 +90,7 @@ public class PayRouteService {
|
||||
/// 1. 启停用校验: 禁用的通道商户不允许被路由命中, 与配置保存时([PayRouteBasicConfigService]/[PayRouteSceneConfigService])保持一致
|
||||
/// 2. 环境一致性校验: 通道商户固化的 sandbox 标识必须与产品当前生效环境(activeEnv)匹配。
|
||||
/// 沙箱产品 → 只能路由到 sandbox 通道商户; 生产产品 → 只能路由到 prod 通道商户。
|
||||
/// 不匹配抛 noMatch(等价"无可用的支付产品", 实现沙箱/生产路由层隔离)。
|
||||
/// 不匹配抛 channelMchEnvMismatch(明确告知调用方通道商户与产品环境不一致, 便于排查配置问题)。
|
||||
/// 注意: 通道商户 sandbox 在创建时固化, 不随产品环境切换改变; 一个产品下可同时存在两种商户。
|
||||
private void validateChannelMchEnvMatch(String channelMchNo, String product) {
|
||||
if (StrUtil.isBlank(channelMchNo) || StrUtil.isBlank(product)) {
|
||||
@@ -110,8 +110,9 @@ public class PayRouteService {
|
||||
if (mchSandbox != prodSandbox) {
|
||||
log.info("通道商户[{}]固化环境(sandbox={})与产品[{}]当前生效环境(sandbox={})不匹配, 路由拒绝",
|
||||
channelMchNo, mchSandbox, product, prodSandbox);
|
||||
// 路由: 未匹配到可用支付产品(沙箱/生产环境不匹配)
|
||||
throw new BizInfoException(CommonErrorCode.VALIDATE_PARAMETERS_ERROR, "pay.route.error.noMatch");
|
||||
// 路由: 通道商户环境与产品当前生效环境不一致(明确告知调用方, 便于排查配置问题)
|
||||
throw new BizInfoException(CommonErrorCode.VALIDATE_PARAMETERS_ERROR,
|
||||
"pay.route.error.channelMchEnvMismatch", channelMchNo, product);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,5 +21,6 @@
|
||||
"sceneChannelMchCapabilityPair": "For pay method [{0}], select both channel merchant and capability, or leave both empty",
|
||||
"basicChannelMchNotConfigured": "No channel merchant configured for pay brand [{0}]; configure it under channel routing By Brand Default",
|
||||
"sceneCapabilityChannelMchMismatch": "Capability [{0}] does not match channel merchant [{1}] and method [{2}]",
|
||||
"directCapabilityChannelMchMismatch": "Capability [{0}] does not match channel merchant [{1}]"
|
||||
"directCapabilityChannelMchMismatch": "Capability [{0}] does not match channel merchant [{1}]",
|
||||
"channelMchEnvMismatch": "The sandbox flag of channel merchant [{0}] does not match the active environment of product [{1}]. Please check the channel merchant configuration."
|
||||
}
|
||||
|
||||
@@ -21,5 +21,6 @@
|
||||
"sceneChannelMchCapabilityPair": "Untuk metode pembayaran [{0}], pilih pedagang saluran dan kemampuan, atau biarkan keduanya kosong",
|
||||
"basicChannelMchNotConfigured": "Tidak ada pedagang saluran yang dikonfigurasi untuk merek pembayaran [{0}]; konfigurasikan di bawah perutean saluran Berdasarkan Default Merek",
|
||||
"sceneCapabilityChannelMchMismatch": "Kemampuan [{0}] tidak cocok dengan saluran pedagang [{1}] dan metode [{2}]",
|
||||
"directCapabilityChannelMchMismatch": "Kemampuan [{0}] tidak cocok dengan pedagang saluran [{1}]"
|
||||
"directCapabilityChannelMchMismatch": "Kemampuan [{0}] tidak cocok dengan pedagang saluran [{1}]",
|
||||
"channelMchEnvMismatch": "Flag sandbox pedagang saluran [{0}] tidak cocok dengan lingkungan aktif produk [{1}]. Silakan periksa konfigurasi pedagang saluran"
|
||||
}
|
||||
|
||||
@@ -21,5 +21,6 @@
|
||||
"sceneChannelMchCapabilityPair": "支払い方法 [{0}] については、チャネル販売者と機能の両方を選択するか、両方を空のままにしてください",
|
||||
"basicChannelMchNotConfigured": "有料ブランド [{0}] に対してチャネル販売者が設定されていません。ブランドデフォルトによるチャネルルーティングの下で設定します",
|
||||
"sceneCapabilityChannelMchMismatch": "機能 [{0}] がチャネル販売者 [{1}] およびメソッド [{2}] と一致しません",
|
||||
"directCapabilityChannelMchMismatch": "能力 [{0}] がチャネル販売者 [{1}] と一致しません"
|
||||
"directCapabilityChannelMchMismatch": "能力 [{0}] がチャネル販売者 [{1}] と一致しません",
|
||||
"channelMchEnvMismatch": "チャネル販売者[{0}]のサンドボックス環境フラグが製品[{1}]の現在の有効環境と一致しません。チャネル販売者設定を確認してください"
|
||||
}
|
||||
|
||||
@@ -21,5 +21,6 @@
|
||||
"sceneChannelMchCapabilityPair": "결제 방법 [{0}]의 경우 채널 판매자와 기능을 모두 선택하거나 둘 다 비워 두세요.",
|
||||
"basicChannelMchNotConfigured": "유료 브랜드 [{0}]에 구성된 채널 판매자가 없습니다. 브랜드 기본값으로 채널 라우팅에서 구성",
|
||||
"sceneCapabilityChannelMchMismatch": "기능 [{0}]이 채널 판매자 [{1}] 및 방법 [{2}]과 일치하지 않습니다.",
|
||||
"directCapabilityChannelMchMismatch": "기능 [{0}]이 채널 판매자 [{1}]와 일치하지 않습니다."
|
||||
"directCapabilityChannelMchMismatch": "기능 [{0}]이 채널 판매자 [{1}]와 일치하지 않습니다.",
|
||||
"channelMchEnvMismatch": "채널 판매자[{0}]의 샌드박스 환경 플래그가 상품[{1}]의 현재 활성 환경과 일치하지 않습니다. 채널 판매자 설정을 확인해 주세요."
|
||||
}
|
||||
|
||||
@@ -21,5 +21,6 @@
|
||||
"sceneChannelMchCapabilityPair": "Untuk kaedah bayar [{0}], pilih kedua-dua pedagang saluran dan keupayaan, atau biarkan kedua-duanya kosong",
|
||||
"basicChannelMchNotConfigured": "Tiada pedagang saluran dikonfigurasikan untuk jenama berbayar [{0}]; konfigurasikannya di bawah penghalaan saluran Mengikut Lalai Jenama",
|
||||
"sceneCapabilityChannelMchMismatch": "Keupayaan [{0}] tidak sepadan dengan pedagang saluran [{1}] dan kaedah [{2}]",
|
||||
"directCapabilityChannelMchMismatch": "Keupayaan [{0}] tidak sepadan dengan pedagang saluran [{1}]"
|
||||
"directCapabilityChannelMchMismatch": "Keupayaan [{0}] tidak sepadan dengan pedagang saluran [{1}]",
|
||||
"channelMchEnvMismatch": "Bendera persekitaran sandbox pedagang saluran [{0}] tidak sepadan dengan persekitaran aktif produk [{1}]. Sila semak konfigurasi pedagang saluran"
|
||||
}
|
||||
|
||||
@@ -21,5 +21,6 @@
|
||||
"sceneChannelMchCapabilityPair": "สำหรับวิธีการชำระเงิน [{0}] ให้เลือกทั้งช่องทางผู้ค้าและความสามารถ หรือปล่อยว่างไว้ทั้งสองรายการ",
|
||||
"basicChannelMchNotConfigured": "ไม่มีผู้ขายช่องทางที่กำหนดค่าสำหรับแบรนด์แบบชำระเงิน [{0}]; กำหนดค่าภายใต้การกำหนดเส้นทางช่องสัญญาณตามค่าเริ่มต้นของแบรนด์",
|
||||
"sceneCapabilityChannelMchMismatch": "ความสามารถ [{0}] ไม่ตรงกับผู้ขายของช่องทาง [{1}] และวิธีการ [{2}]",
|
||||
"directCapabilityChannelMchMismatch": "ความสามารถ [{0}] ไม่ตรงกับผู้ขายของช่องทาง [{1}]"
|
||||
"directCapabilityChannelMchMismatch": "ความสามารถ [{0}] ไม่ตรงกับผู้ขายของช่องทาง [{1}]",
|
||||
"channelMchEnvMismatch": "แฟล็กสภาพแวดล้อมแซนด์บ็อกซ์ของผู้ขายช่องทาง [{0}] ไม่ตรงกับสภาพแวดล้อมที่ใช้งานอยู่ของผลิตภัณฑ์ [{1}] กรุณาตรวจสอบการตั้งค่าผู้ขายช่องทาง"
|
||||
}
|
||||
|
||||
@@ -21,5 +21,6 @@
|
||||
"sceneChannelMchCapabilityPair": "Đối với phương thức thanh toán [{0}], hãy chọn cả người bán kênh và khả năng hoặc để trống cả hai",
|
||||
"basicChannelMchNotConfigured": "Không có người bán kênh nào được định cấu hình cho thương hiệu trả phí [{0}]; định cấu hình nó theo định tuyến kênh Theo mặc định của thương hiệu",
|
||||
"sceneCapabilityChannelMchMismatch": "Khả năng [{0}] không khớp với người bán kênh [{1}] và phương thức [{2}]",
|
||||
"directCapabilityChannelMchMismatch": "Khả năng [{0}] không khớp với người bán kênh [{1}]"
|
||||
"directCapabilityChannelMchMismatch": "Khả năng [{0}] không khớp với người bán kênh [{1}]",
|
||||
"channelMchEnvMismatch": "Cờ môi trường sandbox của người bán kênh [{0}] không khớp với môi trường đang hoạt động của sản phẩm [{1}]. Vui lòng kiểm tra cấu hình người bán kênh"
|
||||
}
|
||||
|
||||
@@ -21,5 +21,6 @@
|
||||
"sceneChannelMchCapabilityPair": "支付方式[{0}]须同时选择通道商户与支付能力,或同时留空",
|
||||
"basicChannelMchNotConfigured": "支付渠道[{0}]未配置通道商户,请在通道路由「按渠道默认」中完成配置",
|
||||
"sceneCapabilityChannelMchMismatch": "支付能力[{0}]与通道商户[{1}]、支付方式[{2}]不匹配",
|
||||
"directCapabilityChannelMchMismatch": "支付能力[{0}]与通道商户[{1}]不匹配"
|
||||
"directCapabilityChannelMchMismatch": "支付能力[{0}]与通道商户[{1}]不匹配",
|
||||
"channelMchEnvMismatch": "通道商户[{0}]的沙箱环境标识与产品[{1}]当前生效环境不一致,请检查通道商户配置"
|
||||
}
|
||||
|
||||
@@ -21,5 +21,6 @@
|
||||
"sceneChannelMchCapabilityPair": "支付方式[{0}]須同時選擇通道商户與支付能力,或同時留空",
|
||||
"basicChannelMchNotConfigured": "支付渠道[{0}]未配置通道商户,請在通道路由「按渠道默認」中完成配置",
|
||||
"sceneCapabilityChannelMchMismatch": "支付能力[{0}]與通道商户[{1}]、支付方式[{2}]不匹配",
|
||||
"directCapabilityChannelMchMismatch": "支付能力[{0}]與通道商户[{1}]不匹配"
|
||||
"directCapabilityChannelMchMismatch": "支付能力[{0}]與通道商户[{1}]不匹配",
|
||||
"channelMchEnvMismatch": "通道商户[{0}]的沙盒環境標識與產品[{1}]目前生效環境不一致,請檢查通道商户配置"
|
||||
}
|
||||
|
||||
@@ -21,5 +21,6 @@
|
||||
"sceneChannelMchCapabilityPair": "支付方式[{0}]須同時選擇通道商戶與支付能力,或同時留空",
|
||||
"basicChannelMchNotConfigured": "支付渠道[{0}]未配置通道商戶,請在通道路由「按渠道預設」中完成配置",
|
||||
"sceneCapabilityChannelMchMismatch": "支付能力[{0}]與通道商戶[{1}]、支付方式[{2}]不匹配",
|
||||
"directCapabilityChannelMchMismatch": "支付能力[{0}]與通道商戶[{1}]不匹配"
|
||||
"directCapabilityChannelMchMismatch": "支付能力[{0}]與通道商戶[{1}]不匹配",
|
||||
"channelMchEnvMismatch": "通道商戶[{0}]的沙盒環境標識與產品[{1}]目前生效環境不一致,請檢查通道商戶設定"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user