# #4274 브룸 PG 단말기 통보 개발계 QA

- Subject: #4274 브룸 PG 단말기 통보 개발계 검증
- Status: PASS
- Workflow Status: 작업완료
- Roles: ADMIN
- Generated: 2026-10-13T20:26:13.010288+09:00
- Redmine: https://itsm.bix.bz/issues/4274
- Passed: 9
- Failed: 0
- Blocked: 0
- Skipped: 0
- Manual Confirmed: 0

2026-10-13(KST), 빅스페이먼츠 개발계 테스트 테넌트, MID 1234567890. 원본: https://itsm.bix.bz/issues/4274

**통과: 전체 9항목 중 9통과·0실패·확인불가 0·미실행 0.**

요청 전달에 포함된 개발자 검증/스크린샷은 판정 증거로 재사용하지 않았다. 아래는 QA가 인앱 화면에서 직접 확인하고 개발계 통보를 직접 전송한 결과다. 티켓 업무 대상은 올데이페이지만 이번 실행 환경은 빅스페이먼츠 테스트 테넌트이며, 올데이페이 실제 적용 여부는 검증 범위에 포함하지 않는다.

| 번호 | 항목 | 결과 | 실제 결과 | 증거 |
|---|---|---|---|---|
| 1 | 계약/MID PG 선택 | 통과 | 계약관리·MID 관리에 브룸과 기존 PG 20개 표시. 브룸 계약과 MID의 가맹점 연결 일치. | [17-contract-pg-options](artifacts/logs/17-contract-pg-options.txt) · [19-mid-pg-options](artifacts/logs/19-mid-pg-options.txt) · [18-contract-match](artifacts/logs/18-contract-match.txt) · [20-mid-match](artifacts/logs/20-mid-match.txt) |
| 2 | 브룸·MID·일자 검색 | 통과 | 2026-10-13 브룸 + MID 1234567890 검색 URL과 조회 결과 확인. 최종 8건. | [02-mid-filter](artifacts/logs/02-mid-filter.txt) · [03-original-mid](artifacts/logs/03-original-mid.txt) · [25-final-summary](artifacts/logs/25-final-summary.txt) |
| 3 | 신규 승인 정보 | 통과 | 원거래 BROOM-QA-4274-20261013201458, 승인일시 20:14:58, 브룸·A_주홍석_가맹_브룸·BP100678·승인번호 87654321·1,004원·일시불 일치. | [05-new-approval](artifacts/logs/05-new-approval.txt) · [06-approval-identity](artifacts/logs/06-approval-identity.txt) · [13-cancel-original-link](artifacts/logs/13-cancel-original-link.txt) |
| 4 | 전체취소 원승인 연결 | 통과 | wRootTid가 원승인 wTid와 동일. 20:17:02 전체취소 -1,004원, 원승인도 취소 상태. 두 행 TID·주문번호·MID 동일. | [13-cancel-original-link](artifacts/logs/13-cancel-original-link.txt) · [14-cancel-status-control](artifacts/logs/14-cancel-status-control.txt) · [24-cancel-timestamps](artifacts/logs/24-cancel-timestamps.txt) |
| 5 | 다른 승인 거래 영향 | 통과 | 비교 거래 BROOM-QA-4274-20261013201550-CONTROL은 대상 거래 취소·재통보 후에도 승인 1,004원 유지. 검증 후 별도 취소로 정리. | [07-duplicate-approval-control](artifacts/logs/07-duplicate-approval-control.txt) · [14-cancel-status-control](artifacts/logs/14-cancel-status-control.txt) · [15-duplicate-cancel](artifacts/logs/15-duplicate-cancel.txt) · [23-approval-replay-after-cancel](artifacts/logs/23-approval-replay-after-cancel.txt) |
| 6 | 목록/합계 일치 | 통과 | 초기 4건/승인2/취소2/각2,008원 → 신규승인 5건/순1,004원 → 비교승인+승인재통보 6건/순2,008원 → 대상취소 7건/순1,004원 → 정리취소 8건/승인4/취소4/각4,016원/순0원. | [01-initial](artifacts/logs/01-initial.txt) · [05-new-approval](artifacts/logs/05-new-approval.txt) · [07-duplicate-approval-control](artifacts/logs/07-duplicate-approval-control.txt) · [15-duplicate-cancel](artifacts/logs/15-duplicate-cancel.txt) · [25-final-summary](artifacts/logs/25-final-summary.txt) |
| 7 | 동일 통보 중복 방지 | 통과 | 승인 appDtm/wTid 등 모든 값, 취소 ccDnt/wTid/wRootTid 등 모든 값을 고정해 각 1회 재전송. 승인 재전송 후 기대 6건, 취소 재전송 후 7건 유지. 취소 이후 승인 재전송 추가 확인에서도 7건·취소상태 유지. 모든 실제 요청 HTTP200/OK. | [07-duplicate-approval-control](artifacts/logs/07-duplicate-approval-control.txt) · [15-duplicate-cancel](artifacts/logs/15-duplicate-cancel.txt) · [23-approval-replay-after-cancel](artifacts/logs/23-approval-replay-after-cancel.txt) |
| 8 | 재조회/새로고침 유지 | 통과 | 검색 재조회와 브라우저 새로고침 후 7건·결제4,016원·취소3,012원·순1,004원 및 대상취소/비교승인 유지. 정리 후 재새로고침에서도 8건·순0원 확인. | [15-duplicate-cancel](artifacts/logs/15-duplicate-cancel.txt) · [16-refresh-persist](artifacts/logs/16-refresh-persist.txt) · [25-final-summary](artifacts/logs/25-final-summary.txt) · [26-final-status](artifacts/logs/26-final-status.txt) |
| 9 | 기존 PG 회귀 | 통과 | 기존 코페이 거래 2건을 브룸 취소/재통보 전후 비교. 승인일시16:59:09·취소일시16:59:37, 승인번호00509223, 각±9,900원, 두행 취소상태 및 결제/취소 합계 각9,900원 유지. 다른 PG 전체를 포괄한 회귀는 아님. | [09-kopay-before-amount](artifacts/logs/09-kopay-before-amount.txt) · [10-kopay-before-status](artifacts/logs/10-kopay-before-status.txt) · [21-kopay-after-amount](artifacts/logs/21-kopay-after-amount.txt) · [22-kopay-after-status](artifacts/logs/22-kopay-after-status.txt) |

