refactor(i18n): 代码引用与资源文件一致性整改 (10 语种 1336 key 全对齐)

[B1/B4 前缀 bug 修复]
- PasswordDecryptService: error.auth.auth.{privateKeyNotConfigured,passwordDecryptFailed} 双前缀 → error.auth.xxx (i18n 已有正确 key)
- DougongIsvConfigAssembler / HmpayIsvConfigAssembler: payment.error.channel.channelMerchantNotExist → error.payment.channel.channelMerchantNotExist (i18n 已有)

[B5 通道错误 key 命名统一为 error.channel.{channel}.xxx]
- 新建 error/channel/{adapay,vbill,hkrt,dougong,fuyou,leshua,hmpay,yeepay}.json x 10 语种 = 80 个文件
- 适配器/服务代码: channel.error.{channel}XxxXxx → error.channel.{channel}.xxx (lakala/yeepay 4+3 处 + 7 个新通道 33 处 = 40 处)

[P0 缺失 key 补齐]
- error/common.json: +clientRuntimeNotExist
- error/payment/capability.json: +methodNotInDirectory, +invalidProvider
- error/payment/channel.json: +originOrderNotExist
- error/channel/{fuyou,vbill,lakala}.json: +isvKeyNotConfigured/merchantDuplicate/mchNoNotConfigured/mnoNotConfigured
- capability-social/error/social.json: +oauthFailed (8 语种)
- validation.json: +field.yopIsvNo.notBlank, +field.sandAppId.notBlank

[东盟四语补齐 sensitive_word + easypay 插件]
- 新建 enum/sensitive_word_{category,match_mode,scene,source,status}.json x 4 语种 = 20 文件
- 新建 error/plugin/easypay.json x 4 语种 = 4 文件
- 4 语种 platform_config_type/error.payment.merchant/error.common/validation 增量补 key (16 文件)

[清理冗余 key]
- channel/error.json x 10 语种: 删除 23 个已被新风格取代或无引用的 key (alipay 旧 8 + wechat 旧 5 + lakala 旧 7 + yeepay 旧 3)

注: DougongIsvChannelMerchantService / HmpayIsvChannelMerchantService / RestExceptionHandler 等混合改动 (i18n + 业务) 未纳入本提交, 由业务侧自行处理
This commit is contained in:
DaxPay Dev
2026-07-19 22:11:31 +08:00
parent 8c95b938a9
commit e06f0d412c
211 changed files with 1161 additions and 405 deletions

View File

@@ -34,7 +34,7 @@ public class AdapayCloseService {
DaxResult<AdapayCloseResp> result = adapayChannelClient.close(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.OPERATION_FAIL, "channel.error.adapayCloseFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.OPERATION_FAIL, "error.channel.adapay.closeFailed", result.getMsg());
}
return useCancel ? CloseTypeEnum.CANCEL : CloseTypeEnum.CLOSE;

View File

@@ -54,7 +54,7 @@ public class AdapayPayService {
// 调用子应用
DaxResult<AdapayPayResp> result = adapayChannelClient.pay(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.adapayPayFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.adapay.payFailed", result.getMsg());
}
return toPayResult(result.getData());
@@ -84,7 +84,7 @@ public class AdapayPayService {
} catch (IllegalArgumentException e) {
// Adapay: 不支持的支付方式
throw new BizInfoException(CommonErrorCode.UN_SUPPORTED_OPERATE,
"channel.error.adapayUnsupportedPayMethod", methodCode);
"error.channel.adapay.unsupportedPayMethod", methodCode);
}
}

View File

@@ -44,7 +44,7 @@ public class DougongIsvConfigAssembler {
// 通道商户绑定(取 merchantNo + appId)
DougongIsvChannelMerchant channelMerchant = dougongIsvChannelMerchantManager.findByChannelMchNo(channelMchNo)
// 斗拱: 通道商户配置不存在
.orElseThrow(() -> new DataNotExistException("payment.error.channel.channelMerchantNotExist"));
.orElseThrow(() -> new DataNotExistException("error.payment.channel.channelMerchantNotExist"));
DougongSdkCredential credential = new DougongSdkCredential();
// 服务商身份与密钥

View File

@@ -41,9 +41,9 @@ public class DougongIsvKeyConfigService {
public DougongIsvKeyConfig getByProductForPay(String product) {
DougongIsvKeyConfig config = dougongIsvKeyConfigManager.findByProduct(product)
// 斗拱: 服务商密钥未配置
.orElseThrow(() -> new BizInfoException("channel.error.dougongIsvKeyNotConfigured"));
.orElseThrow(() -> new BizInfoException("error.channel.dougong.isvKeyNotConfigured"));
if (StrUtil.hasBlank(config.getSysId(), config.getProductId(), config.getPrivateKey(), config.getDgPublicKey())) {
throw new BizInfoException("channel.error.dougongIsvKeyNotConfigured");
throw new BizInfoException("error.channel.dougong.isvKeyNotConfigured");
}
return config;
}

View File

@@ -49,7 +49,7 @@ public class DougongCloseService {
DaxResult<DougongCloseResp> result = dougongChannelClient.close(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.dougongCloseFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.dougong.closeFailed", result.getMsg());
}
return CloseTypeEnum.CLOSE;
}

View File

@@ -59,7 +59,7 @@ public class DougongPayService {
// 调用子应用
DaxResult<DougongPayResp> result = dougongChannelClient.pay(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.dougongPayFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.dougong.payFailed", result.getMsg());
}
return toPayResult(result.getData());
@@ -91,7 +91,7 @@ public class DougongPayService {
// 银联(扫码)
case UNION_QR -> DougongPayMethod.UNION_QR;
default -> throw new BizInfoException(CommonErrorCode.UN_SUPPORTED_OPERATE,
"channel.error.dougongUnsupportedPayMethod", methodCode);
"error.channel.dougong.unsupportedPayMethod", methodCode);
};
}

View File

@@ -49,7 +49,7 @@ public class DougongRefundService {
DaxResult<DougongRefundResp> result = dougongChannelClient.refund(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.dougongRefundFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.dougong.refundFailed", result.getMsg());
}
DougongRefundResp resp = result.getData();

View File

@@ -57,7 +57,7 @@ public class FuyouPayService {
DaxResult<FuyouPayResp> result = fuyouChannelClient.pay(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.fuyouPayFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.fuyou.payFailed", result.getMsg());
}
return toPayResult(result.getData());
}
@@ -90,7 +90,7 @@ public class FuyouPayService {
// 银联
case UNION_QR -> new MethodMapping(FuyouPayMethod.UNION_QR, FuyouPayBodyType.QR_CODE);
default -> throw new BizInfoException(CommonErrorCode.UN_SUPPORTED_OPERATE,
"channel.error.fuyouUnsupportedPayMethod", methodCode);
"error.channel.fuyou.unsupportedPayMethod", methodCode);
};
}

View File

