{
  "issueId": "3676",
  "environment": "dev",
  "scenario": "manual-mid-card-routing",
  "source": "Redmine #3676 + user-provided QA checklist 2026-06-30",
  "sourceText": "김경주님의 QA 요청입니다. 조지민 프로님 안녕하세요, 비스킷 링크 개발계 QA 요청드립니다. [1] QA 요청 배경 - https://itsm.bix.bz/issues/3676 - 수기 MID 카드 제한 정책과 수기결제 우선순위 라우팅 사용 여부가 화면/결제 흐름에서 의도대로 동작하는지 확인 요청드립니다. [2] 사전 데이터 - 테스트 법인: 박재민_법인 - 테스트 가맹점 계정은 비스킷페이에서만 로그인 가능: ID 한결데테스트 / PW <redacted> / 2FA <redacted> - 테스트 카드: KB국민카드 - 해당 가맹점 사용자에게 수기결제 MID 2개 연결 - 연결된 수기결제 MID 전부에 결제 제외 카드사로 KB국민카드 설정 - PG MID/부서설정/회원 정보 확인은 admin 계정으로 진행. [3] 사전 작업 - admin 계정으로 비스킷링크 전산 접속 가능 여부 확인 - admin 계정으로 부서설정관리, PG MID 관리, 회원 상세 또는 회원 적용 화면 접근 가능 여부 확인 - 비스킷페이에서 가맹점 계정 한결데테스트 로그인 가능 여부 확인 - 가맹점 계정 한결데테스트에서 수기결제 화면 접근 가능 여부 확인. [4] 권한별 테스트 - admin - ve. [5] 검증 대상 - admin: 부서설정관리 화면 - admin: PG MID 관리 화면 - admin: 회원 상세 또는 회원 적용 화면의 수기결제 우선순위 영역 - admin: 수기 PG MID의 제한 카드사 표시 영역 - ve: 비스킷페이 수기결제 화면 - 대상 법인: 박재민_법인 - 테스트 가맹점 계정: 한결데테스트 - 테스트 카드: KB국민카드. [6] 체크리스트 - admin: 비스킷링크 전산에 접속한 뒤 부서설정관리 화면에서 박재민_법인의 수기 MID 카드 제한 설정을 확인한다. - admin: PG MID 화면에서 해당 가맹점 사용자에게 연결된 수기결제 MID 2개를 확인하고, 연결된 수기결제 MID 전부에 KB국민카드가 결제 제외 카드사로 표시되는지 확인한다. - admin: 부서설정관리 화면에서 박재민_법인의 수기 MID 카드 제한 설정을 켠 뒤, PG MID 화면에서 해당 법인에 연결된 수기 PG MID의 제한 카드사 UI가 보이는지 확인한다. - admin: 회원 상세/회원 적용 화면에서 해당 가맹점 유저의 수기결제 우선순위 UI, 수기 MID 우선순위 적용 체크박스, 연결된 MID 목록, 제한 카드사 뱃지가 보이는지 확인한다. - admin: 회원 상세/회원 적용 화면에서 수기 MID 우선순위 적용을 체크하고 수기결제 우선순위 영역 우측의 저장 버튼을 클릭해 저장한 뒤, 다시 조회했을 때 체크 상태가 유지되는지 확인한다. - ve: 비스킷페이에서 가맹점 계정 한결데테스트로 로그인한 뒤 KB국민카드로 수기결제 소액 결제를 시도하고, 결제 가능한 카드사가 아닙니다. 메시지가 표시되며 승인 완료 화면으로 넘어가지 않는지 확인한다. - admin: 회원 상세/회원 적용 화면에서 수기 MID 우선순위 적용 체크를 해제하고 수기결제 우선순위 영역 우측의 저장 버튼을 클릭해 저장한 뒤, 다시 조회했을 때 체크 해제 상태가 유지되는지 확인한다. - ve: 같은 KB국민카드로 수기결제 소액 결제를 다시 시도하고, 결제 가능한 카드사가 아닙니다. 메시지로 차단되지 않으며 결제 결과가 승인 또는 PG 응답 화면까지 진행되는지 확인한다. - admin: 부서설정관리 화면에서 박재민_법인의 수기 MID 카드 제한 설정을 끈 뒤, PG MID 화면에서 해당 수기 PG MID의 제한 카드사 UI가 보이지 않는지 확인한다. - admin: 부서설정 OFF 상태에서 회원 상세/회원 적용 화면의 수기결제 우선순위 UI가 보이지 않는지 확인한다. - ve: 부서설정 OFF 상태에서 KB국민카드로 수기결제를 시도하고, 결제 가능한 카드사가 아닙니다. 메시지로 차단되지 않으며 결제 결과가 승인 또는 PG 응답 화면까지 진행되는지 확인한다. - admin/ve: 부서설정관리에서 박재민_법인의 수기 MID 카드 제한 설정을 다시 켜고, 제한 카드사 UI와 수기결제 우선순위 UI가 다시 보이는지 확인한 뒤 수기 MID 우선순위 적용을 다시 체크해 저장한다. - ve: KB국민카드 수기결제를 다시 시도하고, 결제 가능한 카드사가 아닙니다. 메시지가 다시 표시되며 승인 완료로 넘어가지 않는지 확인한다.",
  "scope": "dev 환경에서 ADMIN 계정으로 박재민_법인의 수기 MID 카드 제한 정책, PG MID 제한 카드사, 한결데테스트 회원 수기 MID 우선순위 적용 체크 상태를 확인/전환하고, VE 한결데테스트 계정으로 KB국민카드 수기결제 차단/미차단 흐름을 검증한다. 승인된 결제는 QA 종료 후 즉시 취소한다.",
  "roles": [
    "ADMIN",
    "VE"
  ],
  "subjectAccounts": [
    {
      "role": "ADMIN",
      "label": "bigs_jjm",
      "envRole": "ADMIN"
    },
    {
      "role": "VE",
      "label": "한결데테스트",
      "envRole": "HANGYEOL_TEST_VE"
    }
  ],
  "checklist": [
    "admin: 비스킷링크 전산에 접속한 뒤 부서설정관리 화면에서 박재민_법인의 수기 MID 카드 제한 설정을 확인한다.",
    "admin: PG MID 화면에서 해당 가맹점 사용자에게 연결된 수기결제 MID 2개를 확인하고, 연결된 수기결제 MID 전부에 KB국민카드가 결제 제외 카드사로 표시되는지 확인한다.",
    "admin: 부서설정관리 화면에서 박재민_법인의 수기 MID 카드 제한 설정을 켠 뒤, PG MID 화면에서 해당 법인에 연결된 수기 PG MID의 제한 카드사 UI가 보이는지 확인한다.",
    "admin: 회원 상세/회원 적용 화면에서 해당 가맹점 유저의 수기결제 우선순위 UI, 수기 MID 우선순위 적용 체크박스, 연결된 MID 목록, 제한 카드사 뱃지가 보이는지 확인한다.",
    "admin: 회원 상세/회원 적용 화면에서 수기 MID 우선순위 적용을 체크하고 수기결제 우선순위 영역 우측의 저장 버튼을 클릭해 저장한 뒤, 다시 조회했을 때 체크 상태가 유지되는지 확인한다.",
    "ve: 비스킷페이에서 가맹점 계정 한결데테스트로 로그인한 뒤 KB국민카드로 수기결제 소액 결제를 시도하고, 결제 가능한 카드사가 아닙니다. 메시지가 표시되며 승인 완료 화면으로 넘어가지 않는지 확인한다.",
    "admin: 회원 상세/회원 적용 화면에서 수기 MID 우선순위 적용 체크를 해제하고 수기결제 우선순위 영역 우측의 저장 버튼을 클릭해 저장한 뒤, 다시 조회했을 때 체크 해제 상태가 유지되는지 확인한다.",
    "ve: 같은 KB국민카드로 수기결제 소액 결제를 다시 시도하고, 결제 가능한 카드사가 아닙니다. 메시지로 차단되지 않으며 결제 결과가 승인 또는 PG 응답 화면까지 진행되는지 확인한다.",
    "admin: 부서설정관리 화면에서 박재민_법인의 수기 MID 카드 제한 설정을 끈 뒤, PG MID 화면에서 해당 수기 PG MID의 제한 카드사 UI가 보이지 않는지 확인한다.",
    "admin: 부서설정 OFF 상태에서 회원 상세/회원 적용 화면의 수기결제 우선순위 UI가 보이지 않는지 확인한다.",
    "ve: 부서설정 OFF 상태에서 KB국민카드로 수기결제를 시도하고, 결제 가능한 카드사가 아닙니다. 메시지로 차단되지 않으며 결제 결과가 승인 또는 PG 응답 화면까지 진행되는지 확인한다.",
    "admin/ve: 부서설정관리에서 박재민_법인의 수기 MID 카드 제한 설정을 다시 켜고, 제한 카드사 UI와 수기결제 우선순위 UI가 다시 보이는지 확인한 뒤 수기 MID 우선순위 적용을 다시 체크해 저장한다.",
    "ve: KB국민카드 수기결제를 다시 시도하고, 결제 가능한 카드사가 아닙니다. 메시지가 다시 표시되며 승인 완료로 넘어가지 않는지 확인한다."
  ],
  "setupSteps": [
    {
      "name": "ADMIN 및 한결데테스트 VE 로그인 확인",
      "kind": "manual-precondition",
      "role": "ADMIN",
      "application": "admin",
      "targetRoles": [
        "ADMIN",
        "VE"
      ],
      "description": "ADMIN 계정은 비스킷링크 전산, 한결데테스트 계정은 비스킷페이 수기결제 화면에 접근할 수 있어야 한다. 계정 비밀번호와 2FA는 로컬 환경변수 또는 storageState로만 사용하고 git 산출물에는 남기지 않는다.",
      "required": true,
      "mutation": "none"
    },
    {
      "name": "수기 MID 카드 제한 정책 임시 변경 허용",
      "kind": "data-update",
      "role": "ADMIN",
      "application": "admin",
      "description": "QA 중 박재민_법인 수기 MID 카드 제한 정책 ON/OFF를 임시 변경한다. 테스트 종료 시 시작 전 값으로 원복한다.",
      "required": true,
      "mutation": "temporary",
      "guardEnv": "QA_3676_ALLOW_POLICY_MUTATION",
      "restore": {
        "required": true,
        "description": "부서정책 사용 여부를 시작 전 값으로 되돌린다."
      }
    },
    {
      "name": "수기 MID 우선순위 적용 체크 임시 변경 허용",
      "kind": "data-update",
      "role": "ADMIN",
      "application": "admin",
      "description": "QA 중 한결데테스트 수기 MID 우선순위 적용 체크 ON/OFF를 임시 변경한다. 테스트 종료 시 시작 전 값으로 원복한다.",
      "required": true,
      "mutation": "temporary",
      "guardEnv": "QA_3676_ALLOW_PRIORITY_MUTATION",
      "restore": {
        "required": true,
        "description": "수기 MID 우선순위 적용 체크 상태를 시작 전 값으로 되돌린다."
      }
    },
    {
      "name": "KB국민카드 실제 수기결제 실행 및 취소",
      "kind": "data-create",
      "role": "VE",
      "application": "store",
      "description": "정책/우선순위 상태별 차단/미차단 확인을 위해 KB국민카드 소액 수기결제를 시도한다. 승인된 결제는 QA 종료 후 전산 취소 API로 정리한다.",
      "required": true,
      "mutation": "persistent",
      "guardEnv": "QA_3676_ALLOW_PAYMENT_MUTATION",
      "restore": {
        "required": true,
        "description": "승인된 결제는 QA 완료 후 취소하고 취소 로그를 산출물에 남긴다."
      }
    }
  ],
  "pages": [
    {
      "name": "부서설정관리",
      "application": "admin",
      "path": "/admin/ta-department-setting",
      "tenantParam": "tenantId",
      "roles": [
        "ADMIN"
      ],
      "recordsSelector": "body",
      "dataRequestUrlPattern": "rm/settings"
    },
    {
      "name": "TID/MID 관리",
      "application": "admin",
      "path": "/business/pg-mid-manage",
      "tenantParam": "tenantId",
      "roles": [
        "ADMIN"
      ],
      "recordsSelector": "body",
      "dataRequestUrlPattern": "pgmids"
    },
    {
      "name": "업체관리 > 사용자",
      "application": "admin",
      "path": "/admin/member",
      "tenantParam": "tenantId",
      "roles": [
        "ADMIN"
      ],
      "recordsSelector": "body",
      "dataRequestUrlPattern": "users|keyin-priorities"
    },
    {
      "name": "스토어 수기결제",
      "application": "store",
      "path": "/face-to-face-payment",
      "tenantParam": "tenantId",
      "roles": [
        "VE"
      ],
      "recordsSelector": "main, body",
      "dataRequestUrlPattern": "/store/identity/payment"
    }
  ],
  "fixtures": {
    "corporationName": "박재민_법인",
    "corporationCode": "BP100006",
    "storeLoginId": "한결데테스트",
    "targetCard": "KB국민카드"
  }
}
