CHAPTER 01
자체 몰 결제 구조
자체 쇼핑몰 PG 연동의 첫 확인입니다. 결과를 받는 주체와 운영자를 분명히 정합니다. PG가 제공하는 결제 기능과 사이트가 만들어야 하는 주문 · 알림 · 권한 관리 사이의 경계를 알아야 개발 범위가 정해집니다. 빌더에서는 일부 기능을 대신 제공할 수 있고 자체 사이트에서는 직접 구현할 부분이 늘어납니다. PG 제공 기능과 빌더 · 개발사의 담당 작업, 사업자 운영 업무를 나누어 적습니다. 주문 생성부터 승인 확인, 고객 안내와 취소 · 정산까지 담당 주체를 연결합니다. 전체 흐름은 쇼핑몰 PG 안내에서 함께 볼 수 있습니다.
결제창은 PG가 제공해도 결제 완료 뒤 강의를 열어 주는 권한 처리는 사이트 쪽 작업일 수 있어 계약 개발 범위에 포함해야 합니다. 어느 단계도 담당자 없이 빠져 있지 않고 실패 시 문의할 경로가 있는지 확인합니다. 개발 지원이라는 표현만으로 주문 시스템 전체나 고객 응대까지 제공된다고 가정하지 않습니다. 도입 과정은 사업자 서류를 준비하는 사람, 사이트를 설정하는 사람과 실제 주문을 처리하는 사람이 다를 수 있습니다. 각 단계의 전달 항목과 완료 기준을 나누면 자료가 준비됐는데 다음 작업이 멈추는 일을 줄일 수 있습니다.
- PG 제공 기능과 빌더 · 개발사의 담당 작업, 사업자 운영 업무를 나누어 적습니다.
- 주문 생성부터 승인 확인, 고객 안내와 취소 · 정산까지 담당 주체를 연결합니다.
- 어느 단계도 담당자 없이 빠져 있지 않고 실패 시 문의할 경로가 있는지 확인합니다.
결과를 받는 주체와 운영자를 분명히 정합니다다음 장 · 개발자 있을 때 — API ↓
CHAPTER 02
개발자 있을 때 — API
서버가 결제 결과를 확인해야 주문이 끝납니다. 개발형 연동은 결제창을 띄우는 코드 외에도 주문 저장, 금액 검증, 승인 결과 확인과 상태 변경을 포함합니다. 고객 화면의 성공 표시만 믿지 않고 서버가 확인한 거래를 기준으로 상품 제공 여부를 결정해야 합니다. 개발 언어와 서버 환경, 주문번호 규칙, 결제 결과를 받을 주소를 준비합니다. 주문 생성부터 결제 요청 · 결과 검증 · 상태 저장을 연결하고 실패 또는 재요청 경로도 구현합니다. 결과가 여러 번 도착하거나 순서가 달라도 주문이 중복 처리되지 않는지 확인합니다.
통신이 잠시 끊긴 뒤 고객이 다시 눌러도 이미 처리한 거래를 반복 반영하지 않도록 조회와 중복 처리 방지를 함께 설계합니다. 주문 금액과 승인 금액, 거래 식별값이 같은 주문에 한 번만 반영되는지 확인합니다. 실제 API 필드와 호출 순서는 선택한 서비스의 공식 문서에 맞춰 구현하며 다른 PG의 코드를 그대로 대입하지 않습니다. PG에서 승인 결과를 받는 것과 사이트의 주문을 완료로 바꾸는 것은 연결된 별도 작업입니다. 결과를 검증하고 거래를 저장한 뒤 고객 · 운영자가 같은 상태를 볼 수 있도록 처리해야 합니다.
| 확인할 것 | 준비 · 확인 방법 | 판단 기준 |
|---|---|---|
| 자료 | 개발 언어와 서버 환경, 주문번호 규칙, 결제 결과를 받을 주소를 준비합니다 | 수신 주소와 인증 · 검증 방식, 거래 식별값과 주문 상태 규칙을 정리합니다 |
| 진행 | 주문 생성부터 결제 요청 · 결과 검증 · 상태 저장을 연결하고 실패 또는 재요청 경로도 구현합니다 | 공식 SDK · API의 결과 처리 안내에 맞춰 서버에서 검증 · 저장 · 상태 변경을 수행합니다 |
| 결과 | 주문 금액과 승인 금액, 거래 식별값이 같은 주문에 한 번만 반영되는지 확인합니다 | 결과가 여러 번 도착하거나 순서가 달라도 주문이 중복 처리되지 않는지 확인합니다 |
- 개발 언어와 서버 환경, 주문번호 규칙, 결제 결과를 받을 주소를 준비합니다.
- 주문 생성부터 결제 요청 · 결과 검증 · 상태 저장을 연결하고 실패 또는 재요청 경로도 구현합니다.
- 주문 금액과 승인 금액, 거래 식별값이 같은 주문에 한 번만 반영되는지 확인합니다.
서버가 결제 결과를 확인해야 주문이 끝납니다

