# QA Report - Redmine #3983 (dev)

- Generated: 2026-08-13T15:06:39+09:00
- Redmine: https://itsm.bix.bz/issues/3983
- QA Redmine: https://itsm.bix.bz/issues/3989
- Subject: 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA
- Workflow Status: 완료
- Status: FAIL
- Result JSON: artifacts/result-summary.json
- Roles: ADMIN -> VE
- Route Candidates: not recorded

## Scope

개발계 한결데테스트 가맹점의 동일카드 제한시간 UI 저장/검증, Excel 다운로드·업로드 제한, 비스킷페이 수기결제 횟수·금액·시간 집계 및 제한 없음 회귀

## Checklist

1. 한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인
2. 직접입력을 선택하면 분 단위 입력란이 표시되고 1분부터 525600분까지 저장되는지 확인
3. 직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인
4. 한결데테스트 가맹점 수정 화면을 다시 열었을 때 저장한 제한시간과 직접입력 분 값이 동일하게 표시되는지 확인
5. 제한시간 1분, 동일카드 결제횟수 1회로 설정한 뒤 비스킷페이 수기결제에서 첫 결제는 성공하고 1분 안의 두 번째 동일카드 결제는 횟수 초과로 차단되는지 확인
6. 제한시간 1분, 동일카드 결제횟수 3회로 설정한 뒤 비스킷페이 수기결제에서 동일카드 결제는 3회까지 성공하고 1분 안의 네 번째 결제가 차단되는지 확인
7. 설정한 제한시간 내 동일카드 승인금액 합계에 새 결제금액을 더했을 때 결제한도를 초과하면 차단되는지 확인
8. 제한시간이 지난 뒤에는 이전 동일카드 승인 건이 횟수와 금액 계산에서 제외되어 다시 결제할 수 있는지 확인
9. 제한 없음으로 설정하면 동일카드 결제횟수와 결제금액 제한이 적용되지 않는지 확인
10. 엑셀의 동일카드 제한시간은 고정 선택지만 제공되고 임의의 분 값으로 새로 변경할 수 없는지 확인
11. 기존 직접입력 90분 가맹점을 내려받아 90분을 유지한 채 다시 올리면 성공하고, 120분으로 변경하면 실패하며, 1시간 같은 고정 선택값으로 변경하면 성공하는지 확인

## Setup Steps

- 없음

## Source Text

Redmine #3983 가맹점 동일카드 결제 제한 집계 기간을 고정 선택 또는 분 단위 직접입력으로 설정하고, 엑셀 및 실제 수기결제 제한 동작을 검증한다.

## Execution Summary

- Passed: 9
- Failed: 2
- Skipped: 0
- Blocked: 0
- Flaky: 0
- Duration: 368084ms


## 한눈에 보는 결과

