서비스 종료 결정은 대개 조용히 내려집니다. 신규 가입은 멈춘 지 오래고, 서버비만 매달 나가고, 남은 유료 회원은 수백 명쯤 되는 상태입니다. 이때 가장 먼저 나오는 말이 보통 "서버부터 내리자"입니다.
그런데 서버를 먼저 내리면 환불 계산에 필요한 결제 내역과 잔여 기간 데이터가 같이 사라집니다. 서비스 종료는 기술 작업이 아니라 공지·환불·기록 보존·계약 해지가 순서대로 맞물린 절차입니다. 순서를 틀리면 돈으로 물어내거나 과태료를 냅니다.
종료 공지는 늦어도 30일 전에 띄우세요
문화체육관광부 「콘텐츠이용자 보호지침」(고시 제2024-16호, 2024년 3월 14일 시행) 제26조는 경영상·기술상의 이유로 포인트 서비스를 종료하는 경우 최소 30일 전까지 이용자에게 고지하도록 정하고 있습니다. 포인트에 관한 조항이지만, 실무에서는 서비스 종료 공지의 기준선으로 쓰입니다.
애플도 App Store Connect 문서에서 자동 갱신 구독을 중단하기 최소 31일 전에 이메일·웹사이트·인앱 메시지로 알리라고 권고합니다. 월 단위 구독 한 주기가 지나갈 시간을 주라는 뜻입니다. 국내 지침과 앱마켓 권고가 겹치는 30~31일을 최소치로 잡으세요.
공지는 한 곳에만 올리면 부족합니다. 앱 첫 화면, 웹 로그인 직후 화면, 가입 이메일 세 곳에 같은 내용을 올리고 발송 시각과 수신자 수를 기록으로 남겨 두세요.
공지문에는 날짜가 네 개 들어가야 합니다
종료일 하나만 적은 공지는 문의 폭탄을 부릅니다. 신규 가입·결제 중단일, 데이터 내려받기 마감일, 서비스 완전 종료일, 환불 신청 마감일을 각각 다른 날짜로 명시하세요.
종료일과 환불 마감일을 같은 날로 잡으면, 마지막 날 몰린 환불 신청을 처리할 서버가 이미 없습니다.
권장하는 간격은 공지 즉시 결제 중단, 종료일 7일 전 데이터 내려받기 마감, 종료일 이후 30일까지 환불 접수입니다. 환불 접수 창구는 서비스 안이 아니라 이메일 주소와 고객센터 번호로 열어 두세요. 서비스가 꺼진 뒤에도 살아 있어야 하는 창구이기 때문입니다.
돈이 새는 것을 막으려면 결제부터 끊으세요
공지 다음 순서는 신규 유입 차단과 정기결제 해지입니다. 순서가 바뀌면 종료를 공지한 뒤에도 결제가 계속 빠져나가고, 그만큼 돌려줄 금액이 늘어납니다.
구글 플레이에는 함정이 하나 있습니다. Play Console 공식 문서는 기본 요금제를 비활성화하면 신규 구매만 막히고 "기존 정기 결제에는 영향을 미치지 않으며 취소될 때까지 계속 자동 갱신된다"고 명시합니다. 상품을 내렸다고 기존 구독자의 결제가 멈추지 않으므로, 주문을 개별로 취소해야 합니다.
애플은 반대 방향으로 주의해야 합니다. 유료 앱 계약에 따라 구독 기간 동안 콘텐츠를 계속 제공할 의무가 있어서, 남은 구독자의 기간이 끝날 때까지 서비스를 유지하거나 환불로 정리해야 합니다.
잔여 이용기간과 포인트는 계산식이 다릅니다
잔여 이용기간은 일할 계산이 기본입니다. 12개월 이용권을 3개월 쓴 회원에게는 남은 9개월치를 돌려주며, 사업자 사정으로 끝내는 것이므로 위약금을 떼지 않습니다.
「콘텐츠이용자 보호지침」 제18조는 온라인콘텐츠 계약이 해제·해지되면 3영업일 이내에 대금을 환급하도록 정합니다. 같은 지침 제13조는 이 기한을 넘기면 연 20%의 지연배상금이 붙는다고 규정합니다. 환불 예산과 처리 인력을 종료일 전에 확보해 두어야 하는 이유입니다.
포인트는 유상과 무상을 갈라야 합니다. 현금으로 구매한 포인트는 잔액을 환불하고, 이벤트로 지급한 무상 포인트는 약관에 미리 정해 둔 보상방법을 따릅니다. 제26조가 요구하는 것은 30일 전 고지와 사전에 정한 보상방법의 이행 두 가지입니다.
결제대행 계약을 먼저 해지하면 환불 길이 막힙니다
PG(결제대행) 계약을 서둘러 해지하는 것이 가장 흔한 사고입니다. 계약이 끝나면 관리자 화면이 닫히고 카드 승인 취소를 걸 수 없어, 남은 환불을 전부 계좌이체로 처리해야 합니다.
계좌이체 환불은 회원마다 계좌번호와 예금주를 다시 받아야 해서 처리 비용이 올라갑니다. 게다가 새로 수집한 계좌 정보는 또 파기해야 할 개인정보가 됩니다. 환불은 원래 결제수단으로 되돌리는 방식이 가장 싸고 분쟁도 적습니다.
PG 계약 해지는 마지막 환불 건의 정산이 끝난 뒤에 진행하세요. 해지를 요청하기 전에 정산 주기와 보증금·유보금 반환 조건을 계약서에서 확인하고, 미정산 잔액을 받을 계좌를 지정해 두어야 합니다.
개인정보의 '지체 없이'는 5일로 읽힙니다
개인정보 보호법 제21조 제1항은 보유기간이 지나거나 처리 목적이 달성되어 개인정보가 불필요해지면 지체 없이 파기하도록 정합니다. 서비스 폐지는 여기에 그대로 해당합니다. 표준 개인정보 보호지침은 정당한 사유가 없으면 필요 없게 된 날부터 5일 이내에 파기하도록 요구합니다.
파기는 삭제 버튼을 누르는 일이 아닙니다. 전자적 파일은 복원할 수 없는 방법으로 영구 삭제해야 하고, 종이 문서는 파쇄하거나 소각해야 합니다. 운영 DB만 비우고 백업 스냅샷과 로그 서버를 남겨 두면 파기한 것이 아닙니다.
파기하지 않으면 3천만원 이하의 과태료가 부과됩니다. 종료 일정표에 백업 보관처와 보관 주기까지 적어 두고, 마지막 백업본이 언제 자동 삭제되는지를 눈으로 확인하세요.
전자상거래법이 남기라는 기록은 네 종류입니다
파기하라는 법과 남기라는 법이 동시에 적용됩니다. 전자상거래법 제6조 제1항과 같은 법 시행령 제6조 제1항이 정한 보존 대상과 기간은 다음과 같습니다.
- 표시·광고에 관한 기록: 6개월
- 계약 또는 청약철회·계약해제에 관한 기록: 5년
- 대금결제 및 재화등의 공급에 관한 기록: 5년
- 소비자의 불만 또는 분쟁처리에 관한 기록: 3년
개인정보 보호법 제21조 제3항은 이렇게 다른 법령 때문에 남기는 개인정보를 나머지 개인정보와 분리해 저장·관리하도록 정합니다. 운영 DB에 그대로 두면 안 되고, 접근 권한을 제한한 별도 저장소로 옮겨야 합니다. 분리하지 않으면 1천만원 이하의 과태료 대상입니다.
실무에서는 회원 테이블에서 이름과 연락처를 지우고 주문번호·결제일시·금액·청약철회 이력만 남긴 보존용 테이블을 따로 만드는 방식이 무난합니다. 이 테이블은 열람 권한을 두 명 이하로 좁히고, 보존 기간이 끝나는 날짜를 파일명이나 컬럼에 박아 두세요.
앱마켓·서버·도메인은 이 순서로 내리세요
앱마켓 게시 중단이 가장 먼저입니다. 신규 설치를 막아야 종료 공지를 보지 못한 신규 회원이 더 생기지 않습니다. 다만 게시를 내려도 이미 설치한 사용자는 앱을 계속 실행하므로, 앱 안에 종료 안내 화면을 띄우는 업데이트를 함께 배포해야 합니다.
서버는 환불과 데이터 내려받기가 모두 끝난 뒤에 종료합니다. 종료 직후 곧바로 지우지 말고, 보존 대상 거래기록이 별도 저장소로 옮겨진 것을 확인한 다음 인스턴스를 삭제하세요.
서버를 내리는 것은 종료 작업의 마지막이 아니라 중간 지점입니다. 도메인과 기록 보존은 그 뒤로 몇 년을 더 갑니다.
도메인은 가장 나중에 정리하고 가장 오래 남깁니다. 서비스가 끝난 뒤에도 최소 1년은 유지하면서 종료 안내 페이지와 문의 이메일 수신을 살려 두는 편이 낫습니다. 만료된 도메인을 제3자가 사들여 옛 회원에게 피싱 메일을 보내는 사고를 막기 위해서입니다.
통신판매업 폐업신고는 5일 전에 해야 합니다
유료 결제를 받았다면 통신판매업 신고를 했을 것이고, 접을 때도 신고 의무가 따라옵니다. 전자상거래법 제12조 제3항과 같은 법 시행령 제17조에 따라 폐업 5일 전까지 주된 사업장 소재지를 관할하는 시장·군수·구청장에게 휴업·폐업 신고서를 제출해야 합니다.
신고서에는 기존 통신판매업 신고증을 첨부합니다. 신고를 빠뜨리면 1천만원 이하의 과태료 대상이고, 부과 기준은 1차 200만원, 2차 400만원, 3차 1천만원입니다.
세무서에 하는 부가가치세법상 폐업신고와 구청에 하는 통신판매업 폐업신고는 별개 절차입니다. 세무서 신고만 하고 구청 신고를 잊는 사례가 실제로 적지 않으니, 두 건을 같은 날 처리하도록 일정에 함께 적어 두세요.
이 순서가 그대로 맞지 않는 경우도 있습니다
무료로만 운영한 서비스라면 환불과 PG 해지 단계가 통째로 빠집니다. 결제가 없었으니 전자상거래법상 거래기록 보존 의무도 생기지 않고, 공지와 개인정보 파기만 남습니다. 이 경우 종료 작업은 2주면 끝납니다.
서비스를 접는 것이 아니라 다른 회사에 넘기는 경우는 절차가 완전히 다릅니다. 영업 양수도에서는 개인정보를 파기하는 것이 아니라 이전 사실을 이용자에게 알리고 이전을 거부할 기회를 주어야 합니다. 이 글의 파기 일정표를 그대로 가져다 쓰면 안 됩니다.
B2B 계약이 얽혀 있다면 약관보다 개별 계약서의 해지 조항이 먼저입니다. 중도 해지 통보 기간과 잔여 대금 정산 방식이 계약서마다 달라서, 공지 30일 기준이 통하지 않는 거래처가 생깁니다.
운영 단계에서 무엇을 남길지 미리 설계해 두면 종료도 훨씬 쉬워집니다. 운영 노트와 실무 가이드에 관련 글을 모아 두었고, 보존 기간 원문은 찾기쉬운 생활법령정보에서 확인할 수 있습니다. 종료 절차 설계나 데이터 이관이 필요하면 Codeforest로 문의하세요.
결론: 공지, 결제 중단, 환불, 파기, 계약 해지 순서로 정리하세요
순서의 원칙은 하나입니다. 돈을 돌려줄 수 있는 상태를 끝까지 유지한 채 데이터와 계약을 차례로 정리하는 것입니다. 서버와 PG와 도메인을 먼저 끊으면 환불도 기록 보존도 불가능해집니다.
날짜로 옮기면 이렇습니다. 종료 30일 전에 공지와 결제 중단, 종료일에 서비스 정지, 종료 후 30일 안에 환불 완료, 환불이 끝난 뒤 개인정보 파기와 PG 계약 해지, 폐업 5일 전 통신판매업 신고, 도메인은 1년 더 유지, 거래기록은 최장 5년 보관입니다. 이 한 장이 종료 프로젝트의 전부입니다.