개발일지(빌드로그)

동호회 회비 미납 안내, 보내기보다 받는 사람이 먼저였어요

lifecarelog 2026. 10. 13. 22:23
반응형

플랜비 회비 기능을 손보다 미납 안내가 엉뚱한 계정과 수신자로 가던 버그를 잡았고, 앱 안 확인·문구 통일·중복 처리 방지까지 같이 바꾼 이유를 적었어요.

동호회에서 회비 걷어보신 적 있으세요? 걷는 것 자체보다 '아직 안 내신 분' 메시지를 몇 번씩 다시 보내는 쪽이 훨씬 지겹더라고요. 플랜비(농구 동호회 운영 앱)에서 이 부분을 지난 3주 동안 꽤 손봤는데, 중간에 제대로 막힌 지점이 하나 있어서 기록해둡니다.

회비는 걷는 것보다 안 낸 걸 알리는 게 더 일이에요

플랜비가 보는 동호회 반복 업무는 네 가지예요. 출석, 회비, 일정 공지, 멤버 변동. 이 중에 회비는 돈이 걸려 있어서 제일 조심스럽고, 그래서 제일 미뤄지는 일이기도 해요.

운영자 입장에서 회비 기능이 하는 일은 결국 둘이에요. 누가 냈고 누가 안 냈는지 보여주는 것, 그리고 안 낸 사람한테 알리는 것. 이번에 손본 건 두 번째 쪽이에요.

미납 안내가 엉뚱한 계정으로 가고 있었어요

앱 안에서 미납 안내를 받고 확인하는 기능을 붙이다가 확인한 건데, 안내가 의도한 계정과 수신자에게 가지 않는 경우가 있었어요. 보내는 건 되는데, 닿는 곳이 틀린 거죠.

이게 제일 싫은 종류의 버그예요. 에러가 안 나요. 보내기는 멀쩡히 성공으로 끝나요. 그런데 받아야 할 사람 화면엔 아무것도 없고, 받지 말아야 할 쪽에 가 있을 수 있는 거예요.

회비 안내는 내용이 '당신 아직 안 냈어요'라서 더 문제고요. 엉뚱한 사람이 그 안내를 받으면 기능 버그가 아니라 관계 문제가 돼요. 그래서 이것부터 잡았어요.

미납 안내는 어디로 닿았나

그림 1.

미납 안내 전달 경로 전/후(플랜비 회비 기능 수정)

왜 '계정'과 '수신자'를 따로 봤을까요?

고치면서 기준을 하나 정했어요. 안내 하나에 '어느 계정 명의로 나가는지'와 '누가 받는지'는 다른 질문이고, 둘 다 맞아야 전달된 거라고요. 한쪽만 맞으면 보낸 것처럼 보이는 실패예요.

플랜비는 한 사람이 아직 어느 모임에도 안 속해 있을 수도, 나중에 들어올 수도 있어요. 실제로 이번에 소속 모임이 없는 사용자가 초대를 수락 못 하던 것도 같이 고쳤거든요. 사람과 모임 관계가 이렇게 움직이면, 수신자를 '그 사람'으로만 잡으면 안 되고 '이 모임의 그 멤버'로 잡아야 해요.

수정 자체는 그 기준대로 전달 대상을 맞추는 쪽이었어요. 그리고 이 버그는 보내는 쪽 결과만 보면 계속 통과하니까, 받는 쪽 화면까지 봐야 끝나는 종류예요.

미납 안내는 보내는 기능이 아니라, 맞는 모임의 맞는 사람에게 맞는 이름으로 닿았는지 확인하는 기능이에요.

앱 안에서 받고 확인하게 바꾼 이유

원래 하려던 작업이 이거였어요. 미납 안내를 앱 안에서 받고, 받은 사람이 확인했다는 걸 남기는 기능이요.

앱 밖에서 안내를 보내면 빠르긴 한데, 운영자는 '읽었나?'를 다시 물어봐야 해요. 그게 다시 반복 업무가 되죠. 앱 안에서 확인까지 되면, 안내를 보낸 뒤 운영자가 할 일이 하나 줄어요.

버그를 먼저 잡고 나서 이 기능을 붙인 순서가 맞았다고 생각해요. 전달이 틀린 상태에서 확인 기능까지 올렸으면 엉뚱한 사람이 '확인'을 누르는 상황까지 생겼을 거예요.

앱 안에서 보내고 받고 확인되기까지

그림 2.

미납 안내가 앱 안에서 보냄→받음→확인됨으로 돌아오는 화면 흐름(플랜비)

문구는 운영자 말이 아니라 멤버 말로

같이 바꾼 게 회비 상태별 안내 문구예요. 상태마다 표현이 달라서 쉬운 말로 통일했어요. 이 문구는 운영자가 아니라 받는 멤버가 읽어요. 그러니 상태 이름을 아는 사람 기준으로 쓰면 안 되더라고요.

그리고 회비 내역이 두 번 처리되지 않게 막고, 실패하면 실패했다고 보여주는 화면을 넣었어요. 돈 관련은 조용히 실패하는 게 제일 위험하니까요. 성공한 척하는 것보다 실패 화면이 낫다고 봐요.

바꾼 것 전 후
미납 안내 전달 잘못된 계정·수신자로 갈 수 있었음 맞는 계정과 수신자에게 전달
미납 안내 확인 앱 안에서 받고 확인하는 화면 없음 앱 안에서 받고 확인
회비 상태 문구 상태마다 다른 표현 쉬운 말로 통일
회비 내역 처리 중복 처리 가능, 실패 안내 없음 중복 방지, 실패 안내 화면

직접 해 보려면

  • 알림이나 안내 기능이 있다면, '보내는 계정'과 '받는 사람'을 따로 틀리게 만든 테스트 케이스를 하나씩 넣어보세요. 보내기 성공만 보는 테스트는 이 버그를 못 잡아요.
  • 상태별 안내 문구를 받는 사람 입장에서 소리 내어 읽어보세요. 상태 이름을 모르는 사람이 이해 못 하면 바꿀 때예요.
  • 돈이 걸린 처리엔 중복 방지와 실패 화면이 있는지 먼저 확인하세요. 둘 중 하나 없으면 성공한 척하는 경로가 어딘가 있어요.

이걸로도 안 되는 것

실제 운영자가 앱 안 미납 안내를 앱 밖 메시지보다 편하게 쓰는지는 아직 몰라요. 사용 데이터가 없어서 지금은 가설이에요.

문구를 쉽게 바꿨다고 미납이 줄어드는 건 별개 문제예요. 안내가 정확히 가는 것까지가 이번 작업이고, 그다음은 사람 일이에요.

반응형