답변
인앱결제로 들어온 구독은 해지와 환불의 열쇠가 우리 쪽이 아니라 결제를 받은 앱마켓 쪽에 있습니다. 그래서 고객이 고객센터에 해지해 달라고 할 때 바로 끊어 드리지 못하는 상황이 생기고, 이것이 상담 불만으로 번집니다. 답은 구글 플레이와 애플 앱스토어가 다릅니다. 구글은 개발사가 콘솔이나 API로 해지와 환불을 직접 처리할 수 있고, 애플은 일반 구독이라면 고객이 직접 해지하고 환불도 애플이 결정합니다. 각각 무엇까지 되는지, 그리고 앱마켓으로 가시라는 한마디가 왜 위험해질 수 있는지 차례로 말씀드리겠습니다. 구조부터 사실대로 짚겠습니다. 인앱결제에서는 고객의 결제수단과 결제 기록이 앱마켓 계정에 있고, 우리 서버에는 구독 상태를 알려주는 영수증과 알림만 옵니다. 그러니 고객센터가 결제대행사 관리자 화면에서 취소를 누르는 방식이 통하지 않습니다. 이 구조 때문에 해지 요청을 앱마켓으로 넘기고 싶어지는 것도 이해됩니다. 처리할 권한이 실제로 없는 경우도 있기 때문입니다. 다만 해지 문의를 일부러 돌려보내 해지 시점을 늦추거나, 앱마켓 쪽 경로를 모호하게 안내해 갱신 결제가 한 번 더 일어나게 하는 응대 설계는 이 답변에서 다루지 않겠습니다. 그건 아래에서 말씀드릴 해지 방해에 그대로 해당합니다. 구글 플레이부터 보겠습니다. 구글 개발자 문서는 개발사가 purchases.subscriptionsv2.cancel API로 구독을 해지할 수 있고, 이 경우 사용자는 현재 결제 주기가 끝날 때까지 이용 권한을 유지한다고 설명합니다. 권한을 즉시 끊어야 할 때는 purchases.subscriptionsv2.revoke API가 있습니다. Play Console 도움말은 구독의 가장 최근 주문을 환불하면 주문이 환불되고 구독이 즉시 제거되며 이후 갱신도 자동으로 취소된다고 안내하고, 이전 주문만 환불하면 구독은 유지된다고 적고 있습니다. 부분 환불도 가능하며 그 비율이 정산액과 수수료에도 적용되고, 해지만 해서는 환불이 되지 않으며 한 번 처리한 환불은 되돌릴 수 없다는 점도 명시돼 있습니다. 그래서 구글 결제 고객이라면 우리 쪽에서 해지해 드릴 수 있고, 해지만 할지 환불까지 할지 정해서 처리하시면 됩니다. 애플 앱스토어는 다릅니다. 애플은 WWDC21 세션에서 환불 요청이 애플의 환불 결정 시스템을 거쳐 판단된다고 설명했고, 개발사에게는 두 가지 도구를 제공합니다. 하나는 앱 안에서 애플의 구독 관리 화면을 바로 띄우는 showManageSubscriptions, 다른 하나는 고객이 앱 안에서 환불을 요청하게 하는 beginRefundRequest입니다. 고객이 앱 밖에서 환불을 원하면 애플 지원 문서대로 reportaproblem.apple.com에 로그인해 환불 요청을 고르고 사유와 항목을 제출하면 되고, 승인 여부는 애플이 정합니다. 소모성 상품에 환불 요청이 들어오면 애플이 서버로 CONSUMPTION_REQUEST 알림을 보내고, 개발사는 12시간 안에 이용 정보를 보내 판단에 참고되게 할 수 있습니다. 결국 애플 결제 고객은 우리가 대신 끊어 드리는 게 아니라, 끊는 화면까지 가장 짧게 모셔다 드리는 게 우리 몫입니다. 여기서 위험해지는 지점이 있습니다. 전자상거래 등에서의 소비자보호에 관한 법률 제21조의2 제1항 제4호는 정당한 사유 없이 구매나 가입 절차보다 해지 절차를 복잡하게 설계하거나(가목), 가입 방법과 다른 방법으로만 해지할 수 있게 제한하는(나목) 방식으로 해지를 방해하는 행위를 금지하고, 같은 법 제45조 제4항 제7호에 따라 1천만원 이하의 과태료 대상입니다. 앱에서 몇 번 눌러 가입한 고객에게 해지 방법은 알아서 찾으시라고 돌려보내면, 권한이 앱마켓에 있다는 사정이 있어도 절차를 복잡하게 만든 것으로 읽힐 소지가 생깁니다. 방송통신위원회도 2018년 5월 모바일 앱 결제·해지 절차 집중점검에서 전기통신사업법 제50조를 근거로 자동결제 구독 앱이 앱 안에 해지 기능을 제공하는지를 점검 항목으로 삼았습니다. 오래된 점검이라 지금 기준과 같다고 단정하지는 않지만, 규제기관이 어디를 보는지는 분명히 보여줍니다. 그래서 이렇게 운영하시길 권합니다. 첫째, 앱 설정 화면에 구독 관리 메뉴를 두고 결제 경로를 판별해, 구글 결제면 우리 서버에서 해지 API를 호출하고 애플 결제면 showManageSubscriptions로 애플 구독 관리 화면을 바로 여십시오. 둘째, 고객센터 응대 문구에 결제 경로별 해지 방법을 단계까지 적어 두고, 애플 고객에게는 기기 설정의 구독 메뉴와 reportaproblem.apple.com 경로를 그대로 안내하십시오. 셋째, 웹 결제 이용자와 인앱결제 이용자의 해지·환불 처리 주체를 약관과 도움말에 나눠 적어 두십시오. 넷째, 앱마켓에서 오는 환불·해지 알림을 받아 우리 쪽 이용 권한도 같은 시점에 정리되게 하십시오. 이렇게 하면 앱마켓으로 가시라는 말이 떠넘기기가 아니라 가장 빠른 안내가 됩니다. 세 가지는 확인하지 못했습니다. 애플이 일반 구독과 별도로 운영하는 Advanced Commerce API 문서에 구독 취소(Revoke Subscription) 항목이 있지만, 적용 대상과 이용 요건은 원문을 확인하지 못했습니다. 인앱결제 구독의 중도 해지 환급 책임을 앱마켓과 개발사 중 누가 지는지 정면으로 밝힌 유권해석이나 판례도 확인하지 못했고, 전기통신사업법 시행령상 앱마켓 환불 관련 금지행위 조항의 현행 문언도 대조하지 못했습니다. 지어내지 않고 남기니, 애플 쪽은 App Store Connect의 개발자 지원 문의로, 국내 규제 해석은 방송미디어통신위원회 이용자 정책 부서와 1372 소비자상담센터로 확인하시기 바랍니다.