@@ -59,7 +59,7 @@ public class FuyouRefundService {
DaxResult<FuyouRefundResp> result = fuyouChannelClient.refund(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.fuyouRefundFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.fuyou.refundFailed", result.getMsg());
}
FuyouRefundResp resp = result.getData();

View File

@@ -71,7 +71,7 @@ public class HkrtIsvConfigAssembler {
String pn = channelMerchant.getPn();
if (StrUtil.isBlank(pn)) {
// 海科融通: 终端号未配置, 请在商户配置中填写
throw new BizInfoException(CommonErrorCode.VALIDATE_PARAMETERS_ERROR, "channel.error.hkrtTermNoNotConfigured");
throw new BizInfoException(CommonErrorCode.VALIDATE_PARAMETERS_ERROR, "error.channel.hkrt.termNoNotConfigured");
}
credential.setPn(pn);
return credential;

View File

@@ -44,9 +44,9 @@ public class HkrtIsvKeyConfigService {
public HkrtIsvKeyConfig getByProductForPay(String product, boolean sandbox) {
HkrtIsvKeyConfig config = hkrtIsvKeyConfigManager.findByProductAndSandbox(product, sandbox)
// 海科融通: 服务商密钥未配置
.orElseThrow(() -> new BizInfoException("channel.error.hkrtIsvKeyNotConfigured"));
.orElseThrow(() -> new BizInfoException("error.channel.hkrt.isvKeyNotConfigured"));
if (StrUtil.hasBlank(config.getAgentNo(), config.getAccessId(), config.getAccessKey())) {
throw new BizInfoException("channel.error.hkrtIsvKeyNotConfigured");
throw new BizInfoException("error.channel.hkrt.isvKeyNotConfigured");
}
return config;
}

View File

@@ -40,7 +40,7 @@ public class HkrtCloseService {
DaxResult<HkrtCloseResp> result = hkrtChannelClient.close(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.hkrtCloseFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.hkrt.closeFailed", result.getMsg());
}
// 海科融通只有关单, 返回 CLOSE
return CloseTypeEnum.CLOSE;

View File

@@ -66,7 +66,7 @@ public class HkrtPayService {
// 调用子应用
DaxResult<HkrtPayResp> result = hkrtChannelClient.pay(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.hkrtPayFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.hkrt.payFailed", result.getMsg());
}
return toPayResult(result.getData());
@@ -99,7 +99,7 @@ public class HkrtPayService {
// 条码支付(微信/支付宝/银联付款码被扫)
case WECHAT_BARCODE, ALIPAY_BARCODE, UNION_BARCODE -> HkrtPayMethod.BARCODE;
default -> throw new BizInfoException(CommonErrorCode.UN_SUPPORTED_OPERATE,
"channel.error.hkrtUnsupportedPayMethod", methodCode);
"error.channel.hkrt.unsupportedPayMethod", methodCode);
};
// 支付内容类型由 method 推导
HkrtPayBodyType bodyType = switch (method) {

View File

@@ -41,7 +41,7 @@ public class HkrtRefundService {
DaxResult<HkrtRefundResp> result = hkrtChannelClient.refund(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.hkrtRefundFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.hkrt.refundFailed", result.getMsg());
}
HkrtRefundResp resp = result.getData();
@@ -54,7 +54,7 @@ public class HkrtRefundService {
if ("FAIL".equals(tradeStatus)) {
// 退款失败
bo.setStatus(RefundOrderStatusEnum.FAIL);
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.hkrtRefundFailed",
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.hkrt.refundFailed",
"refund trade_status=FAIL");
}
bo.setStatus(Boolean.TRUE.equals(resp.getComplete())

View File

@@ -51,7 +51,7 @@ public class HmpayIsvConfigAssembler {
// 通道商户绑定(取 merchantNo/storeId)
HmpayIsvChannelMerchant channelMerchant = hmpayIsvChannelMerchantManager.findByChannelMchNo(channelMchNo)
// 河马付: 通道商户配置不存在
.orElseThrow(() -> new DataNotExistException("payment.error.channel.channelMerchantNotExist"));
.orElseThrow(() -> new DataNotExistException("error.payment.channel.channelMerchantNotExist"));
// 环境一致性校验
if (channelMerchant.isSandbox() != sandbox) {

View File

@@ -42,9 +42,9 @@ public class HmpayIsvKeyConfigService {
public HmpayIsvKeyConfig getByProductForPay(String product, boolean sandbox) {
HmpayIsvKeyConfig config = hmpayIsvKeyConfigManager.findByProductAndSandbox(product, sandbox)
// 河马付: 服务商密钥未配置
.orElseThrow(() -> new BizInfoException("channel.error.hmpayIsvKeyNotConfigured"));
.orElseThrow(() -> new BizInfoException("error.channel.hmpay.isvKeyNotConfigured"));
if (StrUtil.hasBlank(config.getSandAppId(), config.getPrivateKey(), config.getPublicKey())) {
throw new BizInfoException("channel.error.hmpayIsvKeyNotConfigured");
throw new BizInfoException("error.channel.hmpay.isvKeyNotConfigured");
}
return config;
}

View File

@@ -37,7 +37,7 @@ public class HmpayCloseService {
DaxResult<HmpayCloseResp> result = hmpayChannelClient.close(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.hmpayCloseFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.hmpay.closeFailed", result.getMsg());
}
return CloseTypeEnum.CLOSE;
}

View File

@@ -63,7 +63,7 @@ public class HmpayPayService {
// 调用子应用
DaxResult<HmpayPayResp> result = hmpayChannelClient.pay(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.hmpayPayFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.hmpay.payFailed", result.getMsg());
}
return toPayResult(result.getData());
@@ -95,7 +95,7 @@ public class HmpayPayService {
// 付款码: 平台已识别分钱包 method, 通道折叠为统一条码 API
case WECHAT_BARCODE, ALIPAY_BARCODE -> HmpayPayMethod.BARCODE;
default -> throw new BizInfoException(CommonErrorCode.UN_SUPPORTED_OPERATE,
"channel.error.hmpayUnsupportedPayMethod", methodCode);
"error.channel.hmpay.unsupportedPayMethod", methodCode);
};
}

View File

@@ -44,7 +44,7 @@ public class HmpayRefundService {
DaxResult<HmpayRefundResp> result = hmpayChannelClient.refund(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.hmpayRefundFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.hmpay.refundFailed", result.getMsg());
}
HmpayRefundResp resp = result.getData();

View File

@@ -40,7 +40,7 @@ public class LakalaCloseService {
DaxResult<LakalaCloseResp> result = lakalaChannelClient.close(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.lakalaCloseFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.lakala.closeFailed", result.getMsg());
}
// 拉卡拉只有关单, 返回 CLOSE
return CloseTypeEnum.CLOSE;

View File

@@ -67,7 +67,7 @@ public class LakalaPayService {
// 调用子应用
DaxResult<LakalaPayResp> result = lakalaChannelClient.pay(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.lakalaPayFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.lakala.payFailed", result.getMsg());
}
return toPayResult(result.getData());
@@ -103,7 +103,7 @@ public class LakalaPayService {
case UNION_QR -> new MethodMapping(LakalaPayMethod.PREORDER, "UQRCODEPAY", "41", LakalaPayBodyType.QR_CODE);
case UNION_JSAPI -> new MethodMapping(LakalaPayMethod.PREORDER, "UQRCODEPAY", "51", LakalaPayBodyType.LINK);
default -> throw new BizInfoException(CommonErrorCode.UN_SUPPORTED_OPERATE,
"channel.error.lakalaUnsupportedPayMethod", methodCode);
"error.channel.lakala.unsupportedPayMethod", methodCode);
};
}

View File

@@ -40,7 +40,7 @@ public class LakalaRefundService {
DaxResult<LakalaRefundResp> result = lakalaChannelClient.refund(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.lakalaRefundFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.lakala.refundFailed", result.getMsg());
}
LakalaRefundResp resp = result.getData();

View File

@@ -40,7 +40,7 @@ public class LeshuaCloseService {
DaxResult<LeshuaCloseResp> result = leshuaChannelClient.close(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.leshuaCloseFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.leshua.closeFailed", result.getMsg());
}
return CloseTypeEnum.CLOSE;
}

View File

@@ -60,7 +60,7 @@ public class LeshuaPayService {
// 调用子应用
DaxResult<LeshuaPayResp> result = leshuaChannelClient.pay(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.leshuaPayFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.leshua.payFailed", result.getMsg());
}
return toPayResult(result.getData());
@@ -95,7 +95,7 @@ public class LeshuaPayService {
case UNION_QR -> new MethodMapping(LeshuaPayMethod.GET_TDCODE, "UPSMZF", "0", LeshuaPayBodyType.QR_CODE);
case UNION_JSAPI -> new MethodMapping(LeshuaPayMethod.GET_TDCODE, "UPSMZF", "1", LeshuaPayBodyType.LINK);
default -> throw new BizInfoException(CommonErrorCode.UN_SUPPORTED_OPERATE,
"channel.error.leshuaUnsupportedPayMethod", methodCode);
"error.channel.leshua.unsupportedPayMethod", methodCode);
};
}

View File

@@ -42,7 +42,7 @@ public class LeshuaRefundService {
DaxResult<LeshuaRefundResp> result = leshuaChannelClient.refund(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.leshuaRefundFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.leshua.refundFailed", result.getMsg());
}
LeshuaRefundResp resp = result.getData();

View File

@@ -38,7 +38,7 @@ public class VbillCloseService {
DaxResult<VbillCloseResp> result = vbillChannelClient.close(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.vbillCloseFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.vbill.closeFailed", result.getMsg());
}
return CloseTypeEnum.CLOSE;
}

View File

@@ -68,7 +68,7 @@ public class VbillPayService {
// 调用子应用
DaxResult<VbillPayResp> result = vbillChannelClient.pay(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.vbillPayFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.vbill.payFailed", result.getMsg());
}
return toPayResult(result.getData());
@@ -105,7 +105,7 @@ public class VbillPayService {
case UNION_QR -> new MethodMapping(VbillPayMethod.QR_CODE, null, null, VbillPayBodyType.QR_CODE);
case UNION_BARCODE -> new MethodMapping(VbillPayMethod.BAR_CODE, null, null, null);
default -> throw new BizInfoException(CommonErrorCode.UN_SUPPORTED_OPERATE,
"channel.error.vbillUnsupportedPayMethod", methodCode);
"error.channel.vbill.unsupportedPayMethod", methodCode);
};
}

View File

@@ -37,7 +37,7 @@ public class VbillRefundService {
DaxResult<VbillRefundResp> result = vbillChannelClient.refund(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.vbillRefundFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.vbill.refundFailed", result.getMsg());
}
VbillRefundResp resp = result.getData();

View File

@@ -31,7 +31,7 @@ public class YeepayCloseService {
DaxResult<YeepayCloseResp> result = yeepayChannelClient.close(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.OPERATION_FAIL, "channel.error.yeepayCloseFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.OPERATION_FAIL, "error.channel.yeepay.closeFailed", result.getMsg());
}
return useCancel ? CloseTypeEnum.CANCEL : CloseTypeEnum.CLOSE;

View File

@@ -49,7 +49,7 @@ public class YeepayPayService {
// 调用子应用
DaxResult<YeepayPayResp> result = yeepayChannelClient.pay(req);
if (result.getCode() != 0) {
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "channel.error.yeepayPayFailed", result.getMsg());
throw new BizInfoException(DaxPayErrorCode.TRADE_FAIL, "error.channel.yeepay.payFailed", result.getMsg());
}
return toPayResult(result.getData());
@@ -82,7 +82,7 @@ public class YeepayPayService {
// 银联
case UNION_QR -> YeepayPayMethod.UNION_QR;
default -> throw new BizInfoException(CommonErrorCode.UN_SUPPORTED_OPERATE,
"channel.error.yeepayUnsupportedPayMethod", methodCode);
"error.channel.yeepay.unsupportedPayMethod", methodCode);
};
}

View File

@@ -18,6 +18,6 @@
"alreadyBoundByOther": "The third-party account has been bound by another user",
"alreadyBoundPlatform": "You have already bound this platform, please unbind first",
"clientMismatch": "Current user does not belong to this client, binding is not allowed"
}
},
"oauthFailed": "Third-party authorization failed"
}

View File

@@ -18,5 +18,6 @@
"alreadyBoundByOther": "Akun pihak ketiga telah diikat oleh pengguna lain",
"alreadyBoundPlatform": "Anda sudah mengikat platform ini, silakan unbind terlebih dahulu",
"clientMismatch": "Pengguna saat ini bukan milik klien ini, pengikatan tidak diperbolehkan"
}
},
"oauthFailed": "Otorisasi pihak ketiga gagal"
}

View File

@@ -18,5 +18,6 @@
"alreadyBoundByOther": "Akaun pihak ketiga telah terikat oleh pengguna lain",
"alreadyBoundPlatform": "Anda telah mengikat platform ini, sila buka ikatan dahulu",
"clientMismatch": "Pengguna semasa bukan milik klien ini, pengikatan tidak dibenarkan"
}
},
"oauthFailed": "Kebenaran pihak ketiga gagal"
}

View File

@@ -18,5 +18,6 @@
"alreadyBoundByOther": "บัญชีบุคคลที่สามถูกผูกมัดโดยผู้ใช้รายอื่น",
"alreadyBoundPlatform": "คุณได้ผูกมัดแพลตฟอร์มนี้แล้ว โปรดยกเลิกการผูกก่อน",
"clientMismatch": "ผู้ใช้ปัจจุบันไม่ได้เป็นของลูกค้ารายนี้ ไม่อนุญาตให้มีการผูกข้อมูล"
}
},
"oauthFailed": "การอนุญาตของบุคคลที่สามล้มเหลว"
}

