국내 PG 결제 승인·주문 상태 확인표
국내 PG 결제가 승인된 뒤 상점 주문이 생성되지 않거나 완료 화면이 달라질 때 승인·콜백·주문 저장을 분리해 확인하는 점검표입니다.
- 적용 범위
- 본문에 적힌 운영 시점과 적용 환경이 일치하는 경우
- 출처
- 토스페이먼츠
- 출처 확인일
- 2026-08-03
- 최종 검토
- 2026-08-03
- 수정일
- 2026-08-03
- 정정 이력
- 2026-07-29 이후 기록 없음
- 적용 시점
- 장애 대응, 변경·이전
시작 전 확인
- 결제 시각·주문 ID·PG 응답 코드·상점 로그를 확보하되 결제수단·토큰·개인정보는 제거합니다.
- 운영 데이터 변경 없이 확인할 수 있는 로그·조회 권한과 테스트 결제 환경을 준비합니다.
확인 항목
결제 화면의 승인 상태, 결제 시각, 주문 ID와 PG가 반환한 식별자를 비밀 값 없이 기록합니다.
승인 요청의 HTTP 상태 코드와 오류 코드, 서버 로그의 요청 시각을 비교합니다.
PG 승인 응답이 상점 서버에서 정상 처리되었는지와 주문 생성 트랜잭션이 실행되었는지를 분리해 확인합니다.
상점 데이터베이스의 주문 ID·결제 상태·금액이 PG 승인 결과와 일치하는지 확인합니다.
웹훅을 사용하는 경우 수신 URL의 응답 코드와 중복 이벤트 처리 결과를 확인합니다.
완료 화면의 요청 실패와 주문 데이터 저장 실패를 구분합니다.
운영 결제는 재시도·환불·주문 상태 변경 전에 담당자의 승인과 PG 상태 확인을 거칩니다.
테스트 환경에서 같은 주문 흐름을 한 번 실행한 뒤 수정 후 결과를 다시 기록합니다.
완료 판정
- PG 승인, 상점 주문 저장, 완료 화면 또는 웹훅 처리의 상태가 같은 주문 ID로 설명됩니다.
- 테스트 환경의 동일 흐름에서 중복 주문·중복 승인·누락 상태가 재현되지 않습니다.
주의사항
변경 전 확인
- 결제 완료 여부가 불명확한 상태에서 결제를 반복 시도하지 않습니다.
- 운영 데이터의 주문 상태·결제 상태를 근거 없이 직접 수정하지 않습니다.
담당자에게 전달할 내용
- 주문 ID, PG 응답 코드, 승인·웹훅·주문 저장 시각, 재확인 결과를 담당자에게 전달합니다.
적용 범위와 근거
결제가 완료된 것처럼 보여도 PG 승인, 상점 주문 저장, 완료 화면과 웹훅은 서로 다른 단계입니다. 결제를 다시 시도하기 전에 아래 항목을 같은 주문 ID와 시각으로 확인합니다.
확인 순서
- 결제 화면·PG 응답·상점 서버 로그에서 주문 ID와 발생 시각을 기록합니다.
- 승인 요청의 응답 코드와 오류 코드를 확인합니다.
- 상점 데이터베이스에 주문이 생성되었는지, 결제 상태·금액이 승인 결과와 일치하는지 확인합니다.
- 웹훅을 사용하는 경우 수신 URL의 응답 코드와 중복 이벤트 처리 결과를 확인합니다.
- 완료 화면의 요청 실패와 주문 데이터 저장 실패를 구분합니다.
- 테스트 환경에서 수정 후 같은 주문 흐름을 한 번 실행해 결과를 기록합니다.
원인 비교표
| 관찰 결과 | 우선 확인할 구간 | 다음 판단 |
|---|---|---|
| PG 승인 실패 | 승인 요청의 인증·금액·주문 ID·오류 코드 | PG 공식 오류 조건과 요청 필드를 비교합니다. |
| PG 승인은 성공했지만 주문 없음 | 서버 로그·주문 생성 트랜잭션·DB | 승인 응답이 주문 생성 코드까지 전달됐는지 확인합니다. |
| 주문은 있으나 완료 화면 실패 | 완료 URL·클라이언트 요청·리디렉션 | 주문 상태와 화면 표시를 별도 문제로 기록합니다. |
| 웹훅만 반복 수신 | 웹훅 응답 코드·중복 처리 키 | 같은 이벤트를 한 번만 반영하는지 확인합니다. |
운영 결제의 재시도·환불·주문 상태 변경은 담당자가 PG 상태를 확인한 뒤 결정합니다. 출처: 토스페이먼츠 코어 API (새 창에서 열림)
관련 오류·증상
참고 자료
코어 API - 토스페이먼츠 개발자센터 (새 창에서 열림)
토스페이먼츠 · 공식 자료 · 확인 범위: 결제 승인 요청과 응답 필드 확인, 승인 결과와 상점 주문 처리의 구분 · 확인일: 2026-08-03