결제 연동 개발: PG·간편결제 붙이는 법과 비용 [2026]
결제 연동 개발이 처음이라면 PG·간편결제·가상계좌·정기결제 차이부터 PG사 선택 기준, 직접 연동 vs 결제대행 SaaS 비교, 보안·인증과 환불·정산 함정까지 한 번에 정리했습니다.
이 글을 쓴 알파카랩스카카오·네이버·쿠팡 출신, 재하청 0%, 대기업·공공기관 등 18개사+ 레퍼런스
결제 연동 개발은 결제창을 띄우는 API 작업이 아니라 주문·결제 의도·인증·승인·매입·취소·환불·정산을 서로 다른 원장과 상태로 연결하는 일입니다. 고객 브라우저의 성공 화면을 결제 완료 근거로 쓰지 말고 서버가 PG의 검증된 결과를 멱등하게 반영한 뒤 주문 금액·상태와 매일 대사해야 합니다.
결제 수단마다 승인·입금·취소·부분 환불·정기결제·가상계좌 흐름이 다릅니다. 하나의 paid 불리언으로 합치면 PG 성공 뒤 주문 저장 실패, 지연 웹훅, 중복 콜백, 일부 환불과 차지백성 조정 같은 현실을 표현할 수 없습니다.
카드정보를 직접 다루지 않는 호스팅 결제창을 사용해도 쇼핑몰 페이지의 악성 스크립트, 관리자 계정, 주문 금액 변조, 비밀 노출, 웹훅 위조 위험이 사라지지 않습니다. 결제 범위와 PCI DSS 검증 책임은 연동 방식·가맹점·PG·매입사 조건을 확인해야 합니다.
주문·결제·환불·정산 원장을 분리하고 원거래로 연결한다#
외부 PG 상태를 내부 주문 상태와 동일시하지 않고 각 사건을 재현합니다.
| 원장 | 핵심 키 | 필수 상태 | 완료 증거 |
|---|---|---|---|
| 주문 | 주문·상품·가격·세금 버전 | 생성·확정·취소·완료 | 거래 시점 금액 불변 |
| 결제 | payment intent·PG 거래키 | 요청·인증·승인·실패 | 서버 검증·멱등 반영 |
| 환불 | 원결제·환불 요청·금액 | 요청·승인·완료·실패 | 부분 합계·원장 반전 |
| 정산 | 수수료·공제·입금·기준일 | 예정·확정·조정 | PG 명세·은행 대사 |
수단 수보다 사업 흐름·실패·운영·보안 범위로 PG 방식을 선택한다#
직접 연동과 통합 대행의 장단점을 같은 실제 거래로 시험합니다.
| 판단 축 | 확인 질문 | 파일럿 증거 | 누락 위험 |
|---|---|---|---|
| 판매 흐름 | 단건·정기·가상계좌·해외인가 | 승인·취소·만료 E2E | 수단만 많음 |
| 운영 | 부분 환불·분쟁·정산은 | 관리자·대사·재처리 | PG 콘솔 수기 종속 |
| 보안 | 카드 데이터와 결제 페이지 범위는 | 연동 구조·스크립트·키 통제 | 범위 추정 |
| 퇴출 | 거래·빌링 토큰·구독 전환은 | 내보내기·이중 운영 | 공급자 락인 |
실무 시나리오: PG 승인은 성공했지만 주문 확정 응답이 타임아웃됐다#
고객이 다시 결제하고 웹훅도 늦게 도착해 중복 승인과 한 주문의 상태 충돌이 생긴 상황을 가정합니다.
| 단계 | 확인 질문 | 복구 조치 | 종료 증거 |
|---|---|---|---|
| 차단 | 같은 주문의 추가 승인 요청은 | 재결제 제한·상태 조회 | 추가 중복 없음 |
| 판정 | PG별 실제 승인·취소 상태는 | 서버 조회·웹훅·로그 대조 | 유효 거래 확정 |
| 복구 | 남는 승인과 주문을 어떻게 맞추나 | 주문 확정 또는 승인 취소 | 고객·PG·주문 일치 |
| 재발 방지 | 왜 응답을 완료 근거로 썼나 | 멱등 키·상태 기계·대사 | 지연·중복 시험 통과 |
현행 결제 법령·PCI DSS·안전한 개발을 연동 경계에 맞춘다#
전자금융거래법은 전자금융거래와 전자지급결제대행업 등의 기본 법적 틀을 규정합니다. PCI DSS는 결제 계정 데이터를 보호하기 위한 기술·운영 기준이며 현재 문서와 검증 범위는 PCI SSC·매입사·PG와 확인해야 합니다. NIST SSDF는 안전한 개발 관행을 제시합니다. 이 자료들은 특정 PG 계약 승인·수수료·정산일·법적 적합성을 보장하지 않습니다.
- 국가법령정보센터 전자금융거래법: 전자금융거래·전자지급결제대행의 현재 법적 틀
- PCI Security Standards Council PCI DSS: 결제 계정 데이터 보호의 기술·운영 기준
- NIST Secure Software Development Framework: 주문·결제 연동의 안전한 개발 관행
주문·PG·환불·정산 상태를 멱등 이벤트와 일일 대사로 운영한다#
연동 전 상품·가격·할인·세금·배송·주문 금액의 결정 원천을 정하고 고객이 결제한 스냅샷을 보존합니다. 결제 비밀은 서버에서만 관리하고 환경별 키·웹훅 비밀·권한을 분리합니다. 카드번호·민감 인증정보를 불필요하게 서버나 로그에 수집하지 않습니다.
결제 요청과 콜백·웹훅·상태 조회에는 주문과 독립된 멱등 키, 원문 응답, 수신 시각, 서명 검증, 처리 결과를 남깁니다. 웹훅 순서와 중복을 신뢰하지 않고 허용 상태 전이만 반영합니다. 관리자 취소·환불은 금액·사유·권한·이중 승인과 원결제 관계를 보존합니다.
매일 내부 승인·취소·환불 합계와 PG 거래 명세·수수료·입금 예정·은행 입금을 주문 단위로 대사합니다. 불일치는 미해결 큐와 책임자를 가지고 자동으로 덮어쓰지 않습니다. PG 장애 시 신규 결제 중지, 상태 조회, 대체 수단, 고객 공지와 복구 후 재처리 순서를 훈련합니다.
PG 수수료의 계산 구조는 PG 수수료 계산 가이드에서 확인하세요. 플랫폼 지급·수수료 원장은 마켓플레이스 정산 설계를 함께 보세요. 구독 결제의 갱신·미수는 구독 관리 시스템 가이드도 참고할 수 있습니다.
지연·중복·부분 실패·환불·정산 차이를 재현하면 결제 연동을 승인한다#
검수에는 금액 변조, 인증 취소, PG 승인 뒤 응답 유실, 중복 클릭·웹훅, 순서 역전, 부분 취소, 환불 실패, 가상계좌 만료, 정기결제 실패가 포함됩니다. 브라우저 결과와 무관하게 서버의 검증된 PG 상태와 내부 원장이 일치해야 합니다.
오픈 전 비밀 회전, 웹훅 위조, 관리자 권한, 결제 페이지 스크립트 변경, PG 단절, 백업 복원과 일·월 정산을 시험합니다. 회사 계정에서 PG 계약·키·웹훅·소스·인프라·대사·런북을 통제하고 대체 담당자가 중복 승인 복구를 독립 수행해야 합니다.
핵심 요약
- ✓주문·결제·환불·정산을 독립 원장과 상태로 분리하고 원거래로 연결한다
- ✓브라우저 성공 화면이 아니라 서버의 검증된 PG 상태로 주문을 확정한다
- ✓모든 요청·웹훅·재시도는 멱등 키·서명·원문·처리 결과를 보존한다
- ✓부분 취소·환불·수수료·입금을 주문 단위로 매일 대사한다
- ✓지연·중복·순서 역전·PG 장애와 비밀 회전을 오픈 전에 시험한다
자주 묻는 질문