# QA Report - Redmine #4187 (dev)

- Generated: 2026-10-01T17:02:15+09:00
- Redmine: https://itsm.bix.bz/issues/4187
- QA Redmine: not created
- Subject: QA checklist for #4187
- Workflow Status: 준비
- Status: PASS
- Result JSON: artifacts/result-summary.json
- Roles: ADMIN -> VE
- Route Candidates: not recorded

## Scope

개발계 ISP 링크 결제 일시불 선택 시 가맹점 최대 할부개월수가 아닌 선택값(일시불) 적용 및 ISP 결제창 진입 QA

## Checklist

1. 업체관리 > 가맹점 관리 > 'A_주홍석_가맹3' 수정 모달에서 최대 할부개월 수 확인 (조회만, 저장 안 함)
2. VE(A_주홍석_가맹3) 링크 결제 생성에서 결제 최대 할부개월 제한을 일시불로 선택해 5만 원 이하(10,000원) 링크 발송 (installment 01)
3. 링크 결제 > ISP 결제(KPD)에서 할부개월이 일시불로 표시되고, 결제창 요청에 일시불(installment 1)이 전달되는지 확인
4. PG 결제창 할부 파라미터가 가맹점 최대 할부개월 수가 아닌 일시불(halbuInfo 00)로 생성되고 ISP 결제창이 열리는지 확인
5. 요청서 링크(c5b93f0e3686446)는 만료되어 같은 가맹점으로 새 링크를 발송해 확인. ISP 앱 승인은 진행하지 않음(실결제 없음)

## Setup Steps

- 없음

## Source Text

요청자: 송인준
[1] QA 요청 배경
* https://itsm.bix.bz/issues/4187
[2] 사전 데이터
* 비스킷링크 ADMIN 계정
[3] 사전 작업
* 비스킷링크 ADMIN 계정 로그인
* 비스킷링크 TA 계정 로그인
[4] 권한별 테스트
* ADMIN
[5] 검증 대상
* 링크 결제 ISP
[6] 체크리스트
* 업체관리 > 가맹점 관리 > 가맹점 관리 >'A_주홍석_가맹3' 수정 버튼 클릭 후 최대 할부개월수 확인 ,
* 기존에는 링크 결제에서 일시불로 선택 하면 가맹점의 최대 할부개월수로 동작해서 isp 결제 창이 안떴는데 사용자가 선택한 일시불로 되는지 확인
* https://store-dev.biscuitpay.com/link-shop-payment?link=c5b93f0e3686446 < 일시불 동작 확인

## Execution Summary

- Passed: 3
- Failed: 0
- Skipped: 0
- Blocked: 0
- Flaky: 0
- Duration: 44295ms


## 한눈에 보는 결과

| 확인한 항목 | 계정 | 화면 | 수행한 동작 | 결과 | 증거 자료 |
|---|---|---|---|---|---|
| A_주홍석_가맹3 최대 할부개월 수 | ADMIN - 가맹점 관리 | [ADMIN] 가맹점 관리 | ADMIN - 가맹점 관리 계정으로 [ADMIN] 가맹점 관리 항목을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/01-admin-vendor-quota.png)<br>[실행 기록 1](artifacts/logs/01-admin-vendor-quota.md) |
| 일시불 링크 생성·발송 | VE - 링크 결제 ISP | [VE] 링크 결제 ISP | VE - 링크 결제 ISP 계정으로 [VE] 링크 결제 ISP 항목을 확인 | 기대한 동작과 일치했습니다. | [실행 기록 1](artifacts/logs/02-store-link-send.md) |
| ISP 일시불 결제창 진입 | 전체 | [결제자] 링크 결제 ISP | 전체 계정으로 [결제자] 링크 결제 ISP 항목을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/02-payer-isp-form.png)<br>[스크린샷 2](artifacts/screenshots/03-payer-isp-confirm.png)<br>[스크린샷 3](artifacts/screenshots/04-isp-popup.png)<br>[실행 기록 1](artifacts/logs/03-payer-isp.md) |

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

- 실패 또는 확인 불가 항목이 없습니다.

## 수동 재현 필요

- 수동 재현이 필요한 항목이 없습니다.

## 스크린샷

- ADMIN - 가맹점 관리 / [ADMIN] 가맹점 관리 / A_주홍석_가맹3 최대 할부개월 수: [스크린샷 1](artifacts/screenshots/01-admin-vendor-quota.png)
- 전체 / [결제자] 링크 결제 ISP / ISP 일시불 결제창 진입: [스크린샷 1](artifacts/screenshots/02-payer-isp-form.png)
- 전체 / [결제자] 링크 결제 ISP / ISP 일시불 결제창 진입: [스크린샷 2](artifacts/screenshots/03-payer-isp-confirm.png)
- 전체 / [결제자] 링크 결제 ISP / ISP 일시불 결제창 진입: [스크린샷 3](artifacts/screenshots/04-isp-popup.png)

## 화면 재현 기록

- 화면 재현 기록 자료가 없습니다.
- 화면 재현 기록은 기본적으로 실패/확인불가 항목에 한해 포함합니다. PASS 항목 trace까지 필요하면 `QA_PUBLISH_TRACE=1 npm run qa:report -- --issue <id> --env <env>`로 내부 제출용 산출물을 생성합니다.

## 실행 기록

- ADMIN - 가맹점 관리 / [ADMIN] 가맹점 관리 / A_주홍석_가맹3 최대 할부개월 수: [실행 기록 1](artifacts/logs/01-admin-vendor-quota.md)
- VE - 링크 결제 ISP / [VE] 링크 결제 ISP / 일시불 링크 생성·발송: [실행 기록 1](artifacts/logs/02-store-link-send.md)
- 전체 / [결제자] 링크 결제 ISP / ISP 일시불 결제창 진입: [실행 기록 1](artifacts/logs/03-payer-isp.md)

## 자동화 원본 결과

| Scenario | Status | Duration | Screenshot | 화면 재현 기록 | Log | Error |
|---|---:|---:|---|---|---|---|
| 4187/dev/isp-link-installment.spec.ts / [4187][dev] QA checklist for #4187 / [ADMIN] 가맹점 관리 / A_주홍석_가맹3 최대 할부개월 수 | PASS | 15205ms | [스크린샷 1](artifacts/screenshots/01-admin-vendor-quota.png) |  | [로그 1](artifacts/logs/01-admin-vendor-quota.md) |  |
| 4187/dev/isp-link-installment.spec.ts / [4187][dev] QA checklist for #4187 / [VE] 링크 결제 ISP / 일시불 링크 생성·발송 | PASS | 14226ms |  |  | [로그 1](artifacts/logs/02-store-link-send.md) |  |
| 4187/dev/isp-link-installment.spec.ts / [4187][dev] QA checklist for #4187 / [결제자] 링크 결제 ISP / ISP 일시불 결제창 진입 | PASS | 14134ms | [스크린샷 1](artifacts/screenshots/02-payer-isp-form.png)<br>[스크린샷 2](artifacts/screenshots/03-payer-isp-confirm.png)<br>[스크린샷 3](artifacts/screenshots/04-isp-popup.png) |  | [로그 1](artifacts/logs/03-payer-isp.md) |  |

## Notes

- Playwright 실행 결과를 기준으로 작성되었습니다.
- 검토 후 `qa:redmine:update`로 report/evidence를 업로드하고 QA subissue 상태를 갱신합니다.
