[BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건
요청한 확인 항목이 기대한 결과와 일치했습니다.
요청한 확인 항목이 기대한 결과와 일치했습니다.
요청한 확인 항목이 기대한 결과와 일치했습니다.
전체 13개 항목이 기대한 결과와 일치했습니다.
발견된 실패 항목이 없습니다.
확인 불가 항목은 기능 실패가 아니라 조건 부족 또는 검증 제외로 분리해 봅니다.
같은 확인 항목이 계정별로 어떻게 끝났는지 한눈에 봅니다.
| 검증 항목 | ADMIN | 전체 |
|---|---|---|
| 00 배포 확인 | 해당 없음 | 통과 |
| 01 승인 통보 응답 형식 | 해당 없음 | 통과 |
| 02 승인 통보 결제 생성·결제 로그 | 해당 없음 | 통과 |
| 03 승인 통보 재전송 | 해당 없음 | 통과 |
| 04 부분취소 3,000원 | 해당 없음 | 통과 |
| 05 반영된 부분취소 재전송 | 해당 없음 | 통과 |
| 06 취소일시가 다른 부분취소 2,000원 | 해당 없음 | 통과 |
| 이체 후 내역 반영 | 해당 없음 | 통과 |
| 08 필수값(tranDate) 누락 통보 | 해당 없음 | 통과 |
| 09 통보 저장 실패 (단위 테스트 대체) | 해당 없음 | 통과 |
| 10 다른 PG 통보 응답 | 해당 없음 | 통과 |
| 11 다른 PG 부분취소 (단위 테스트·코드 확인) | 해당 없음 | 통과 |
| 12 구전산 거래내역 반영 (참고) | 해당 없음 | 통과 |
13/13개 항목 확인 완료
QA 실행 결과에서 정리된 화면 캡처, 화면 재현 기록, 오류 내용을 이 페이지에서 바로 확인할 수 있습니다.
실패 항목을 먼저 배치했습니다. 각 항목을 열면 수행한 동작, 기대 결과, 실제 결과, 화면 캡처, 화면 재현 기록, 오류 내용을 확인할 수 있습니다.
개발계 워너페이먼츠 결제 통보 수신 응답(resultCode JSON·HTTP 500)과 취소 통보 중복 반영 차단 QA
요청자: 송인준
[1] QA 요청 배경
* https://itsm.bix.bz/issues/4374
[2] 사전 데이터
*
[3] 사전 작업
*
[4] 권한별 테스트
*
[5] 검증 대상
* 응답 확인
[6] 체크리스트
사전 준비 (가짜 통보 전송)
* 개발계 api·consumer가 develop-rc 4694022cda 이후 버전으로 배포됐는지 확인
* 통보는 https://api-dev.biscuitpay.com/api/v1/payment/notification/wannapayments로 전송 (별도 헤더 없이 빅스페이먼츠 테넌트로 처리됨)
* MID는 빅스페이먼츠 테넌트의 단말기 MID 2132321123321 사용
* 테스트 거래번호(refNo)는 매 테스트마다 새 값 사용
* 가짜 승인 통보(cmd=0), 가짜 취소 통보(cmd=1, orgRefNo=원승인 refNo, tranDate·tranTime=취소일시, amount=이번 취소금액)
* payment / payment_history / payment_log SQL로 결과 확인
확인 항목
* 가짜 승인 통보 전송 시 HTTP 200, Content-Type application/json;charset=UTF-8, 본문 {"resultCode":"0000"}으로 응답하는지 확인 (기존 SUCCESS 문자열이 아닌지)
* 가짜 승인 통보 처리 후 결제가 1건 생성되고(승인 상태, 10,000원), 결제 로그 응답값에 resultCode 0000이 기록되는지 확인
* 같은 가짜 승인 통보를 한 번 더 전송 시 같은 성공 응답을 반환하고 결제가 중복 생성되지 않는지 확인
* 가짜 부분취소 통보(3,000원) 전송 시 성공 응답을 반환하고 취소금액 3,000원·부분취소 상태·취소 이력 1건이 반영되는지 확인
* 부분취소가 DB에 반영된 뒤 같은 부분취소 통보를 다시 전송 시 같은 성공 응답을 반환하고, 취소금액과 취소 이력이 늘지 않으며, api 로그에 "이미 반영된 취소 통보입니다"가 남는지 확인 (반영 전에 바로 재전송하면 걸러지지 않는 것은 알려진 한계)
* 같은 원거래에 취소일시가 다른 부분취소 통보(tranTime=102000, 2,000원) 전송 시 별도 취소로 반영되어 취소금액이 5,000원이 되는지 확인
* 남은 금액(5,000원) 전체취소 통보 전송 시 취소 상태로 바뀌고, 같은 통보를 다시 보내도 같은 성공 응답에 상태·금액 변화가 없는지 확인
* 필수값(tranDate)을 빼고 가짜 통보 전송 시 성공 응답이 아닌 HTTP 500을 반환하고 결제가 생성되지 않는지 확인
* 통보 저장 실패 시 HTTP 500을 반환하는지 확인 (개발계 재현이 어려우면 단위 테스트·로컬 검증 결과로 대체)
* 메인페이·코페이 등 다른 PG 통보 응답이 기존과 동일한지 확인
* 다른 PG의 부분취소 통보가 기존과 동일하게 반영되는지 확인 (중복 차단은 워너페이먼츠만 적용)
* 워너페이먼츠 측 테스트 통보로 성공 응답이 정상 수신 처리되는지 확인 (가능한 경우)
| 확인한 항목 | 계정 | 화면 | 수행한 동작 | 결과 | 증거 자료 |
|---|---|---|---|---|---|
| 00 배포 확인 | 전체 | [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 | 전체 계정으로 [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 항목을 확인 | 기대한 동작과 일치했습니다. | 실행 기록 1 |
| 01 승인 통보 응답 형식 | 전체 | [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 | 전체 계정으로 [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 항목을 확인 | 기대한 동작과 일치했습니다. | 실행 기록 1 |
| 02 승인 통보 결제 생성·결제 로그 | 전체 | [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 | 전체 계정으로 [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 항목을 확인 | 기대한 동작과 일치했습니다. | 실행 기록 1 |
| 03 승인 통보 재전송 | 전체 | [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 | 전체 계정으로 [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 항목을 확인 | 기대한 동작과 일치했습니다. | 실행 기록 1 |
| 04 부분취소 3,000원 | 전체 | [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 | 전체 계정으로 [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 항목을 확인 | 기대한 동작과 일치했습니다. | 실행 기록 1 |
| 05 반영된 부분취소 재전송 | 전체 | [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 | 전체 계정으로 [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 항목을 확인 | 기대한 동작과 일치했습니다. | 실행 기록 1 |
| 06 취소일시가 다른 부분취소 2,000원 | 전체 | [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 | 전체 계정으로 [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 항목을 확인 | 기대한 동작과 일치했습니다. | 실행 기록 1 |
| 07 잔액 전체취소와 재전송 | 전체 | [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 | 전체 계정으로 [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 항목을 확인 | 기대한 동작과 일치했습니다. | 실행 기록 1 |
| 08 필수값(tranDate) 누락 통보 | 전체 | [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 | 전체 계정으로 새로고침과 재조회 전후 거래 ID 출현 횟수를 비교 | 기대한 동작과 일치했습니다. | 실행 기록 1 |
| 09 통보 저장 실패 (단위 테스트 대체) | 전체 | [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 | 전체 계정으로 [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 항목을 확인 | 기대한 동작과 일치했습니다. | 실행 기록 1 |
| 10 다른 PG 통보 응답 | 전체 | [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 | 전체 계정으로 [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 항목을 확인 | 기대한 동작과 일치했습니다. | 실행 기록 1 |
| 11 다른 PG 부분취소 (단위 테스트·코드 확인) | 전체 | [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 | 전체 계정으로 [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 항목을 확인 | 기대한 동작과 일치했습니다. | 실행 기록 1 |
| 12 구전산 거래내역 반영 (참고) | 전체 | [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 | 전체 계정으로 [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 항목을 확인 | 기대한 동작과 일치했습니다. | 실행 기록 1 |
QA_PUBLISH_TRACE=1 npm run qa:report -- --issue <id> --env <env>로 내부 제출용 산출물을 생성합니다.| Scenario | Status | Duration | Screenshot | 화면 재현 기록 | Log | Error |
|---|---|---|---|---|---|---|
| 4374/dev/wannapayments-notification-response.spec.ts / [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 / 00 배포 확인 | PASS | 3ms | 로그 1 | |||
| 4374/dev/wannapayments-notification-response.spec.ts / [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 / 01 승인 통보 응답 형식 | PASS | 0ms | 로그 1 | |||
| 4374/dev/wannapayments-notification-response.spec.ts / [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 / 02 승인 통보 결제 생성·결제 로그 | PASS | 0ms | 로그 1 | |||
| 4374/dev/wannapayments-notification-response.spec.ts / [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 / 03 승인 통보 재전송 | PASS | 0ms | 로그 1 | |||
| 4374/dev/wannapayments-notification-response.spec.ts / [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 / 04 부분취소 3,000원 | PASS | 0ms | 로그 1 | |||
| 4374/dev/wannapayments-notification-response.spec.ts / [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 / 05 반영된 부분취소 재전송 | PASS | 0ms | 로그 1 | |||
| 4374/dev/wannapayments-notification-response.spec.ts / [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 / 06 취소일시가 다른 부분취소 2,000원 | PASS | 0ms | 로그 1 | |||
| 4374/dev/wannapayments-notification-response.spec.ts / [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 / 07 잔액 전체취소와 재전송 | PASS | 0ms | 로그 1 | |||
| 4374/dev/wannapayments-notification-response.spec.ts / [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 / 08 필수값(tranDate) 누락 통보 | PASS | 1953ms | 로그 1 | |||
| 4374/dev/wannapayments-notification-response.spec.ts / [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 / 09 통보 저장 실패 (단위 테스트 대체) | PASS | 1ms | 로그 1 | |||
| 4374/dev/wannapayments-notification-response.spec.ts / [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 / 10 다른 PG 통보 응답 | PASS | 1823ms | 로그 1 | |||
| 4374/dev/wannapayments-notification-response.spec.ts / [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 / 11 다른 PG 부분취소 (단위 테스트·코드 확인) | PASS | 2ms | 로그 1 | |||
| 4374/dev/wannapayments-notification-response.spec.ts / [4374][dev] [BL] 워너페이먼츠 통보 수신 응답 형식 변경 요청의 건 / 12 구전산 거래내역 반영 (참고) | PASS | 3986ms | 로그 1 |
qa:redmine:update로 report/evidence를 업로드하고 QA subissue 상태를 갱신합니다.