결제 데이터 테이블의 레벨

2024년 12월 3일 화요일

Today I Learned

날짜

2024년 12월 3일 화요일

내용

결제 내역

아임리포트의 슈퍼어드민을 만들어야 한다. 유저의 결제 상태에 따라 서비스 사용 상태를 바꿔줄 계획인데, 우선 결제는 나중에 하더라도 관련 테이블과 구조는 짜놓을 계획이다. 이 과정에서 고민이 참 많았는데, 최상위 테이블로 company를 만들고 난 후 결제 테이블이 어디에 엮여야 될 지가 관건이었다. 이 서비스의 특성상 같은 회사 내에 여러 사람이 쓸 가능성이 높다고 생각했다. 그렇다면 이 사람들의 사용에 대한 결제가 회사차원에서 이뤄질게 당연하다. 회사가 일괄적으로 결제할 것이라면, 모든 유저는 각자가 속해있는 company 데이터에 엮인 billing 을 체크하도록 구현하는게 좋다고 생각했다.

이 구조의 단점은 혹여나 회사 내에서 다른 결제 상태를 보유해야하는 경우에 대해서는 로직이 복잡해진다는 것과 현재는 회사가 없이 각 계정별로 처리될 예정이라는 것이다. 고민도 많이 했고 조언도 많이 구했는데 우선은 유저 테이블과 같은 수준에 머무르도록 처리했다. 만약 이후 같은 회사 내 모든 유저의 결제를 처리한다면 회사와 유저 테이블이 엮여있으니 로직으로 충분히 구현 가능하고 처리할 수 있기 때문이다.

회고

여쭤보길 잘했다.