View File

@@ -18,5 +18,6 @@
"alreadyBoundByOther": "Tài khoản của bên thứ ba đã bị ràng buộc bởi người dùng khác",
"alreadyBoundPlatform": "Bạn đã ràng buộc nền tảng này, vui lòng hủy liên kết trước",
"clientMismatch": "Người dùng hiện tại không thuộc về khách hàng này, không được phép ràng buộc"
}
},
"oauthFailed": "Ủy quyền bên thứ ba thất bại"
}

View File

@@ -18,6 +18,6 @@
"alreadyBoundByOther": "该第三方账号已被其他用户绑定",
"alreadyBoundPlatform": "您已绑定该平台,请先解绑后再绑定新账号",
"clientMismatch": "当前登录用户不属于该终端,无法完成绑定"
}
},
"oauthFailed": "三方授权失败"
}

View File

@@ -18,5 +18,6 @@
"alreadyBoundByOther": "該第三方賬號已被其他用户綁定",
"alreadyBoundPlatform": "您已綁定該平台,請先解綁後再綁定新賬號",
"clientMismatch": "當前登錄用户不屬於該終端,無法完成綁定"
}
},
"oauthFailed": "三方授權失敗"
}

View File

@@ -18,5 +18,6 @@
"alreadyBoundByOther": "該第三方賬號已被其他使用者繫結",
"alreadyBoundPlatform": "您已繫結該平臺,請先解綁後再繫結新賬號",
"clientMismatch": "當前登入使用者不屬於該終端,無法完成繫結"
}
},
"oauthFailed": "三方授權失敗"
}

View File

@@ -8,28 +8,5 @@
"callbackVerifyFailed": "Callback signature verification failed",
"cacheConcurrentConflict": "Concurrent conflict",
"systemError": "Internal system error",
"validateParams": "Parameter validation failed",
"wechatOrderQueryFailed": "WeChat order query error: {0}",
"wechatRefundQueryFailed": "WeChat refund query error: {0}",
"wechatRefundCallFailed": "WeChat refund call error: {0}",
"wechatPayCallFailed": "WeChat payment call error: {0}",
"wechatCloseOrderFailed": "WeChat close order error: {0}",
"alipayOrderQueryFailed": "Alipay order query error: {0}",
"alipayRefundQueryFailed": "Alipay refund query error: {0}",
"alipayRefundFailed": "Alipay refund error: {0}",
"alipayRefundCallFailed": "Alipay refund call error: {0}",
"alipayPreCreateFailed": "Alipay pre-create order error: {0}",
"alipayPayCallFailed": "Alipay payment call error: {0}",
"alipayCloseOrderFailed": "Alipay close order error: {0}",
"alipayClientCreateFailed": "Error creating AlipayClient: {0}",
"lakalaIsvKeyNotConfigured": "Lakala ISV key is not configured",
"lakalaMerchantDuplicate": "This Lakala merchant number already exists under the merchant",
"lakalaPayFailed": "Payment error: {0}",
"lakalaRefundFailed": "Refund error: {0}",
"lakalaSyncFailed": "Order sync error: {0}",
"lakalaCloseFailed": "Close order error: {0}",
"lakalaUnsupportedPayMethod": "Unsupported payment method for Lakala: {0}",
"yeepayPayFailed": "Yeepay pay order failed",
"yeepayCloseFailed": "Yeepay close order failed",
"yeepayUnsupportedPayMethod": "Yeepay unsupported pay method: {0}"
"validateParams": "Parameter validation failed"
}

