diff --git a/rc-service/rc-service-order/order-inner-endpoint/src/main/java/com/red/circle/order/inner/service/impl/PayCountryClientServiceImpl.java b/rc-service/rc-service-order/order-inner-endpoint/src/main/java/com/red/circle/order/inner/service/impl/PayCountryClientServiceImpl.java index 183e652c..d7202eb6 100644 --- a/rc-service/rc-service-order/order-inner-endpoint/src/main/java/com/red/circle/order/inner/service/impl/PayCountryClientServiceImpl.java +++ b/rc-service/rc-service-order/order-inner-endpoint/src/main/java/com/red/circle/order/inner/service/impl/PayCountryClientServiceImpl.java @@ -358,9 +358,13 @@ public class PayCountryClientServiceImpl implements PayCountryClientService { if (Objects.isNull(country) || StringUtils.isBlank(country.getAlphaTwo())) { return ""; } + String region = country.getAlphaTwo().trim().toUpperCase(Locale.ROOT); + if (region.length() != 2 || !region.chars().allMatch(ch -> ch >= 'A' && ch <= 'Z')) { + return ""; + } try { Locale locale = new Locale.Builder() - .setRegion(country.getAlphaTwo().trim().toUpperCase(Locale.ROOT)) + .setRegion(region) .build(); return Currency.getInstance(locale).getCurrencyCode(); } catch (IllegalArgumentException | MissingResourceException e) {