{
  "issueId": "4290",
  "environment": "dev",
  "source": "user-provided checklist (Redmine #4290)",
  "sourceText": "요청자: 송인준\n[1] QA 요청 배경\n* https://itsm.bix.bz/issues/4290\n[2] 사전 데이터\n* 비스킷페이 VE 계정\n[3] 사전 작업\n* 비스킷페이 VE 계정 로그인\n[4] 권한별 테스트\n* VE\n[5] 검증 대상\n* 스토어 송금 결과 화면 (요청서 원문 [5] \"실험실 > SMS 알림톡 사용 통계\"는 복사 오류로 요청자 확인)\n[6] 체크리스트\n* 일반 송금(비밀번호 입력)으로 1회 이체한도보다 큰 금액 송금 시 \"송금 요청 오류\"와 \"1회 이체한도가 초과되었습니다.\" 표시, 실제 이체·지갑 잔액 차감 없음\n* 비밀번호 없는 송금 한도 초과 (요청자 확인으로 대상 제외)\n* 은행 이체 실패 확정 시 실제 실패 사유 표시\n* 실패 사유가 비어 있으면 \"관리자에게 문의 하세요\"\n* 30초 안에 이체 내역 조회 안 되면 \"송금 요청이 접수되었습니다.\" + 재확인 버튼\n* 30초 안에 은행 결과 미확정이면 \"송금을 처리하고 있습니다.\" + 지연 사유\n* 접수/처리중 화면 재확인 → 완료 건은 \"송금이 완료되었습니다.\"\n* 접수/처리중 화면 재확인 → 실패 건은 실패 화면 + 사유\n* 접수/처리중 화면 재확인 시 상태 조회 실패해도 접수 상태 유지\n* 한도 내 정상 송금 시 완료 화면\n* 송금 요청 500/네트워크 오류 시 \"관리자에게 문의 하세요\"",
  "scope": "개발계 비스킷페이 스토어 송금 결과 화면(한도 초과·실패 사유·접수/처리중·재확인) QA",
  "checklist": [
    "① [실제 송금·요청자 수행] VE 가맹점 1회 이체한도 200만원(어드민 최소 선택지) 설정 후 비밀번호 송금 300만원 → \"송금 요청 오류\" + \"1회 이체한도가 초과되었습니다.\", 지갑 잔액·이체 내역 변동 없음 (QA 후 한도 원복)",
    "② 비밀번호 없는 가맹점 한도 초과: 요청자 확인으로 대상 제외",
    "③~⑨·⑪ [가짜 응답] 송금 정책·예금주 확인·한도·송금·상태 조회 응답을 브라우저 안에서 가짜로 응답해 결과 화면 확인 (서버로 송금 요청 없음, 이체 비밀번호 미입력)",
    "③ 상태 조회 failed + reason \"수취인 계좌 오류\" → 실패 화면에 사유 표시 / ④ reason null → \"관리자에게 문의 하세요\"",
    "⑤ 상태 조회 30초 차단 → \"송금 요청이 접수되었습니다.\" + 재확인 버튼 / ⑥ 미확정 + 지연 사유 → \"송금을 처리하고 있습니다.\" + 사유",
    "⑦ 접수·처리중 화면 재확인 → 완료 / ⑧ 재확인 → 실패 화면 + 사유 / ⑨ 재확인 중 상태 조회 실패 → 접수 상태 유지(실패 화면 아님)",
    "⑪ 송금 요청 HTTP 500(내부 오류 메시지 포함)·네트워크 오류 → \"관리자에게 문의 하세요\", 내부 문구 미노출",
    "⑩ [실제 송금·요청자 수행] 한도 원복 후 1,000원 송금(2회) → 개발계 은행 이체 미확정(대기중) 상태에서 실패가 아닌 처리중 화면 정상 표시, 요청자 판정 통과 (완료 화면은 가짜 응답 케이스로 확인)"
  ],
  "roles": [
    "VE"
  ],
  "routeCandidates": "../../../../qa-results/issues/4290/dev/route-candidates.json",
  "setupSteps": [],
  "pages": [
    {
      "name": "스토어 송금",
      "application": "store",
      "path": "/transfer",
      "tenantParam": "tenantId",
      "roles": [
        "VE"
      ],
      "bankName": "국민",
      "filters": []
    }
  ],
  "scenario": "store-transfer-result"
}
