연간 연간 결제 시 모든 유료 요금제에서 2개월 무료. 요금제 보기
로그인 무료로 시작

환불은 접근 권한도 함께 되찾아가야 한다

장부가 올바르게 뒤집히는지 확인하기 위해 우리 자신의 계정에 환불을 실행했습니다. 실제로 그렇게 되었습니다. 그런데 누군가 계정 상태의 나머지 부분을 확인했고, 진짜 발견은 거기에 있었습니다. 요금제는 여전히 활성 상태였고, 다음 달 중순까지 그 상태를 유지할 예정이었습니다. 돈은 돌려받고, 접근 권한은 유지된 채로요. "환불"을 클릭할 의향이 있는 누구든 매달 반복할 수 있었습니다. 이것을…

장부가 올바르게 뒤집히는지 확인하기 위해 우리 자신의 계정에 환불을 실행했습니다. 실제로 그렇게 되었습니다. 그런데 누군가 계정 상태의 나머지 부분을 확인했고, 진짜 발견은 거기에 있었습니다. 요금제는 여전히 활성 상태였고, 다음 달 중순까지 그 상태를 유지할 예정이었습니다.

돈은 돌려받고, 접근 권한은 유지된 채로요. "환불"을 클릭할 의향이 있는 누구든 매달 반복할 수 있었습니다. 이것을 발견한 것은 테스트가 아니었습니다. 어떤 테스트도 그 질문을 던지지 않았기 때문입니다.

결제가 구매한 기간을 종료하기

전액 환불의 경우, 그 결제가 열었던 기간은 이제 즉시 종료되며, 생애 주기 이벤트가 그 이유를 기록합니다.

즉시 종료되지만, 아무것도 없는 상태로 가는 것은 아닙니다. 한 요금제에 있다가 더 비싼 요금제로 업그레이드했고, 그 업그레이드 결제가 환불된다면, 무료 등급이 아니라 원래 있던 요금제로 돌아갑니다. 그 달은 별도로 결제되었고, 환불되지 않았습니다. 그것까지 가져가는 것은 고객이 여전히 소유하고 있는 것을 플랫폼이 스스로 취하는 셈이 될 것입니다. 여전히 활성 상태인 이전 요금제가 없는 사람만 무료로 떨어집니다.

접근 권한에는 두 가지 측면이 있다

이 수정의 첫 번째 버전은 구독 행을 종료하고 거기서 멈췄습니다. 하지만 무엇에 접근할 권한이 있는지는 두 가지에 달려 있습니다. 예산이 읽는 행, 그리고 결제가 성공했을 때 부여된 역할입니다. 구독을 종료하는 다른 모든 경로는 이 역할을 명시적으로 제거합니다. 이것은 그렇게 하지 않았고, 그래서 환불된 계정은 서류상으로는 취소되었지만 유료 등급의 권한을 계속 보유하고 있었을 것입니다.

이제 역할도 함께 제거되며, 일반적인 "무료"가 아니라 복원된 요금제의 등급에 안착합니다 — 복원 자체와 같은 논리입니다.

제공자에게 알리기

계정 페이지에는 무료 등급이라고 표시되어 있었습니다. 결제 제공자의 대시보드에는 활성, 다음 청구는 다음 달이라고 표시되어 있었습니다. 환불은 우리 쪽에서 일을 끝냈지만 상대 쪽에는 전혀 알리지 않았고, 그래서 고객은 환불받았고 더 이상 사용할 수 없는 요금제에 다시 청구될 대기열에 있었습니다 — 게다가 우리 화면에서 이를 멈출 방법도 없었습니다. 취소는 활성 구독을 필요로 하는데, 우리가 방금 그 구독을 취소해버렸기 때문입니다.

환불은 이제 결제를 발행한 제공자 쪽에서 자동 갱신을 중단시킵니다. 즉시 해지가 아닙니다. 자동 갱신이 멈추어 더 이상 돈이 움직이지 않고, 제공자 자체 기록은 방금 처리한 환불 아래에서 강제로 뜯겨나가는 대신 자체 일정에 따라 종료됩니다.

한 가지 예외가 있는데, 이는 출시 전에 소유자가 발견한 것입니다. 복원된 요금제가 같은 제공자 구독 위에서 작동하고 있다면, 이를 취소하면 절대 갱신되지 않고 절대 청구되지 않는 요금제가 남게 됩니다 — 이것이 고치려는 버그의 정확한 거울상이며, 그만큼 조용합니다. 이 경우는 이제 명시적으로 지목되어 손대지 않은 채로 남겨집니다.

기간을 연 결제만이 그 기간을 종료할 수 있다

이 제공자에서 월 중간의 업그레이드는 기존 행에 대해 작은 비례 차액을 청구합니다. 그 작은 청구를 환불했다면 구독을 찾아내고, 전부 취소하고, 이전 요금제를 찾아보지만, 아무것도 찾지 못한 채 고객을 무료로 떨어뜨렸을 것입니다 — 월 중간 조정 때문에요. 이제는 현재 기간을 연 결제만이 그 기간을 종료할 수 있습니다. 그 이후의 모든 것은 돈의 문제이며, 장부는 이미 그에 답했습니다.

활성화된 경로 하나만이 아니라 네 개의 경로 모두

우리가 지원하는 네 개의 결제 처리업체 중 세 곳에는 오늘 아무도 없습니다. 취소 로직은 활성화된 경로 하나만 고쳐도 됐을 것이고, 실제로 거의 그렇게 될 뻔했습니다. 이를 바꾼 반론은 이랬습니다. 나머지 중 하나가 언젠가 다시 활성화되는 날, 그 구멍이 되돌아올 것이고, 그때쯤이면 아무도 그것이 존재했다는 사실을 기억하지 못할 것이라고요.

이 저장소는 같은 종류의 잊힌 함정을 여섯 번이나 출시했습니다. 이제 취소 로직은 네 개의 처리업체 모두가 단 한 줄로 호출하는 하나의 계약 뒤에 존재합니다 — 그래서 미래에 그중 하나를 다시 활성화하는 유지 관리자는 이 내용을 하나도 읽지 않고도 그것을 자연스럽게 얻게 됩니다.

공유 LinkedIn X 이메일
직접 업무에 써 보세요모든 답변에 비용이 표시됩니다. 무료 플랜으로 시작하세요. 무료로 시작
소음이 아닌, 제품 소식만 새 모델, 새 기능, 주요 변경 사항 - 정말로 무언가 출시될 때만 도착하는 짧은 이메일.
구독하면 ToRun의 제품 업데이트 이메일 수신에 동의하게 됩니다. 언제든지 구독을 취소할 수 있습니다. 개인정보 처리방침