diff --git a/rc-service/rc-service-order/order-application/src/main/java/com/red/circle/order/app/command/pay/web/strategy/MiFaPayWebPayPlaceAnOrderStrategy.java b/rc-service/rc-service-order/order-application/src/main/java/com/red/circle/order/app/command/pay/web/strategy/MiFaPayWebPayPlaceAnOrderStrategy.java index 3e498e3c..7dac4f6d 100644 --- a/rc-service/rc-service-order/order-application/src/main/java/com/red/circle/order/app/command/pay/web/strategy/MiFaPayWebPayPlaceAnOrderStrategy.java +++ b/rc-service/rc-service-order/order-application/src/main/java/com/red/circle/order/app/command/pay/web/strategy/MiFaPayWebPayPlaceAnOrderStrategy.java @@ -100,7 +100,7 @@ public class MiFaPayWebPayPlaceAnOrderStrategy implements PayWebPlaceAnOrderStra .time(System.currentTimeMillis() / 1000) .amount(amountInCents) .currency(details.getCurrency()) - .payWay(details.getChannelCode()) + .payWay(extractPayWay(details.getChannelCode())) .payType(details.getFactoryChannel()) .userIp(details.getRequestIp()) .returnUrl(details.getSuccessRedirectUrl()) @@ -116,6 +116,15 @@ public class MiFaPayWebPayPlaceAnOrderStrategy implements PayWebPlaceAnOrderStra .build(); } + private String extractPayWay(String channelCode) { + if (channelCode == null || channelCode.isEmpty()) { + return channelCode; + } + + int underscoreIndex = channelCode.indexOf('_'); + return underscoreIndex > 0 ? channelCode.substring(0, underscoreIndex) : channelCode; + } + private static String replaceCountryCode(String countryCode) { if ("KSA".equalsIgnoreCase(countryCode)) { return countryCode.replaceAll("K", "");