View File

@@ -0,0 +1,5 @@
{
"payFailed": "Adapay payment error: {0}",
"closeFailed": "Adapay close order error: {0}",
"unsupportedPayMethod": "Unsupported payment method for Adapay: {0}"
}

View File

@@ -0,0 +1,8 @@
{
"payFailed": "Dougong payment error: {0}",
"refundFailed": "Dougong refund error: {0}",
"closeFailed": "Dougong close order error: {0}",
"unsupportedPayMethod": "Unsupported payment method for Dougong: {0}",
"isvKeyNotConfigured": "Dougong service provider key not configured",
"merchantDuplicate": "A Dougong merchant number already exists under this merchant"
}

View File

@@ -0,0 +1,8 @@
{
"payFailed": "Fuyou payment error: {0}",
"refundFailed": "Fuyou refund error: {0}",
"unsupportedPayMethod": "Unsupported payment method for Fuyou: {0}",
"merchantDuplicate": "A Fuyou merchant number already exists under this merchant",
"isvKeyNotConfigured": "Fuyou service provider key not configured",
"mchNoNotConfigured": "Fuyou merchant number not configured"
}

View File

@@ -0,0 +1,9 @@
{
"payFailed": "HKRT payment error: {0}",
"refundFailed": "HKRT refund error: {0}",
"closeFailed": "HKRT close order error: {0}",
"unsupportedPayMethod": "Unsupported payment method for HKRT: {0}",
"isvKeyNotConfigured": "HKRT service provider key not configured",
"termNoNotConfigured": "HKRT terminal number not configured",
"merchantDuplicate": "A HKRT merchant number already exists under this merchant"
}

View File

@@ -0,0 +1,8 @@
{
"payFailed": "Hmpay payment error: {0}",
"refundFailed": "Hmpay refund error: {0}",
"closeFailed": "Hmpay close order error: {0}",
"unsupportedPayMethod": "Unsupported payment method for Hmpay: {0}",
"isvKeyNotConfigured": "Hmpay service provider key not configured",
"merchantDuplicate": "A Hmpay merchant number already exists under this merchant"
}

View File

@@ -3,5 +3,11 @@
"publicKeyRequired": "Public key is required",
"lklAppIdRequired": "Lakala application ID is required",
"mchSerialNoRequired": "Merchant certificate serial number is required",
"termNoNotConfigured": "Terminal number is not configured, please set it in merchant config"
"termNoNotConfigured": "Terminal number is not configured, please set it in merchant config",
"isvKeyNotConfigured": "Lakala service provider key not configured",
"merchantDuplicate": "A Lakala merchant number already exists under this merchant",
"payFailed": "Lakala payment error: {0}",
"refundFailed": "Lakala refund error: {0}",
"closeFailed": "Lakala close order error: {0}",
"unsupportedPayMethod": "Unsupported payment method for Lakala: {0}"
}

View File

@@ -1,4 +1,6 @@
{
"isvKeyNotConfigured": "Leshua ISV key is not configured",
"merchantDuplicate": "This Leshua merchant number already exists under the merchant"
"payFailed": "Leshua payment error: {0}",
"refundFailed": "Leshua refund error: {0}",
"closeFailed": "Leshua close order error: {0}",
"unsupportedPayMethod": "Unsupported payment method for Leshua: {0}"
}

View File

@@ -1,5 +1,9 @@
{
"isvKeyNotConfigured": "VBill ISV key not configured",
"mnoNotConfigured": "VBill merchant number (mno) not configured, please fill in merchant config",
"merchantDuplicate": "This Tianque merchant number already exists under this merchant"
"payFailed": "Vbill payment error: {0}",
"refundFailed": "Vbill refund error: {0}",
"closeFailed": "Vbill close order error: {0}",
"unsupportedPayMethod": "Unsupported payment method for Vbill: {0}",
"merchantDuplicate": "A Vbill merchant number already exists under this merchant",
"isvKeyNotConfigured": "Vbill service provider key not configured",
"mnoNotConfigured": "Vbill MNO (Mobile Network Operator) not configured"
}

View File

@@ -0,0 +1,5 @@
{
"payFailed": "YeePay payment error: {0}",
"closeFailed": "YeePay close order error: {0}",
"unsupportedPayMethod": "Unsupported payment method for YeePay: {0}"
}

View File

@@ -50,5 +50,6 @@
"sensitiveWordHitNotFound": "Hit record not found",
"sensitiveWordStatusInvalid": "Invalid sensitive word status",
"sensitiveWordMatchModeInvalid": "Invalid match mode",
"sensitiveWordCategoryInvalid": "Invalid category"
"sensitiveWordCategoryInvalid": "Invalid category",
"clientRuntimeNotExist": "Client runtime type does not exist: {0}"
}

View File

@@ -1,5 +1,7 @@
{
"notExist": "Payment capability does not exist",
"duplicateProduct": "Linked payment products must be unique",
"productNotExist": "Payment product does not exist"
"productNotExist": "Payment product does not exist",
"methodNotInDirectory": "Payment method is not in the payment directory",
"invalidProvider": "Invalid payment provider"
}

View File

@@ -6,5 +6,6 @@
"onlyDraftCanDelete": "Only draft status can be deleted",
"signVerifyFailIllegal": "Signature verification failed, illegal request",
"channelMerchantNotExist": "Channel merchant information not found",
"merchantInfoNotFound": "Merchant information not found"
"merchantInfoNotFound": "Merchant information not found",
"originOrderNotExist": "Original order does not exist"
}

View File

@@ -672,7 +672,7 @@
"notBlank": "Merchant AppId cannot be blank"
},
"sandAppId": {
"notBlank": "Sand app ID cannot be blank"
"notBlank": "Sand appId cannot be blank"
},
"credential": {
"notNull": "Channel credential cannot be null"
@@ -794,6 +794,9 @@
"reqId": {
"notBlank": "Request ID is required",
"size": "Request ID must not exceed 64 characters"
},
"yopIsvNo": {
"notBlank": "YeePay ISV number cannot be blank"
}
}
}

View File

@@ -8,28 +8,5 @@
"callbackVerifyFailed": "Verifikasi tanda tangan panggilan balik gagal",
"cacheConcurrentConflict": "Konflik yang terjadi bersamaan",
"systemError": "Kesalahan sistem internal",
"validateParams": "Validasi parameter gagal",
"wechatOrderQueryFailed": "Kesalahan permintaan pesanan WeChat: {0}",
"wechatRefundQueryFailed": "Kesalahan permintaan pengembalian dana WeChat: {0}",
"wechatRefundCallFailed": "Kesalahan panggilan pengembalian dana WeChat: {0}",
"wechatPayCallFailed": "Kesalahan panggilan pembayaran WeChat: {0}",
"wechatCloseOrderFailed": "Kesalahan penutupan pesanan WeChat: {0}",
"alipayOrderQueryFailed": "Kesalahan permintaan pesanan Alipay: {0}",
"alipayRefundQueryFailed": "Kesalahan permintaan pengembalian dana Alipay: {0}",
"alipayRefundFailed": "Kesalahan pengembalian dana Alipay: {0}",
"alipayRefundCallFailed": "Kesalahan panggilan pengembalian dana Alipay: {0}",
"alipayPreCreateFailed": "Kesalahan pra-pembuatan pesanan Alipay: {0}",
"alipayPayCallFailed": "Kesalahan panggilan pembayaran Alipay: {0}",
"alipayCloseOrderFailed": "Kesalahan penutupan pesanan Alipay: {0}",
"alipayClientCreateFailed": "Kesalahan saat membuat AlipayClient: {0}",
"lakalaIsvKeyNotConfigured": "Kunci Lakala ISV tidak dikonfigurasi",
"lakalaMerchantDuplicate": "Nomor pedagang Lakala ini sudah ada di bawah pedagang tersebut",
"lakalaPayFailed": "Kesalahan pembayaran: {0}",
"lakalaRefundFailed": "Kesalahan pengembalian dana: {0}",
"lakalaSyncFailed": "Kesalahan sinkronisasi pesanan: {0}",
"lakalaCloseFailed": "Kesalahan penutupan pesanan: {0}",
"lakalaUnsupportedPayMethod": "Metode pembayaran yang tidak didukung untuk Lakala: {0}",
"yeepayPayFailed": "Perintah pembayaran Yeepay gagal",
"yeepayCloseFailed": "Pesanan penutupan Yeepay gagal",
"yeepayUnsupportedPayMethod": "Metode pembayaran Yeepay tidak didukung: {0}"
"validateParams": "Validasi parameter gagal"
}