## 직접 전송한 통보

| 전송 | 거래/시각 | 응답 |
|---|---|---|
| 신규 승인 | BROOM-QA-4274-20261013201458 / 20:14:58 | [200 OK](artifacts/logs/approval-response.json) |
| 비교 승인 | BROOM-QA-4274-20261013201550-CONTROL / 20:15:50 | [200 OK](artifacts/logs/control-response.json) |
| 동일 승인 재전송 | 최초 승인과 모든 요청 값 동일 | [200 OK](artifacts/logs/duplicate-approval-response.json) |
| 전체취소 | 원거래 BROOM-QA-4274-20261013201458 / 20:17:02 | [200 OK](artifacts/logs/cancel-response.json) |
| 동일 취소 재전송 | 최초 취소와 모든 요청 값 동일 | [200 OK](artifacts/logs/replay-cancel-response.json) |
| 취소 이후 승인 재전송 | 최초 승인과 모든 요청 값 동일 | [200 OK](artifacts/logs/replay-approval-response.json) |
| 비교 거래 정리 취소 | 비교 거래 원승인 / 20:20:27 | [200 OK](artifacts/logs/control-cancel-response.json) |

요청 원문은 [notification-requests.json](artifacts/logs/notification-requests.json)에 저장했다. 최초 샌드박스 호출은 DNS 제한으로 전송되지 않았으며, 네트워크 허용 후 같은 승인 파라미터로 최초 성공 호출했다. 승인-response의 stage가 replay-approval인 이유이며 중복 재전송 판정에는 이후 duplicate-approval-response를 사용했다.

## 최종 상태와 증거

QA가 신규 승인 2건을 만들고 각각 취소했다. 이력 4행이 추가되어 기존 4행 포함 최종 8행이며, 결제/취소 합계 각4,016원·순거래금액0원이다. 테스트 이력은 재현 증거로 남아 있다. 계약, MID, 권한은 변경하지 않았다.

![최종 거래 목록과 합계](artifacts/screenshots/25-final-summary.jpg)

![취소 대상과 비교 승인 상태](artifacts/screenshots/14-cancel-status-control.jpg)

![브룸 MID 연결](artifacts/screenshots/20-mid-match.jpg)

## 재현 및 검증 범위

1. 로그인한 인앱 관리자에서 거래내역을 열고 날짜2026-10-13·PG브룸·MID1234567890으로 검색한다. 표를 좌우로 이동해 거래일시/금액, 상태/승인번호/할부, TID/MID/주문번호를 확인한다.
2. 위 요청 원문을 사용해 동일 승인·취소를 재전송하고 재조회한다. 승인/취소 시각과 거래번호를 바꾸지 않는다. 이미 취소한 승인 통보를 재전송해도 최종8건/순0원을 유지해야 한다.
3. 이 보고서는 요청된 9개 기능 체크의 현장 QA이며 보안/성능/접근성 전체 감사나 코드 변경에 대한 자동화 테스트 보고서는 아니다.
