|
|
@@ -59,6 +59,8 @@ import com.style24.core.biz.checkout.mall.RejectExchangeRequest;
|
|
|
import com.style24.core.biz.checkout.mall.RejectExchangeResponse;
|
|
|
import com.style24.core.biz.checkout.mall.RejectReturnRequest;
|
|
|
import com.style24.core.biz.checkout.mall.RejectReturnResponse;
|
|
|
+import com.style24.core.biz.checkout.mall.ReleaseExchangeHoldRequest;
|
|
|
+import com.style24.core.biz.checkout.mall.ReleaseExchangeHoldResponse;
|
|
|
import com.style24.core.biz.checkout.mall.ReleaseReturnHoldRequest;
|
|
|
import com.style24.core.biz.checkout.mall.ReleaseReturnHoldResponse;
|
|
|
import com.style24.core.biz.checkout.mall.RequestReturnRequest;
|
|
|
@@ -2553,7 +2555,7 @@ public class TscNaverPayService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 네이버페이 주문형 교환보류/해제 요청
|
|
|
+ * 네이버페이 주문형 교환보류 요청
|
|
|
*
|
|
|
* @param OrderChange
|
|
|
* @author card007
|
|
|
@@ -2574,7 +2576,7 @@ public class TscNaverPayService {
|
|
|
|
|
|
if (order != null && TscConstants.PgGb.NAVER_ORDER.value().equals(order.getPgGb())) {
|
|
|
// 서명생성
|
|
|
- generateSignature("RequestReturn", env.getProperty("naverPay.secret.key"));
|
|
|
+ generateSignature("WithholdExchange", env.getProperty("naverPay.secret.key"));
|
|
|
log.info("WithholdExchange(교환보류 네이버로 송신) :: timeStamp === " + timeStamp);
|
|
|
|
|
|
//인증정보
|
|
|
@@ -2601,11 +2603,11 @@ public class TscNaverPayService {
|
|
|
|
|
|
if ("SUCCESS".equals(resultStr)) {
|
|
|
log.info("교환보류 성공 주문번호===>" + order.getOrdNo());
|
|
|
- log.info("교환보류 성공 네이버상품주문번호===>" + order.getNpayOrdDtlNo());
|
|
|
+ log.info("교환보류 성공 네이버상품주문번호===>" + npayOrdDtlNo);
|
|
|
} else {
|
|
|
log.info("교환보류 에러");
|
|
|
log.info("주문번호 ===>" + order.getOrdNo());
|
|
|
- log.info("네이버상품주문번호 ===> " + order.getNpayOrdDtlNo());
|
|
|
+ log.info("네이버상품주문번호 ===> " + npayOrdDtlNo);
|
|
|
log.info("Code : " + withholdExchangeResponse.getError().getCode());
|
|
|
log.info("Message : " + withholdExchangeResponse.getError().getMessage());
|
|
|
log.info("Detail : " + withholdExchangeResponse.getError().getDetail());
|
|
|
@@ -2635,6 +2637,85 @@ public class TscNaverPayService {
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 네이버페이 주문형 교환보류 해제 요청
|
|
|
+ *
|
|
|
+ * @param OrderChange
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 10. 05
|
|
|
+ */
|
|
|
+ @Transactional("shopTxnManager")
|
|
|
+ public int nPayReleaseExchangeHold(Order order) {
|
|
|
+ String npayOrdDtlNo = naverPayDao.getNaverPayProductOrderId(order);
|
|
|
+
|
|
|
+ try {
|
|
|
+ Security.addProvider(new BouncyCastleProvider());
|
|
|
+ AccessCredentialsType accessCredentialsType = new AccessCredentialsType();
|
|
|
+ MallServiceLocator MSL = new MallServiceLocator(env.getProperty("naverPay.port.address"));
|
|
|
+ MallServiceSOAP11BindingStub stub = (MallServiceSOAP11BindingStub)MSL.getMallServiceSOAP11Port();
|
|
|
+
|
|
|
+ ReleaseExchangeHoldRequest releaseExchangeHoldRequest = new ReleaseExchangeHoldRequest();
|
|
|
+ ReleaseExchangeHoldResponse releaseExchangeHoldResponse = new ReleaseExchangeHoldResponse();
|
|
|
+
|
|
|
+ if (order != null && TscConstants.PgGb.NAVER_ORDER.value().equals(order.getPgGb())) {
|
|
|
+ // 서명생성
|
|
|
+ generateSignature("ReleaseExchangeHold", env.getProperty("naverPay.secret.key"));
|
|
|
+ log.info("ReleaseExchangeHold(교환보류 해제 네이버로 송신) :: timeStamp === " + timeStamp);
|
|
|
+
|
|
|
+ //인증정보
|
|
|
+ accessCredentialsType.setAccessLicense(env.getProperty("naverPay.access.license"));
|
|
|
+ accessCredentialsType.setSignature(signature);
|
|
|
+ accessCredentialsType.setTimestamp(timeStamp);
|
|
|
+
|
|
|
+ releaseExchangeHoldRequest.setAccessCredentials(accessCredentialsType);
|
|
|
+ releaseExchangeHoldRequest.setDetailLevel("Full");
|
|
|
+ releaseExchangeHoldRequest.setVersion(env.getProperty("naverPay.version"));
|
|
|
+ releaseExchangeHoldRequest.setRequestID("");
|
|
|
+ releaseExchangeHoldRequest.setProductOrderID(npayOrdDtlNo); // 상품 주문 번호
|
|
|
+
|
|
|
+ releaseExchangeHoldResponse = stub.releaseExchangeHold(releaseExchangeHoldRequest);
|
|
|
+
|
|
|
+ String resultStr = "";
|
|
|
+ if (releaseExchangeHoldResponse.getResponseType() != null) {
|
|
|
+ resultStr = releaseExchangeHoldResponse.getResponseType().toUpperCase();
|
|
|
+ }
|
|
|
+
|
|
|
+ if ("SUCCESS".equals(resultStr)) {
|
|
|
+ log.info("교환보류 해제 성공 주문번호===>" + order.getOrdNo());
|
|
|
+ log.info("교환보류 해제 성공 네이버상품주문번호===>" + npayOrdDtlNo);
|
|
|
+ } else {
|
|
|
+ log.info("교환보류 해제 에러");
|
|
|
+ log.info("주문번호 ===>" + order.getOrdNo());
|
|
|
+ log.info("네이버상품주문번호 ===> " + npayOrdDtlNo);
|
|
|
+ log.info("Code : " + releaseExchangeHoldResponse.getError().getCode());
|
|
|
+ log.info("Message : " + releaseExchangeHoldResponse.getError().getMessage());
|
|
|
+ log.info("Detail : " + releaseExchangeHoldResponse.getError().getDetail());
|
|
|
+
|
|
|
+ Order fail = new Order();
|
|
|
+ fail.setErrorReason("교환보류 해제 데이터 송부 에러");
|
|
|
+ fail.setOrdNo(order.getOrdNo());
|
|
|
+ fail.setNpayOrdDtlNo(order.getNpayOrdDtlNo());
|
|
|
+ fail.setOptCd("WithholdExchangeRequest");
|
|
|
+ fail.setResultCd(releaseExchangeHoldResponse.getError().getCode());
|
|
|
+ fail.setResultMsg(releaseExchangeHoldResponse.getError().getMessage());
|
|
|
+ fail.setMallCd(env.getProperty("naverPay.shop.id"));
|
|
|
+ fail.setAccessLicense(env.getProperty("naverPay.access.license"));
|
|
|
+ fail.setSecretKey(env.getProperty("naverPay.secret.key"));
|
|
|
+ fail.setRegNo(order.getRegNo());
|
|
|
+
|
|
|
+ orderDao.createNaverPayErrorLog(fail);
|
|
|
+
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 네이버페이 주문형 반품/교환 보류 여부 수정
|
|
|
*
|