View File

@@ -7,5 +7,7 @@
"website": "Pengaturan tampilan situs web",
"wechat_notify": "Pesan WeChat memberitahukan konfigurasi templat",
"api_security": "Konfigurasi Keamanan API",
"iam_replay_protect": "Konfigurasi Anti-Replay IAM"
"iam_replay_protect": "Konfigurasi Anti-Replay IAM",
"sensitive_word": "Kebijakan kata sensitif",
"pay_security": "Konfigurasi keamanan pembayaran"
}

View File

@@ -0,0 +1,7 @@
{
"politic": "Politik",
"porn": "Pornografi",
"violence": "Kekerasan",
"ad": "Iklan",
"custom": "Kustom"
}

View File

@@ -0,0 +1,4 @@
{
"contains": "Berisi",
"exact": "Tepat"
}

View File

@@ -0,0 +1,15 @@
{
"pay_title": "Judul pembayaran",
"pay_description": "Deskripsi pembayaran",
"goods_name": "Nama barang",
"goods_description": "Deskripsi barang",
"mch_name": "Nama merchant",
"app_name": "Nama aplikasi",
"store_name": "Nama toko",
"user_name": "Nama pengguna",
"qr_name": "Nama QR code",
"notice": "Pengumuman",
"protocol": "Protokol",
"manual_check": "Pemeriksaan manual",
"general": "Umum"
}

View File

@@ -0,0 +1,7 @@
{
"admin": "Admin",
"merchant": "Merchant",
"unipay": "Pembayaran terbuka",
"app_admin": "Aplikasi admin",
"unknown": "Tidak diketahui"
}

View File

@@ -0,0 +1,4 @@
{
"enable": "Aktifkan",
"disable": "Nonaktifkan"
}

View File

@@ -0,0 +1,5 @@
{
"payFailed": "Kesalahan pembayaran Adapay: {0}",
"closeFailed": "Kesalahan menutup pesanan Adapay: {0}",
"unsupportedPayMethod": "Metode pembayaran tidak didukung untuk Adapay: {0}"
}

View File

@@ -0,0 +1,8 @@
{
"payFailed": "Kesalahan pembayaran Dougong: {0}",
"refundFailed": "Kesalahan pengembalian dana Dougong: {0}",
"closeFailed": "Kesalahan menutup pesanan Dougong: {0}",
"unsupportedPayMethod": "Metode pembayaran tidak didukung untuk Dougong: {0}",
"isvKeyNotConfigured": "Kunci penyedia layanan Dougong tidak dikonfigurasi",
"merchantDuplicate": "Nomor merchant Dougong sudah ada di bawah merchant ini"
}

View File

@@ -0,0 +1,8 @@
{
"payFailed": "Kesalahan pembayaran Fuyou: {0}",
"refundFailed": "Kesalahan pengembalian dana Fuyou: {0}",
"unsupportedPayMethod": "Metode pembayaran tidak didukung untuk Fuyou: {0}",
"merchantDuplicate": "Nomor merchant Fuyou sudah ada di bawah merchant ini",
"isvKeyNotConfigured": "Kunci penyedia layanan Fuyou tidak dikonfigurasi",
"mchNoNotConfigured": "Nomor merchant Fuyou tidak dikonfigurasi"
}

View File

@@ -0,0 +1,9 @@
{
"payFailed": "Kesalahan pembayaran HKRT: {0}",
"refundFailed": "Kesalahan pengembalian dana HKRT: {0}",
"closeFailed": "Kesalahan menutup pesanan HKRT: {0}",
"unsupportedPayMethod": "Metode pembayaran tidak didukung untuk HKRT: {0}",
"isvKeyNotConfigured": "Kunci penyedia layanan HKRT tidak dikonfigurasi",
"termNoNotConfigured": "Nomor terminal HKRT tidak dikonfigurasi",
"merchantDuplicate": "Nomor merchant HKRT sudah ada di bawah merchant ini"
}

View File

@@ -0,0 +1,8 @@
{
"payFailed": "Kesalahan pembayaran Hmpay: {0}",
"refundFailed": "Kesalahan pengembalian dana Hmpay: {0}",
"closeFailed": "Kesalahan menutup pesanan Hmpay: {0}",
"unsupportedPayMethod": "Metode pembayaran tidak didukung untuk Hmpay: {0}",
"isvKeyNotConfigured": "Kunci penyedia layanan Hmpay tidak dikonfigurasi",
"merchantDuplicate": "Nomor merchant Hmpay sudah ada di bawah merchant ini"
}

View File

@@ -3,5 +3,11 @@
"publicKeyRequired": "Kunci publik diperlukan",
"lklAppIdRequired": "ID aplikasi Lakala diperlukan",
"mchSerialNoRequired": "Nomor seri sertifikat pedagang diperlukan",
"termNoNotConfigured": "Nomor terminal tidak dikonfigurasi, harap atur di konfigurasi pedagang"
"termNoNotConfigured": "Nomor terminal tidak dikonfigurasi, harap atur di konfigurasi pedagang",
"isvKeyNotConfigured": "Kunci penyedia layanan Lakala tidak dikonfigurasi",
"merchantDuplicate": "Nomor merchant Lakala sudah ada di bawah merchant ini",
"payFailed": "Kesalahan pembayaran Lakala: {0}",
"refundFailed": "Kesalahan pengembalian dana Lakala: {0}",
"closeFailed": "Kesalahan menutup pesanan Lakala: {0}",
"unsupportedPayMethod": "Metode pembayaran tidak didukung untuk Lakala: {0}"
}

View File

@@ -1,4 +1,6 @@
{
"isvKeyNotConfigured": "Kunci Leshua ISV tidak dikonfigurasi",
"merchantDuplicate": "Nomor pedagang Leshua ini sudah ada di bawah pedagang tersebut"
"payFailed": "Kesalahan pembayaran Leshua: {0}",
"refundFailed": "Kesalahan pengembalian dana Leshua: {0}",
"closeFailed": "Kesalahan menutup pesanan Leshua: {0}",
"unsupportedPayMethod": "Metode pembayaran tidak didukung untuk Leshua: {0}"
}

View File

@@ -1,5 +1,9 @@
{
"isvKeyNotConfigured": "Kunci VBill ISV tidak dikonfigurasi",
"mnoNotConfigured": "Nomor merchant VBill (mno) tidak dikonfigurasi, silakan isi konfigurasi merchant",
"merchantDuplicate": "Nomor pedagang Tianque ini sudah ada di bawah pedagang ini"
"payFailed": "Kesalahan pembayaran Vbill: {0}",
"refundFailed": "Kesalahan pengembalian dana Vbill: {0}",
"closeFailed": "Kesalahan menutup pesanan Vbill: {0}",
"unsupportedPayMethod": "Metode pembayaran tidak didukung untuk Vbill: {0}",
"merchantDuplicate": "Nomor merchant Vbill sudah ada di bawah merchant ini",
"isvKeyNotConfigured": "Kunci penyedia layanan Vbill tidak dikonfigurasi",
"mnoNotConfigured": "Vbill MNO (Operator Jaringan Seluler) tidak dikonfigurasi"
}

View File

@@ -0,0 +1,5 @@
{
"payFailed": "Kesalahan pembayaran YeePay: {0}",
"closeFailed": "Kesalahan menutup pesanan YeePay: {0}",
"unsupportedPayMethod": "Metode pembayaran tidak didukung untuk YeePay: {0}"
}