| 확인한 항목 | 계정 | 화면 | 수행한 동작 | 결과 | 증거 자료 |
|---|---|---|---|---|---|
| 한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인 | 전체 | [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA | 전체 계정으로 [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA 항목을 확인 | 기대한 동작과 달랐습니다: Error: 요청된 고정 옵션명이 모두 그대로 노출되어야 합니다. 실제 화면의 1주 옵션은 1주일과 다릅니다.  expect(received).toEqual(expected) // deep equality | [스크린샷 1](artifacts/screenshots/01-fixed-options-final.png)<br>[스크린샷 2](artifacts/screenshots/02-screenshot.png)<br>[스크린샷 3](artifacts/screenshots/03-screenshot.png)<br>[스크린샷 4](artifacts/screenshots/04-screenshot.png)<br>[화면 재현 기록 1](https://pub-2726d2ecd69d4e12a4515edca8540068.r2.dev/qa/issues/3983/dev/artifacts/traces/01-trace.zip?v=649103b98bcc3d3d77c897394d99d4a0c735055c)<br>[실행 기록 1](artifacts/logs/01-fixed-options.md)<br>[실행 기록 2](artifacts/logs/02-cleanup.md)<br>[실행 기록 3](artifacts/logs/03-error-context.md)<br>[실행 기록 4](artifacts/logs/04-error-context.md) |
| 직접입력을 선택하면 분 단위 입력란이 표시되고 1분부터 525600분까지 저장되는지 확인 | 전체 | [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA | 전체 계정으로 [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA 항목을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/05-custom-valid-range.png)<br>[실행 기록 1](artifacts/logs/05-custom-valid-range.md)<br>[실행 기록 2](artifacts/logs/06-cleanup.md) |
| 직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인 | 전체 | [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA | 전체 계정으로 [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA 항목을 확인 | 기대한 동작과 달랐습니다: Error: 공백·소수·0·음수·상한 초과 입력은 저장 가능한 값으로 조용히 변환되지 않고 안내가 보여야 합니다.  expect(received).toEqual(expected) // deep equality | [스크린샷 1](artifacts/screenshots/06-custom-invalid-values.png)<br>[스크린샷 2](artifacts/screenshots/07-screenshot.png)<br>[스크린샷 3](artifacts/screenshots/08-screenshot.png)<br>[스크린샷 4](artifacts/screenshots/09-screenshot.png)<br>[화면 재현 기록 1](https://pub-2726d2ecd69d4e12a4515edca8540068.r2.dev/qa/issues/3983/dev/artifacts/traces/02-trace.zip?v=649103b98bcc3d3d77c897394d99d4a0c735055c)<br>[실행 기록 1](artifacts/logs/07-custom-invalid-values.md)<br>[실행 기록 2](artifacts/logs/08-cleanup.md)<br>[실행 기록 3](artifacts/logs/09-error-context.md)<br>[실행 기록 4](artifacts/logs/10-error-context.md) |
| 한결데테스트 가맹점 수정 화면을 다시 열었을 때 저장한 제한시간과 직접입력 분 값이 동일하게 표시되는지 확인 | 전체 | [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA | 전체 계정으로 [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA 항목을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/10-custom-persistence.png)<br>[실행 기록 1](artifacts/logs/11-custom-persistence.md)<br>[실행 기록 2](artifacts/logs/12-cleanup.md) |
| 제한시간 1분, 동일카드 결제횟수 1회로 설정한 뒤 비스킷페이 수기결제에서 첫 결제는 성공하고 1분 안의 두 번째 동일카드 결제는 횟수 초과로 차단되는지 확인 | 전체 | [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA | 전체 계정으로 스토어 수기결제를 완료하고 응답의 거래 ID와 완료 화면을 확인 | 기대한 동작과 일치했습니다. | [실행 기록 1](artifacts/logs/13-count-limit-one.md)<br>[실행 기록 2](artifacts/logs/14-cleanup.md) |
| 제한시간 1분, 동일카드 결제횟수 3회로 설정한 뒤 비스킷페이 수기결제에서 동일카드 결제는 3회까지 성공하고 1분 안의 네 번째 결제가 차단되는지 확인 | 전체 | [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA | 전체 계정으로 스토어 수기결제를 완료하고 응답의 거래 ID와 완료 화면을 확인 | 기대한 동작과 일치했습니다. | [실행 기록 1](artifacts/logs/15-count-limit-three.md)<br>[실행 기록 2](artifacts/logs/16-cleanup.md) |
| 설정한 제한시간 내 동일카드 승인금액 합계에 새 결제금액을 더했을 때 결제한도를 초과하면 차단되는지 확인 | 전체 | [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA | 전체 계정으로 [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA 항목을 확인 | 기대한 동작과 일치했습니다. | [실행 기록 1](artifacts/logs/17-amount-limit.md)<br>[실행 기록 2](artifacts/logs/18-cleanup.md) |
| 제한시간이 지난 뒤에는 이전 동일카드 승인 건이 횟수와 금액 계산에서 제외되어 다시 결제할 수 있는지 확인 | 전체 | [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA | 전체 계정으로 [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA 항목을 확인 | 기대한 동작과 일치했습니다. | [실행 기록 1](artifacts/logs/19-window-expiry.md)<br>[실행 기록 2](artifacts/logs/20-cleanup.md) |
| 제한 없음으로 설정하면 동일카드 결제횟수와 결제금액 제한이 적용되지 않는지 확인 | 전체 | [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA | 전체 계정으로 [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA 항목을 확인 | 기대한 동작과 일치했습니다. | [실행 기록 1](artifacts/logs/21-unlimited.md)<br>[실행 기록 2](artifacts/logs/22-cleanup.md) |
| 엑셀의 동일카드 제한시간은 고정 선택지만 제공되고 임의의 분 값으로 새로 변경할 수 없는지 확인 | 전체 | [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA | 전체 계정으로 [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA 엑셀 다운로드를 시도하고 화면 범위와 파일 범위를 비교 | 기대한 동작과 일치했습니다. | [실행 기록 1](artifacts/logs/23-excel-fixed-options.md)<br>[실행 기록 2](artifacts/logs/24-cleanup.md)<br>[파일 1](artifacts/files/01-빅스페이먼츠_가맹점목록_20260813145854.xlsx) |
| 기존 직접입력 90분 가맹점을 내려받아 90분을 유지한 채 다시 올리면 성공하고, 120분으로 변경하면 실패하며, 1시간 같은 고정 선택값으로 변경하면 성공하는지 확인 | 전체 | [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA | 전체 계정으로 [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA 항목을 확인 | 기대한 동작과 일치했습니다. | [실행 기록 1](artifacts/logs/25-excel-custom-roundtrip.md)<br>[실행 기록 2](artifacts/logs/26-cleanup.md)<br>[파일 1](artifacts/files/02-빅스페이먼츠_가맹점목록_20260813145900.xlsx)<br>[파일 2](artifacts/files/03-qa3983-custom-120-invalid.xlsx)<br>[파일 3](artifacts/files/04-qa3983-fixed-1hour-valid.xlsx) |

## 실패 또는 확인 불가 상세

### 1. 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 실패

- 체크 항목: 한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인
- 수행한 동작: 전체 계정으로 [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA 항목을 확인
- 기대 결과: 전체 계정에서 [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA 확인 결과가 체크리스트와 일치해야 합니다.
- 실제 결과: 기대한 동작과 달랐습니다: Error: 요청된 고정 옵션명이 모두 그대로 노출되어야 합니다. 실제 화면의 1주 옵션은 1주일과 다릅니다.  expect(received).toEqual(expected) // deep equality
- 분류: 기대 결과와 다름
- 오류 내용: Error: 요청된 고정 옵션명이 모두 그대로 노출되어야 합니다. 실제 화면의 1주 옵션은 1주일과 다릅니다.  expect(received).toEqual(expected) // deep equality
- 스크린샷: [스크린샷 1](artifacts/screenshots/01-fixed-options-final.png)<br>[스크린샷 2](artifacts/screenshots/02-screenshot.png)<br>[스크린샷 3](artifacts/screenshots/03-screenshot.png)<br>[스크린샷 4](artifacts/screenshots/04-screenshot.png)
- 화면 재현 기록: [화면 재현 기록 1](https://pub-2726d2ecd69d4e12a4515edca8540068.r2.dev/qa/issues/3983/dev/artifacts/traces/01-trace.zip?v=649103b98bcc3d3d77c897394d99d4a0c735055c)
- 실행 기록: [실행 기록 1](artifacts/logs/01-fixed-options.md)<br>[실행 기록 2](artifacts/logs/02-cleanup.md)<br>[실행 기록 3](artifacts/logs/03-error-context.md)<br>[실행 기록 4](artifacts/logs/04-error-context.md)
- 수동 확인 명령: `npm run qa:debug -- --issue "3983" --env "dev" --role "전체" --case "한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인"`

### 2. 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 실패

- 체크 항목: 직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인
- 수행한 동작: 전체 계정으로 [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA 항목을 확인
- 기대 결과: 전체 계정에서 [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA 확인 결과가 체크리스트와 일치해야 합니다.
- 실제 결과: 기대한 동작과 달랐습니다: Error: 공백·소수·0·음수·상한 초과 입력은 저장 가능한 값으로 조용히 변환되지 않고 안내가 보여야 합니다.  expect(received).toEqual(expected) // deep equality
- 분류: 기대 결과와 다름
- 오류 내용: Error: 공백·소수·0·음수·상한 초과 입력은 저장 가능한 값으로 조용히 변환되지 않고 안내가 보여야 합니다.  expect(received).toEqual(expected) // deep equality
- 스크린샷: [스크린샷 1](artifacts/screenshots/06-custom-invalid-values.png)<br>[스크린샷 2](artifacts/screenshots/07-screenshot.png)<br>[스크린샷 3](artifacts/screenshots/08-screenshot.png)<br>[스크린샷 4](artifacts/screenshots/09-screenshot.png)
- 화면 재현 기록: [화면 재현 기록 1](https://pub-2726d2ecd69d4e12a4515edca8540068.r2.dev/qa/issues/3983/dev/artifacts/traces/02-trace.zip?v=649103b98bcc3d3d77c897394d99d4a0c735055c)
- 실행 기록: [실행 기록 1](artifacts/logs/07-custom-invalid-values.md)<br>[실행 기록 2](artifacts/logs/08-cleanup.md)<br>[실행 기록 3](artifacts/logs/09-error-context.md)<br>[실행 기록 4](artifacts/logs/10-error-context.md)
- 수동 확인 명령: `npm run qa:debug -- --issue "3983" --env "dev" --role "전체" --case "직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인"`


## 수동 재현 필요

### 1. 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 기대 결과와 다름

- 체크 항목: 한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인
- 필요한 이유: 화면에서 확인한 값이 체크리스트의 기대 결과와 달랐습니다.
- 작업자 알림: [QA 확인 요청] 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인: 기대 결과와 다름 상태입니다. npm run qa:debug -- --issue "3983" --env "dev" --role "전체" --case "한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인" 로 동일 계정과 항목을 다시 열어 확인하세요.
- 직접 열기 명령: `npm run qa:debug -- --issue "3983" --env "dev" --role "전체" --case "한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인"`
- 작업자가 위 명령을 실행하면 대상 계정의 로그인 세션을 새로 만든 뒤 브라우저가 열립니다.
- 브라우저에서 자동화가 멈춘 화면, 현재 URL, 화면 문구, 다운로드 알림 또는 문서보관함 상태를 확인합니다.
- 확인한 화면과 필요한 조치 내용을 Redmine/GitHub QA 이슈에 남깁니다.

### 2. 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 기대 결과와 다름

- 체크 항목: 직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인
- 필요한 이유: 화면에서 확인한 값이 체크리스트의 기대 결과와 달랐습니다.
- 작업자 알림: [QA 확인 요청] 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인: 기대 결과와 다름 상태입니다. npm run qa:debug -- --issue "3983" --env "dev" --role "전체" --case "직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인" 로 동일 계정과 항목을 다시 열어 확인하세요.
- 직접 열기 명령: `npm run qa:debug -- --issue "3983" --env "dev" --role "전체" --case "직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인"`
- 작업자가 위 명령을 실행하면 대상 계정의 로그인 세션을 새로 만든 뒤 브라우저가 열립니다.
- 브라우저에서 자동화가 멈춘 화면, 현재 URL, 화면 문구, 다운로드 알림 또는 문서보관함 상태를 확인합니다.
- 확인한 화면과 필요한 조치 내용을 Redmine/GitHub QA 이슈에 남깁니다.


## 스크린샷

- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인: [스크린샷 1](artifacts/screenshots/01-fixed-options-final.png)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인: [스크린샷 2](artifacts/screenshots/02-screenshot.png)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인: [스크린샷 3](artifacts/screenshots/03-screenshot.png)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인: [스크린샷 4](artifacts/screenshots/04-screenshot.png)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 직접입력을 선택하면 분 단위 입력란이 표시되고 1분부터 525600분까지 저장되는지 확인: [스크린샷 1](artifacts/screenshots/05-custom-valid-range.png)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인: [스크린샷 1](artifacts/screenshots/06-custom-invalid-values.png)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인: [스크린샷 2](artifacts/screenshots/07-screenshot.png)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인: [스크린샷 3](artifacts/screenshots/08-screenshot.png)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인: [스크린샷 4](artifacts/screenshots/09-screenshot.png)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 한결데테스트 가맹점 수정 화면을 다시 열었을 때 저장한 제한시간과 직접입력 분 값이 동일하게 표시되는지 확인: [스크린샷 1](artifacts/screenshots/10-custom-persistence.png)

## 화면 재현 기록

- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인: [화면 재현 기록 1](https://pub-2726d2ecd69d4e12a4515edca8540068.r2.dev/qa/issues/3983/dev/artifacts/traces/01-trace.zip?v=649103b98bcc3d3d77c897394d99d4a0c735055c)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인: [화면 재현 기록 1](https://pub-2726d2ecd69d4e12a4515edca8540068.r2.dev/qa/issues/3983/dev/artifacts/traces/02-trace.zip?v=649103b98bcc3d3d77c897394d99d4a0c735055c)
- 화면 재현 기록은 실패한 항목에서 화면 전환과 요청 흐름을 다시 보기 위한 자료입니다.

## 실행 기록

- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인: [실행 기록 1](artifacts/logs/01-fixed-options.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인: [실행 기록 2](artifacts/logs/02-cleanup.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인: [실행 기록 3](artifacts/logs/03-error-context.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인: [실행 기록 4](artifacts/logs/04-error-context.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 직접입력을 선택하면 분 단위 입력란이 표시되고 1분부터 525600분까지 저장되는지 확인: [실행 기록 1](artifacts/logs/05-custom-valid-range.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 직접입력을 선택하면 분 단위 입력란이 표시되고 1분부터 525600분까지 저장되는지 확인: [실행 기록 2](artifacts/logs/06-cleanup.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인: [실행 기록 1](artifacts/logs/07-custom-invalid-values.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인: [실행 기록 2](artifacts/logs/08-cleanup.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인: [실행 기록 3](artifacts/logs/09-error-context.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인: [실행 기록 4](artifacts/logs/10-error-context.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 한결데테스트 가맹점 수정 화면을 다시 열었을 때 저장한 제한시간과 직접입력 분 값이 동일하게 표시되는지 확인: [실행 기록 1](artifacts/logs/11-custom-persistence.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 한결데테스트 가맹점 수정 화면을 다시 열었을 때 저장한 제한시간과 직접입력 분 값이 동일하게 표시되는지 확인: [실행 기록 2](artifacts/logs/12-cleanup.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 제한시간 1분, 동일카드 결제횟수 1회로 설정한 뒤 비스킷페이 수기결제에서 첫 결제는 성공하고 1분 안의 두 번째 동일카드 결제는 횟수 초과로 차단되는지 확인: [실행 기록 1](artifacts/logs/13-count-limit-one.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 제한시간 1분, 동일카드 결제횟수 1회로 설정한 뒤 비스킷페이 수기결제에서 첫 결제는 성공하고 1분 안의 두 번째 동일카드 결제는 횟수 초과로 차단되는지 확인: [실행 기록 2](artifacts/logs/14-cleanup.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 제한시간 1분, 동일카드 결제횟수 3회로 설정한 뒤 비스킷페이 수기결제에서 동일카드 결제는 3회까지 성공하고 1분 안의 네 번째 결제가 차단되는지 확인: [실행 기록 1](artifacts/logs/15-count-limit-three.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 제한시간 1분, 동일카드 결제횟수 3회로 설정한 뒤 비스킷페이 수기결제에서 동일카드 결제는 3회까지 성공하고 1분 안의 네 번째 결제가 차단되는지 확인: [실행 기록 2](artifacts/logs/16-cleanup.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 설정한 제한시간 내 동일카드 승인금액 합계에 새 결제금액을 더했을 때 결제한도를 초과하면 차단되는지 확인: [실행 기록 1](artifacts/logs/17-amount-limit.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 설정한 제한시간 내 동일카드 승인금액 합계에 새 결제금액을 더했을 때 결제한도를 초과하면 차단되는지 확인: [실행 기록 2](artifacts/logs/18-cleanup.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 제한시간이 지난 뒤에는 이전 동일카드 승인 건이 횟수와 금액 계산에서 제외되어 다시 결제할 수 있는지 확인: [실행 기록 1](artifacts/logs/19-window-expiry.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 제한시간이 지난 뒤에는 이전 동일카드 승인 건이 횟수와 금액 계산에서 제외되어 다시 결제할 수 있는지 확인: [실행 기록 2](artifacts/logs/20-cleanup.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 제한 없음으로 설정하면 동일카드 결제횟수와 결제금액 제한이 적용되지 않는지 확인: [실행 기록 1](artifacts/logs/21-unlimited.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 제한 없음으로 설정하면 동일카드 결제횟수와 결제금액 제한이 적용되지 않는지 확인: [실행 기록 2](artifacts/logs/22-cleanup.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 엑셀의 동일카드 제한시간은 고정 선택지만 제공되고 임의의 분 값으로 새로 변경할 수 없는지 확인: [실행 기록 1](artifacts/logs/23-excel-fixed-options.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 엑셀의 동일카드 제한시간은 고정 선택지만 제공되고 임의의 분 값으로 새로 변경할 수 없는지 확인: [실행 기록 2](artifacts/logs/24-cleanup.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 기존 직접입력 90분 가맹점을 내려받아 90분을 유지한 채 다시 올리면 성공하고, 120분으로 변경하면 실패하며, 1시간 같은 고정 선택값으로 변경하면 성공하는지 확인: [실행 기록 1](artifacts/logs/25-excel-custom-roundtrip.md)
- 전체 / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 기존 직접입력 90분 가맹점을 내려받아 90분을 유지한 채 다시 올리면 성공하고, 120분으로 변경하면 실패하며, 1시간 같은 고정 선택값으로 변경하면 성공하는지 확인: [실행 기록 2](artifacts/logs/26-cleanup.md)

## 자동화 원본 결과

| Scenario | Status | Duration | Screenshot | 화면 재현 기록 | Log | Error |
|---|---:|---:|---|---|---|---|
| 3983/dev/url-search.spec.ts / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 한결데테스트 가맹점 수정 화면의 동일카드 제한시간에서 제한 없음, 30분, 1시간, 3시간, 6시간, 12시간, 24시간, 48시간, 72시간, 1주일, 1개월을 선택해 저장할 수 있는지 확인 | FAIL | 115719ms | [스크린샷 1](artifacts/screenshots/01-fixed-options-final.png)<br>[스크린샷 2](artifacts/screenshots/02-screenshot.png)<br>[스크린샷 3](artifacts/screenshots/03-screenshot.png)<br>[스크린샷 4](artifacts/screenshots/04-screenshot.png) | [화면 재현 기록 1](https://pub-2726d2ecd69d4e12a4515edca8540068.r2.dev/qa/issues/3983/dev/artifacts/traces/01-trace.zip?v=649103b98bcc3d3d77c897394d99d4a0c735055c) | [로그 1](artifacts/logs/01-fixed-options.md)<br>[로그 2](artifacts/logs/02-cleanup.md)<br>[로그 3](artifacts/logs/03-error-context.md)<br>[로그 4](artifacts/logs/04-error-context.md) | Error: 요청된 고정 옵션명이 모두 그대로 노출되어야 합니다. 실제 화면의 1주 옵션은 1주일과 다릅니다.  expect(received).toEqual(expected) // deep equality |
| 3983/dev/url-search.spec.ts / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 직접입력을 선택하면 분 단위 입력란이 표시되고 1분부터 525600분까지 저장되는지 확인 | PASS | 23926ms | [스크린샷 1](artifacts/screenshots/05-custom-valid-range.png) |  | [로그 1](artifacts/logs/05-custom-valid-range.md)<br>[로그 2](artifacts/logs/06-cleanup.md) |  |
| 3983/dev/url-search.spec.ts / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 직접입력에 공백, 소수, 0, 음수, 525601분 이상을 입력하면 저장되지 않고 안내가 표시되는지 확인 | FAIL | 16070ms | [스크린샷 1](artifacts/screenshots/06-custom-invalid-values.png)<br>[스크린샷 2](artifacts/screenshots/07-screenshot.png)<br>[스크린샷 3](artifacts/screenshots/08-screenshot.png)<br>[스크린샷 4](artifacts/screenshots/09-screenshot.png) | [화면 재현 기록 1](https://pub-2726d2ecd69d4e12a4515edca8540068.r2.dev/qa/issues/3983/dev/artifacts/traces/02-trace.zip?v=649103b98bcc3d3d77c897394d99d4a0c735055c) | [로그 1](artifacts/logs/07-custom-invalid-values.md)<br>[로그 2](artifacts/logs/08-cleanup.md)<br>[로그 3](artifacts/logs/09-error-context.md)<br>[로그 4](artifacts/logs/10-error-context.md) | Error: 공백·소수·0·음수·상한 초과 입력은 저장 가능한 값으로 조용히 변환되지 않고 안내가 보여야 합니다.  expect(received).toEqual(expected) // deep equality |
| 3983/dev/url-search.spec.ts / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 한결데테스트 가맹점 수정 화면을 다시 열었을 때 저장한 제한시간과 직접입력 분 값이 동일하게 표시되는지 확인 | PASS | 17005ms | [스크린샷 1](artifacts/screenshots/10-custom-persistence.png) |  | [로그 1](artifacts/logs/11-custom-persistence.md)<br>[로그 2](artifacts/logs/12-cleanup.md) |  |
| 3983/dev/url-search.spec.ts / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 제한시간 1분, 동일카드 결제횟수 1회로 설정한 뒤 비스킷페이 수기결제에서 첫 결제는 성공하고 1분 안의 두 번째 동일카드 결제는 횟수 초과로 차단되는지 확인 | PASS | 14199ms |  |  | [로그 1](artifacts/logs/13-count-limit-one.md)<br>[로그 2](artifacts/logs/14-cleanup.md) |  |
| 3983/dev/url-search.spec.ts / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 제한시간 1분, 동일카드 결제횟수 3회로 설정한 뒤 비스킷페이 수기결제에서 동일카드 결제는 3회까지 성공하고 1분 안의 네 번째 결제가 차단되는지 확인 | PASS | 32912ms |  |  | [로그 1](artifacts/logs/15-count-limit-three.md)<br>[로그 2](artifacts/logs/16-cleanup.md) |  |
| 3983/dev/url-search.spec.ts / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 설정한 제한시간 내 동일카드 승인금액 합계에 새 결제금액을 더했을 때 결제한도를 초과하면 차단되는지 확인 | PASS | 17020ms |  |  | [로그 1](artifacts/logs/17-amount-limit.md)<br>[로그 2](artifacts/logs/18-cleanup.md) |  |
| 3983/dev/url-search.spec.ts / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 제한시간이 지난 뒤에는 이전 동일카드 승인 건이 횟수와 금액 계산에서 제외되어 다시 결제할 수 있는지 확인 | PASS | 87150ms |  |  | [로그 1](artifacts/logs/19-window-expiry.md)<br>[로그 2](artifacts/logs/20-cleanup.md) |  |
| 3983/dev/url-search.spec.ts / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 제한 없음으로 설정하면 동일카드 결제횟수와 결제금액 제한이 적용되지 않는지 확인 | PASS | 21118ms |  |  | [로그 1](artifacts/logs/21-unlimited.md)<br>[로그 2](artifacts/logs/22-cleanup.md) |  |
| 3983/dev/url-search.spec.ts / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 엑셀의 동일카드 제한시간은 고정 선택지만 제공되고 임의의 분 값으로 새로 변경할 수 없는지 확인 | PASS | 4925ms |  |  | [로그 1](artifacts/logs/23-excel-fixed-options.md)<br>[로그 2](artifacts/logs/24-cleanup.md) |  |
| 3983/dev/url-search.spec.ts / [3983][dev] 가맹점 동일카드 결제 제한시간 선택·직접입력·엑셀·결제 집계 QA / 기존 직접입력 90분 가맹점을 내려받아 90분을 유지한 채 다시 올리면 성공하고, 120분으로 변경하면 실패하며, 1시간 같은 고정 선택값으로 변경하면 성공하는지 확인 | PASS | 7007ms |  |  | [로그 1](artifacts/logs/25-excel-custom-roundtrip.md)<br>[로그 2](artifacts/logs/26-cleanup.md) |  |

## Notes

- Playwright 실행 결과를 기준으로 작성되었습니다.
- QA subissue에 report/evidence 업로드와 완료 상태 갱신이 반영되었습니다.
