const handleCardByMobile = () => { // CST_PLATFORM은 test(테스트) 또는 service(서비스)를 넘겨주시면 됩니다. const CST_PLATFORM = 'test';

// timestamp 생성
const timestamp = new Date().getTime().toString();

// 테스트용 merchantKey (실제 운영에서는 절대 프론트엔드에 노출하면 안됨)
const merchantKey = '';

// 해시 데이터 생성을 위한 값들
const mid = (CST_PLATFORM === 'test' ? 't' : '') + 'kvp_abctire13';
const oid = orderSeq;
const amount = watch('orderRealAmount');

// 해시 생성 (md5)
const hashData = CryptoJS.MD5(
  mid + oid + amount + timestamp + merchantKey,
).toString();

const formInputs = {
  // 결제창 스킨 설정 (red, green, gray 중 선택)
  // LGD_CUSTOM_SKIN: 'red',

  // 결제처리방식 설정
  // - TWOTR: 2 Transaction 방식 (인증/승인 분리)
  // - ONETR: 1 Transaction 방식 (인증/승인 통합)
  // LGD_CUSTOM_PROCESSTYPE: 'TWOTR',

  // 사용가능한 결제수단 설정
  // SC0010: 신용카드
  // SC0030: 계좌이체
  // SC0040: 무통장
  // SC0060: 휴대폰
  // SC0070: 유선전화(KT)
  // SC0090: OK캐쉬백
  // SC0111: 문화상품권
  // SC0112: 게임문화상품권
  // SC0113: 도서문화상품권
  // SC0220: 모바일 T머니
  // LGD_CUSTOM_USABLEPAY: 'SC0010',

  // 최초 결제수단 설정 (위와 동일한 코드 사용)
  // LGD_CUSTOM_FIRSTPAY: 'SC0010',

  // 결제 위변조 방지를 위한 해시값
  // LGD_HASHDATA: hashData,

  // 결제 요청 시간 (YYYYMMDDHHMMSS 형식)
  LGD_TIMESTAMP: timestamp,

  // 상점아이디 (테스트/서비스 구분 필요)
  LGD_MID: mid,

  // 주문번호 (상점에서 생성한 고유 주문번호)
  LGD_OID: oid,

  // 결제금액
  LGD_AMOUNT: amount,

  // 구매자 이름
  LGD_BUYER: watch('orderName'),

  // 상품정보
  LGD_PRODUCTINFO: itemInfo.length > 0 ? itemInfo[0][2] : '',

  // 결제완료 후 돌아올 URL (성공 시)
  LGD_RETURNURL: window.location.origin + '/cardbynumber',

  // 결제결과를 받을 URL (서버 to 서버 통신)
  LGD_NOTEURL:
    '<http://192.168.1.53:8080>' +
    '/api/v1/admin/order/payment/card-by-number',

  // 결제창 인코딩 방식
  LGD_ENCODING: 'UTF-8',

  // RETURNURL 응답 인코딩 방식
  LGD_ENCODING_RETURNURL: 'UTF-8',

  // NOTEURL 응답 인코딩 방식
  LGD_ENCODING_NOTEURL: 'UTF-8',

  //RETURNURL 있는경우 SUBMIT으로 전달
  LGD_CUSTOM_RESULTTYPE: 'SUBMIT',

  //고정값 N
  LGD_ACTIVEXYN: 'N',
};

// form 생성
const form = document.createElement('form');
form.setAttribute('method', 'post');
form.setAttribute('id', 'LGD_PAYINFO');

// hidden input 추가
Object.entries(formInputs).forEach(([key, value]) => {
  const input = document.createElement('input');
  input.type = 'hidden';
  input.name = key;
  input.value = value;
  form.appendChild(input);
});

document.body.appendChild(form);

//새창에서 권한체크를 위해 로컬스토리지에 추가
localStorage.setItem('accessToken', sessionStorage.getItem('accessToken'));

window.open_paymentwindow(form, CST_PLATFORM);

//FIXME: 새창 테스트 추가
// window.open(
//   window.location.origin + '/cardbynumber',
//   '결제창',
//   'width=845px,height=820px',
//   '_blank',
// );

// 사용후 form 제거
document.body.removeChild(form);

};