View File

@@ -42,5 +42,14 @@
"payFundStatusNotExist": "Status dana pembayaran tidak ditemukan: {0}",
"normalOrderStatusNotExist": "Status perintah pembayaran normal tidak ditemukan: {0}",
"gatewayOrderStatusNotExist": "Status pesanan gerbang tidak ditemukan: {0}",
"codePayFormNotExist": "Code pay form not found: {0}"
"codePayFormNotExist": "Code pay form not found: {0}",
"clientRuntimeNotExist": "Tipe runtime klien tidak ada: {0}",
"sensitiveWord": "Konten berisi kata sensitif, harap ubah dan coba lagi",
"sensitiveWordHit": "Konten berisi kata sensitif \"{0}\"",
"sensitiveWordDuplicate": "Kata sensitif ini sudah ada",
"sensitiveWordNotFound": "Kata sensitif tidak ditemukan",
"sensitiveWordHitNotFound": "Catatan temuan tidak ada",
"sensitiveWordStatusInvalid": "Status kata sensitif tidak valid",
"sensitiveWordMatchModeInvalid": "Mode pencocokan tidak valid",
"sensitiveWordCategoryInvalid": "Kategori tidak valid"
}

View File

@@ -1,5 +1,7 @@
{
"notExist": "Kemampuan pembayaran tidak ada",
"duplicateProduct": "Produk pembayaran tertaut harus unik",
"productNotExist": "Produk pembayaran tidak ada"
"productNotExist": "Produk pembayaran tidak ada",
"methodNotInDirectory": "Metode pembayaran tidak ada di direktori pembayaran",
"invalidProvider": "Penyedia pembayaran tidak valid"
}

View File

@@ -6,5 +6,6 @@
"onlyDraftCanDelete": "Hanya status draf yang dapat dihapus",
"signVerifyFailIllegal": "Verifikasi tanda tangan gagal, permintaan ilegal",
"channelMerchantNotExist": "Informasi pedagang saluran tidak ditemukan",
"merchantInfoNotFound": "Informasi pedagang tidak ditemukan"
"merchantInfoNotFound": "Informasi pedagang tidak ditemukan",
"originOrderNotExist": "Pesanan asli tidak ditemukan"
}

View File

@@ -30,5 +30,10 @@
"wxVerifyFileContentTooLong": "Isi file verifikasi domain WeChat terlalu panjang",
"wxVerifyCodeDuplicate": "File verifikasi sudah ada, mohon jangan diupload lagi",
"wxVerifyUploadNotSupported": "Klien saat ini tidak mendukung pengunggahan file verifikasi domain WeChat",
"wxVerifyNoMatch": "File verifikasi domain WeChat bukan milik pedagang saat ini"
"wxVerifyNoMatch": "File verifikasi domain WeChat bukan milik pedagang saat ini",
"defaultAppCannotDelete": "Aplikasi default tidak dapat dihapus, harap pindahkan penanda default terlebih dahulu",
"defaultAppDisabled": "Aplikasi default merchant dinonaktifkan, harap aktifkan atau pindahkan penanda default terlebih dahulu",
"defaultStoreCannotDelete": "Toko default tidak dapat dihapus, harap pindahkan penanda default terlebih dahulu",
"defaultStoreNotConfigured": "Merchant belum mengonfigurasi toko default, harap konfigurasikan di manajemen toko terlebih dahulu",
"defaultStoreDisabled": "Toko default merchant dinonaktifkan, harap aktifkan atau pindahkan penanda default terlebih dahulu"
}

View File

@@ -0,0 +1,16 @@
{
"easypay": {
"credentialNotFound": "Kredensial EasyPay tidak ditemukan",
"credentialDisabled": "Kredensial EasyPay dinonaktifkan",
"pidGenerateFailed": "Gagal membuat nomor merchant EasyPay",
"v1Disabled": "Antarmuka EasyPay V1 tidak aktif",
"v2Disabled": "Antarmuka EasyPay V2 tidak aktif",
"publicKeyMissing": "Kunci publik merchant EasyPay tidak dikonfigurasi",
"md5KeyMissing": "Kunci MD5 EasyPay tidak dikonfigurasi",
"signInvalid": "Verifikasi tanda tangan EasyPay gagal",
"unsupportedType": "Metode pembayaran tidak didukung",
"unsupportedMethod": "Jenis antarmuka tidak didukung",
"orderNotFound": "Pesanan EasyPay tidak ditemukan",
"tradeNotFound": "Transaksi pembayaran terkait tidak ditemukan"
}
}

View File

@@ -299,7 +299,7 @@
"notBlank": "Nama pendek wajib diisi"
},
"status": {
"notBlank": "Status tidak boleh kosong"
"size": "Panjang status harus antara {min} dan {max}"
},
"accountType": {
"notBlank": "Jenis akun tidak boleh kosong"
@@ -672,7 +672,7 @@
"notBlank": "AppId Penjual tidak boleh kosong"
},
"sandAppId": {
"notBlank": "ID aplikasi pasir tidak boleh kosong"
"notBlank": "Sand appId tidak boleh kosong"
},
"credential": {
"notNull": "Kredensial saluran tidak boleh nol"
@@ -772,6 +772,31 @@
"reqId": {
"notBlank": "Request ID wajib diisi",
"size": "Request ID maksimal 64 karakter"
},
"yopIsvNo": {
"notBlank": "Nomor ISV YeePay tidak boleh kosong"
},
"sensitiveWord": {
"rejected": "Konten berisi kata sensitif dan ditolak"
},
"word": {
"notBlank": "Kata sensitif tidak boleh kosong",
"size": "Panjang kata sensitif harus antara {min} dan {max}"
},
"category": {
"size": "Panjang kategori harus antara {min} dan {max}"
},
"matchMode": {
"size": "Panjang mode pencocokan harus antara {min} dan {max}"
},
"riskEnabled": {
"notNull": "Status aktivasi pengelolaan risiko wajib diisi"
},
"riskBlockBeforePay": {
"notNull": "Pilihan blokir sebelum pembayaran wajib diisi"
},
"riskCheckAfterPay": {
"notNull": "Pilihan pemeriksaan setelah pembayaran wajib diisi"
}
}
}

View File

@@ -8,28 +8,5 @@
"callbackVerifyFailed": "コールバック署名の検証に失敗しました",
"cacheConcurrentConflict": "同時競合",
"systemError": "内部システムエラー",
"validateParams": "パラメータの検証に失敗しました",
"wechatOrderQueryFailed": "WeChat 注文クエリ エラー: {0}",
"wechatRefundQueryFailed": "WeChat 返金クエリ エラー: {0}",
"wechatRefundCallFailed": "WeChat 返金コール エラー: {0}",
"wechatPayCallFailed": "WeChat 支払い呼び出しエラー: {0}",
"wechatCloseOrderFailed": "WeChat 注文完了エラー: {0}",
"alipayOrderQueryFailed": "Alipay 注文クエリ エラー: {0}",
"alipayRefundQueryFailed": "Alipay 返金クエリ エラー: {0}",
"alipayRefundFailed": "Alipay 返金エラー: {0}",
"alipayRefundCallFailed": "Alipay 返金コール エラー: {0}",
"alipayPreCreateFailed": "Alipay 事前作成注文エラー: {0}",
"alipayPayCallFailed": "Alipay 支払い呼び出しエラー: {0}",
"alipayCloseOrderFailed": "Alipay の注文完了エラー: {0}",
"alipayClientCreateFailed": "AlipayClient の作成中にエラーが発生しました: {0}",
"lakalaIsvKeyNotConfigured": "Lakala ISV キーが構成されていません",
"lakalaMerchantDuplicate": "この Lakala 販売者番号は、販売者の下にすでに存在します",
"lakalaPayFailed": "支払いエラー: {0}",
"lakalaRefundFailed": "返金エラー: {0}",
"lakalaSyncFailed": "注文同期エラー: {0}",
"lakalaCloseFailed": "注文完了エラー: {0}",
"lakalaUnsupportedPayMethod": "Lakala でサポートされていない支払い方法: {0}",
"yeepayPayFailed": "Yeepay の支払い注文に失敗しました",
"yeepayCloseFailed": "Yeepay の決済注文に失敗しました",
"yeepayUnsupportedPayMethod": "Yeepay がサポートされていない支払い方法: {0}"
"validateParams": "パラメータの検証に失敗しました"
}