CHAPTER 03
개발자 없을 때 — 모듈
빌더는 지원되는 신청 경로부터 확인합니다. 호스팅형 쇼핑몰이나 사이트 빌더는 미리 연결된 결제 기능을 설정하는 방식이 많습니다. 지원 PG와 요금제, 신청 경로가 제품마다 다를 수 있으므로 외부 계약을 먼저 맺기 전에 현재 관리자에서 연결 가능한 범위를 확인합니다. 빌더 이름 · 상품 버전 · 요금제, 현재 결제 설정과 신청 이력을 준비합니다. 관리자의 전자결제 안내를 확인하고 지원되는 서비스인지 문의한 뒤 신청 · 설정을 진행합니다. 발급된 상점 정보가 실제 사용할 사이트와 같은 계약을 가리키는지 점검합니다.
같은 회사의 홈페이지 빌더와 쇼핑몰 솔루션도 지원 범위가 다를 수 있으므로 브랜드 이름만 말하기보다 사용 중인 제품을 알려 주세요. 저장된 상점 정보와 결제 수단이 실제 주문서에도 동일하게 반영되는지 시험합니다. 특정 PG와 직접 계약했다고 해서 모든 빌더에 그 계약을 그대로 연결할 수 있는 것은 아닙니다. 빌더 안에서 신청하는 계약과 외부에서 직접 신청하는 계약은 지원 기능이나 연결 방식에 차이가 있을 수 있습니다. 이미 진행한 신청이 있다면 중복 계약을 시작하기 전에 현재 상태와 사용하려는 플랫폼을 먼저 확인합니다.
- 빌더 이름 · 상품 버전 · 요금제, 현재 결제 설정과 신청 이력을 준비합니다.
- 관리자의 전자결제 안내를 확인하고 지원되는 서비스인지 문의한 뒤 신청 · 설정을 진행합니다.
- 저장된 상점 정보와 결제 수단이 실제 주문서에도 동일하게 반영되는지 시험합니다.
빌더는 지원되는 신청 경로부터 확인합니다다음 장 · 주문 · 결제 값 맞추기 ↓
CHAPTER 04
주문 · 결제 값 맞추기
청구액은 서버의 주문 금액과 맞춥니다. 고객 화면에서 전달된 금액은 조작되거나 오래된 값일 수 있어 서버가 보관한 최종 주문 금액과 대조해야 합니다. 할인 · 배송비 계산과 재고 · 옵션을 확정한 뒤 승인 결과를 검증해 실제 주문에 반영합니다. 주문번호와 최종 금액, 상품 · 옵션 · 할인 구성 및 결제 식별값을 준비합니다. 서버에 보관한 주문과 결제 요청 · 결과의 금액을 비교하고 불일치는 승인 · 제공 흐름에서 분리합니다. 같은 주문의 중복 요청, 금액 불일치와 이미 취소된 거래가 걸러지는지 시험합니다.
주문서가 열린 동안 상품 가격이나 쿠폰 조건이 바뀌었다면 최종 확정 금액을 고객에게 보여 주고 동일한 값으로 처리해야 합니다. 같은 주문의 반복 요청과 가격 변경 후 재시도에서도 검증이 유지되는지 시험합니다. URL이나 브라우저의 성공 표시만 믿고 금액 검증 없이 상품을 제공하지 않습니다. 주문은 고객이 무엇을 사기로 했는지에 대한 기록이고 결제는 그 대금이 처리된 기록입니다. 한 주문에 재시도나 부분 취소가 붙을 수 있으므로 번호 하나만으로 두 기록을 같은 것으로 취급하지 않는 것이 좋습니다.
- 주문번호와 최종 금액, 상품 · 옵션 · 할인 구성 및 결제 식별값을 준비합니다.
- 서버에 보관한 주문과 결제 요청 · 결과의 금액을 비교하고 불일치는 승인 · 제공 흐름에서 분리합니다.
- 같은 주문의 반복 요청과 가격 변경 후 재시도에서도 검증이 유지되는지 시험합니다.
청구액은 서버의 주문 금액과 맞춥니다다음 장 · 완료 · 실패 · 취소 페이지 ↓
CHAPTER 05
완료 · 실패 · 취소 페이지
완료 페이지는 확인된 주문 상태를 보여 줍니다. 결제창이 닫힌 뒤 고객이 무엇을 샀고 결제가 어떤 상태인지 이해할 수 있어야 합니다. 완료 페이지는 결제를 승인하는 수단 자체가 아니므로 서버에서 확인한 결과와 주문 정보를 가져와 안내하도록 구성합니다. 완료 · 실패 · 대기 상태별 문구와 주문 조회, 고객 문의 경로를 준비합니다. 주문번호와 결제 상태를 보여 주고 배송 · 예약 등 다음 행동을 실제 상품 흐름에 맞춰 안내합니다. 안내 시점의 상태와 실제 관리자 기록, 고객 조회 화면이 같은지 대조합니다.
가상계좌가 발급된 단계에서는 결제 완료라고 표시하기보다 입금 대기와 기한을 안내해 출고 판단을 구분합니다. 새로고침하거나 주소를 다시 열어도 같은 주문이 중복 생성되지 않는지 확인합니다. URL에 성공이라는 값이 들어 있다는 이유만으로 상품을 제공하지 말고 서버에 저장된 상태를 기준으로 처리합니다. 결제 관련 메시지는 요청을 받았는지 실제 승인이 되었는지 또는 취소가 끝났는지를 구분해야 합니다. 운영자가 확인하지 않은 상태를 완료라고 알려 주면 고객의 재결제나 중복 문의로 이어질 수 있습니다.
- 완료 · 실패 · 대기 상태별 문구와 주문 조회, 고객 문의 경로를 준비합니다.
- 주문번호와 결제 상태를 보여 주고 배송 · 예약 등 다음 행동을 실제 상품 흐름에 맞춰 안내합니다.
- 새로고침하거나 주소를 다시 열어도 같은 주문이 중복 생성되지 않는지 확인합니다.
완료 페이지는 확인된 주문 상태를 보여 줍니다다음 장 · 키 관리 · 인수인계 ↓
CHAPTER 06
키 관리 · 인수인계
설정과 운영 책임을 문서로 넘깁니다. 개발이 끝난 뒤 담당자가 바뀌더라도 결제 운영을 이어갈 수 있어야 합니다. 비밀 값을 문서에 그대로 적는 대신 보관 위치와 접근 권한, 장애 · 취소 · 정산 문의 방법과 변경 절차를 남기는 것이 좋습니다. 연동 구조와 환경 목록, 관리자 · 개발 담당자, 키 보관 위치 및 공식 문서 주소를 정리합니다. 시험 결과와 운영 전환 기록을 전달하고 실제 운영자가 조회 · 취소 작업을 따라 해 보게 합니다. 권한과 문서가 최신 상태이고 퇴사자 · 외주 업체의 불필요한 접근이 회수됐는지 확인합니다.
외주 업체가 개발한 경우에도 계약 종료 뒤 도메인 · 서버 · 관리자에 접근할 사람이 누구인지 미리 정해 두면 운영 공백을 줄일 수 있습니다. 권한 회수와 키 변경이 필요한 인력 · 업체 변경 시나리오를 확인합니다. 인수인계 문서를 공개 저장소에 올리거나 비밀번호 · 비밀키를 평문으로 공유하지 않습니다. 정상 주문을 처리하는 방법 외에 결제 결과가 불확실하거나 취소 · 정산이 맞지 않을 때 확인할 순서도 남겨야 합니다. 담당자가 바뀌어도 원거래를 찾고 공식 창구에 문의할 수 있는 자료가 필요합니다.
- 연동 구조와 환경 목록, 관리자 · 개발 담당자, 키 보관 위치 및 공식 문서 주소를 정리합니다.
- 시험 결과와 운영 전환 기록을 전달하고 실제 운영자가 조회 · 취소 작업을 따라 해 보게 합니다.
- 권한 회수와 키 변경이 필요한 인력 · 업체 변경 시나리오를 확인합니다.
설정과 운영 책임을 문서로 넘깁니다