View File

@@ -0,0 +1,5 @@
{
"payFailed": "Adapay支払エラー: {0}",
"closeFailed": "Adapay注文クローズエラー: {0}",
"unsupportedPayMethod": "Adapayでサポートされていない支払方法: {0}"
}

View File

@@ -0,0 +1,8 @@
{
"payFailed": "Dougong支払エラー: {0}",
"refundFailed": "Dougong返金エラー: {0}",
"closeFailed": "Dougong注文クローズエラー: {0}",
"unsupportedPayMethod": "Dougongでサポートされていない支払方法: {0}",
"isvKeyNotConfigured": "Dougongサービスプロバイダキーが設定されていません",
"merchantDuplicate": "このマーチャントの下にDougongマーチャント番号がすでに存在します"
}

View File

@@ -0,0 +1,8 @@
{
"payFailed": "Fuyou支払エラー: {0}",
"refundFailed": "Fuyou返金エラー: {0}",
"unsupportedPayMethod": "Fuyouでサポートされていない支払方法: {0}",
"merchantDuplicate": "このマーチャントの下にFuyouマーチャント番号がすでに存在します",
"isvKeyNotConfigured": "Fuyouサービスプロバイダキーが設定されていません",
"mchNoNotConfigured": "Fuyouマーチャント番号が設定されていません"
}

View File

@@ -0,0 +1,9 @@
{
"payFailed": "HKRT支払エラー: {0}",
"refundFailed": "HKRT返金エラー: {0}",
"closeFailed": "HKRT注文クローズエラー: {0}",
"unsupportedPayMethod": "HKRTでサポートされていない支払方法: {0}",
"isvKeyNotConfigured": "HKRTサービスプロバイダキーが設定されていません",
"termNoNotConfigured": "HKRT端末番号が設定されていません",
"merchantDuplicate": "このマーチャントの下にHKRTマーチャント番号がすでに存在します"
}

View File

@@ -0,0 +1,8 @@
{
"payFailed": "Hmpay支払エラー: {0}",
"refundFailed": "Hmpay返金エラー: {0}",
"closeFailed": "Hmpay注文クローズエラー: {0}",
"unsupportedPayMethod": "Hmpayでサポートされていない支払方法: {0}",
"isvKeyNotConfigured": "Hmpayサービスプロバイダキーが設定されていません",
"merchantDuplicate": "このマーチャントの下にHmpayマーチャント番号がすでに存在します"
}

View File

@@ -3,5 +3,11 @@
"publicKeyRequired": "公開キーが必要です",
"lklAppIdRequired": "LakalaアプリケーションIDが必要です",
"mchSerialNoRequired": "販売者証明書のシリアル番号が必要です",
"termNoNotConfigured": "端末番号が設定されていません。マーチャント設定で設定してください"
"termNoNotConfigured": "端末番号が設定されていません。マーチャント設定で設定してください",
"isvKeyNotConfigured": "Lakalaサービスプロバイダキーが設定されていません",
"merchantDuplicate": "このマーチャントの下にLakalaマーチャント番号がすでに存在します",
"payFailed": "Lakala支払エラー: {0}",
"refundFailed": "Lakala返金エラー: {0}",
"closeFailed": "Lakala注文クローズエラー: {0}",
"unsupportedPayMethod": "Lakalaでサポートされていない支払方法: {0}"
}

View File

@@ -1,4 +1,6 @@
{
"isvKeyNotConfigured": "Leshua ISV キーが構成されていません",
"merchantDuplicate": "この Leshua 販売者番号は、販売者の下にすでに存在します"
"payFailed": "Leshua支払エラー: {0}",
"refundFailed": "Leshua返金エラー: {0}",
"closeFailed": "Leshua注文クローズエラー: {0}",
"unsupportedPayMethod": "Leshuaでサポートされていない支払方法: {0}"
}

View File

@@ -1,5 +1,9 @@
{
"isvKeyNotConfigured": "VBill ISV キーが構成されていません",
"mnoNotConfigured": "VBill 加盟店番号 (MNO) が設定されていません。加盟店設定を入力してください",
"merchantDuplicate": "この Tianque 販売者番号はこの販売者の下にすでに存在します"
"payFailed": "Vbill支払エラー: {0}",
"refundFailed": "Vbill返金エラー: {0}",
"closeFailed": "Vbill注文クローズエラー: {0}",
"unsupportedPayMethod": "Vbillでサポートされていない支払方法: {0}",
"merchantDuplicate": "このマーチャントの下にVbillマーチャント番号がすでに存在します",
"isvKeyNotConfigured": "Vbillサービスプロバイダキーが設定されていません",
"mnoNotConfigured": "Vbill MNO(移動体ネットワーク事業者)が設定されていません"
}

View File

@@ -0,0 +1,5 @@
{
"payFailed": "YeePay支払エラー: {0}",
"closeFailed": "YeePay注文クローズエラー: {0}",
"unsupportedPayMethod": "YeePayでサポートされていない支払方法: {0}"
}

View File

@@ -50,5 +50,6 @@
"sensitiveWordHitNotFound": "ヒット記録が見つかりません",
"sensitiveWordStatusInvalid": "状態が無効です",
"sensitiveWordMatchModeInvalid": "一致モードが無効です",
"sensitiveWordCategoryInvalid": "分類が無効です"
"sensitiveWordCategoryInvalid": "分類が無効です",
"clientRuntimeNotExist": "クライアントランタイムタイプが存在しません: {0}"
}

View File

@@ -1,5 +1,7 @@
{
"notExist": "支払い機能が存在しない",
"duplicateProduct": "リンクされた支払い商品は一意である必要があります",
"productNotExist": "決済商品が存在しません"
"productNotExist": "決済商品が存在しません",
"methodNotInDirectory": "支払方法が支払ディレクトリにありません",
"invalidProvider": "無効な支払プロバイダ"
}

View File

@@ -6,5 +6,6 @@
"onlyDraftCanDelete": "削除できるのは下書きステータスのみです",
"signVerifyFailIllegal": "署名検証に失敗しました。不正なリクエストです",
"channelMerchantNotExist": "チャネル販売者情報が見つかりません",
"merchantInfoNotFound": "販売者情報が見つかりません"
"merchantInfoNotFound": "販売者情報が見つかりません",
"originOrderNotExist": "元の注文が存在しません"
}

View File

@@ -672,7 +672,7 @@
"notBlank": "販売者の AppId を空白にすることはできません"
},
"sandAppId": {
"notBlank": "Sand アプリ ID を空白にすることはできません"
"notBlank": "Sand appIdは必須です"
},
"credential": {
"notNull": "チャネル資格情報を null にすることはできません"
@@ -794,6 +794,9 @@
"reqId": {
"notBlank": "リクエストIDは必須です",
"size": "リクエストIDは64文字以内です"
},
"yopIsvNo": {
"notBlank": "YeePay ISV番号は必須です"
}
}
}

View File

@@ -8,28 +8,5 @@
"callbackVerifyFailed": "콜백 서명 확인에 실패했습니다.",
"cacheConcurrentConflict": "동시 충돌",
"systemError": "내부 시스템 오류",
"validateParams": "매개변수 검증 실패",
"wechatOrderQueryFailed": "WeChat 주문 쿼리 오류: {0}",
"wechatRefundQueryFailed": "WeChat 환불 문의 오류: {0}",
"wechatRefundCallFailed": "WeChat 환불 통화 오류: {0}",
"wechatPayCallFailed": "WeChat 결제 통화 오류: {0}",
"wechatCloseOrderFailed": "WeChat 종료 주문 오류: {0}",
"alipayOrderQueryFailed": "Alipay 주문 쿼리 오류: {0}",
"alipayRefundQueryFailed": "Alipay 환불 문의 오류: {0}",
"alipayRefundFailed": "Alipay 환불 오류: {0}",
"alipayRefundCallFailed": "Alipay 환불 통화 오류: {0}",
"alipayPreCreateFailed": "Alipay 사전 생성 주문 오류: {0}",
"alipayPayCallFailed": "Alipay 결제 통화 오류: {0}",
"alipayCloseOrderFailed": "Alipay 주문 종료 오류: {0}",
"alipayClientCreateFailed": "AlipayClient 생성 오류: {0}",
"lakalaIsvKeyNotConfigured": "Lakala ISV 키가 구성되지 않았습니다.",
"lakalaMerchantDuplicate": "이 Lakala 판매자 번호는 판매자 아래에 이미 존재합니다.",
"lakalaPayFailed": "결제 오류: {0}",
"lakalaRefundFailed": "환불 오류: {0}",
"lakalaSyncFailed": "주문 동기화 오류: {0}",
"lakalaCloseFailed": "주문 종료 오류: {0}",
"lakalaUnsupportedPayMethod": "Lakala에서 지원되지 않는 결제 수단: {0}",
"yeepayPayFailed": "Yeepay 결제 주문 실패",
"yeepayCloseFailed": "Yeepay 주문 종료 실패",
"yeepayUnsupportedPayMethod": "Yeepay가 지원되지 않는 결제 수단: {0}"
"validateParams": "매개변수 검증 실패"
}

View File

@@ -0,0 +1,5 @@
{
"payFailed": "Adapay 결제 오류: {0}",
"closeFailed": "Adapay 주문 종료 오류: {0}",
"unsupportedPayMethod": "Adapay에서 지원하지 않는 결제 방식: {0}"
}

View File

@@ -0,0 +1,8 @@
{
"payFailed": "Dougong 결제 오류: {0}",
"refundFailed": "Dougong 환불 오류: {0}",
"closeFailed": "Dougong 주문 종료 오류: {0}",
"unsupportedPayMethod": "Dougong에서 지원하지 않는 결제 방식: {0}",
"isvKeyNotConfigured": "Dougong 서비스 제공자 키가 구성되지 않았습니다",
"merchantDuplicate": "이 가맹점에 이미 Dougong 가맹점 번호가 존재합니다"
}

View File

@@ -0,0 +1,8 @@
{
"payFailed": "Fuyou 결제 오류: {0}",
"refundFailed": "Fuyou 환불 오류: {0}",
"unsupportedPayMethod": "Fuyou에서 지원하지 않는 결제 방식: {0}",
"merchantDuplicate": "이 가맹점에 이미 Fuyou 가맹점 번호가 존재합니다",
"isvKeyNotConfigured": "Fuyou 서비스 제공자 키가 구성되지 않았습니다",
"mchNoNotConfigured": "Fuyou 가맹점 번호가 구성되지 않았습니다"
}

View File

@@ -0,0 +1,9 @@
{
"payFailed": "HKRT 결제 오류: {0}",
"refundFailed": "HKRT 환불 오류: {0}",
"closeFailed": "HKRT 주문 종료 오류: {0}",
"unsupportedPayMethod": "HKRT에서 지원하지 않는 결제 방식: {0}",
"isvKeyNotConfigured": "HKRT 서비스 제공자 키가 구성되지 않았습니다",
"termNoNotConfigured": "HKRT 단말기 번호가 구성되지 않았습니다",
"merchantDuplicate": "이 가맹점에 이미 HKRT 가맹점 번호가 존재합니다"
}

View File

@@ -0,0 +1,8 @@
{
"payFailed": "Hmpay 결제 오류: {0}",
"refundFailed": "Hmpay 환불 오류: {0}",
"closeFailed": "Hmpay 주문 종료 오류: {0}",
"unsupportedPayMethod": "Hmpay에서 지원하지 않는 결제 방식: {0}",
"isvKeyNotConfigured": "Hmpay 서비스 제공자 키가 구성되지 않았습니다",
"merchantDuplicate": "이 가맹점에 이미 Hmpay 가맹점 번호가 존재합니다"
}

View File

@@ -3,5 +3,11 @@
"publicKeyRequired": "공개 키는 필수 항목입니다.",
"lklAppIdRequired": "Lakala 애플리케이션 ID가 필요합니다.",
"mchSerialNoRequired": "판매자 인증서 일련번호가 필요합니다.",
"termNoNotConfigured": "터미널 번호가 구성되지 않았습니다. 판매자 구성에서 설정하세요."
"termNoNotConfigured": "터미널 번호가 구성되지 않았습니다. 판매자 구성에서 설정하세요.",
"isvKeyNotConfigured": "Lakala 서비스 제공자 키가 구성되지 않았습니다",
"merchantDuplicate": "이 가맹점에 이미 Lakala 가맹점 번호가 존재합니다",
"payFailed": "Lakala 결제 오류: {0}",
"refundFailed": "Lakala 환불 오류: {0}",
"closeFailed": "Lakala 주문 종료 오류: {0}",
"unsupportedPayMethod": "Lakala에서 지원하지 않는 결제 방식: {0}"
}

View File

@@ -1,4 +1,6 @@
{
"isvKeyNotConfigured": "Leshua ISV 키가 구성되지 않았습니다.",
"merchantDuplicate": "Leshua 판매자 번호는 이미 판매자 아래에 존재합니다."
"payFailed": "Leshua 결제 오류: {0}",
"refundFailed": "Leshua 환불 오류: {0}",
"closeFailed": "Leshua 주문 종료 오류: {0}",
"unsupportedPayMethod": "Leshua에서 지원하지 않는 결제 방식: {0}"
}

View File

@@ -1,5 +1,9 @@
{
"isvKeyNotConfigured": "VBill ISV 키가 구성되지 않았습니다.",
"mnoNotConfigured": "VBill 판매자 번호(mno)가 구성되지 않았습니다. 판매자 구성을 입력하세요.",
"merchantDuplicate": "이 Tianque 판매자 번호는 이 판매자 아래에 이미 존재합니다."
"payFailed": "Vbill 결제 오류: {0}",
"refundFailed": "Vbill 환불 오류: {0}",
"closeFailed": "Vbill 주문 종료 오류: {0}",
"unsupportedPayMethod": "Vbill에서 지원하지 않는 결제 방식: {0}",
"merchantDuplicate": "이 가맹점에 이미 Vbill 가맹점 번호가 존재합니다",
"isvKeyNotConfigured": "Vbill 서비스 제공자 키가 구성되지 않았습니다",
"mnoNotConfigured": "Vbill MNO(이동통신망 사업자)가 구성되지 않았습니다"
}

View File

@@ -0,0 +1,5 @@
{
"payFailed": "YeePay 결제 오류: {0}",
"closeFailed": "YeePay 주문 종료 오류: {0}",
"unsupportedPayMethod": "YeePay에서 지원하지 않는 결제 방식: {0}"
}

View File

@@ -50,5 +50,6 @@
"sensitiveWordHitNotFound": "적중 기록을 찾을 수 없습니다",
"sensitiveWordStatusInvalid": "상태가 올바르지 않습니다",
"sensitiveWordMatchModeInvalid": "일치 모드가 올바르지 않습니다",
"sensitiveWordCategoryInvalid": "분류가 올바르지 않습니다"
"sensitiveWordCategoryInvalid": "분류가 올바르지 않습니다",
"clientRuntimeNotExist": "클라이언트 런타임 유형이 존재하지 않습니다: {0}"
}

View File

@@ -1,5 +1,7 @@
{
"notExist": "결제 기능이 존재하지 않습니다",
"duplicateProduct": "연결된 결제 상품은 고유해야 합니다.",
"productNotExist": "결제상품이 존재하지 않습니다."
"productNotExist": "결제상품이 존재하지 않습니다.",
"methodNotInDirectory": "결제 방식이 결제 디렉토리에 없습니다",
"invalidProvider": "유효하지 않은 결제 서비스 제공자"
}

Some files were not shown because too many files have changed in this diff Show More