BeanPay Detail 삭제 이유

변경 전 테이블 구조 기존에는 BeanPayDetail과 PaymentDetail이 분리되어 있었습니다. BeanPayDetail 역할 BeanPayDetail은 기존의 빈페이의 변경 내역에 관한 정보를 담고 있었습니다. 4가지 상태값으로 구분되었습니다: 충전 지출 입금 출금 PaymentDetail 역할 PaymentDetail은 세부 결제 내역 정보를 저장하며 PaymentStatus로 상태를 관리합니다: 결제 환불 중복 문제 발견 PaymentDetail과 BeanPayDetail의 ProcessStatus 값이 중복 사용되고 있었습니다. 변경 이유 PaymentDetail과 BeanPayDetail의 ProcessStatus 값이 중복 사용됨 BeanPayDetail의 추가 행 생성 제거 가능 로직이 하나의 Depth가 줄어들고 유지보수성이 높아졌습니다 복잡한 연관관계 감소 BeanPayDetail의 증감 역할을 PaymentDetail로 통합 가능하다고 판단했습니다. ...

June 3, 2024 · Lee WooJin

코리아노 BeanPay 고민

빈페이로 결제하게 된 이유 내부 결제 로직과 외부 API 충전 기능을 분리함으로써 외부 API 장애 시 영향을 최소화합니다. 결제를 진행하는 중에는 외부API를 연동하지 않기 때문에 사용자의 경험을 향상시키고 결제 프로세스를 간소화할 수 있습니다. 서비스 자체 포인트인 빈페이 관리 방법 비교 방안 1: 유저 MSA에 beanpay 컬럼 추가 결제 MSA에서 유저 MSA로 API 요청하여 관리. 문제점: 단일 트랜잭션 구현의 어려움 수동 롤백 처리 필요 비관적 락을 사용하거나 분산락을 사용하게 되면 회원의 읽기 성능도 떨어지게 됩니다. 방안 2: 결제 MSA에 관리 (선택) 결제 MSA 내 BeanPay 테이블 및 상세 테이블로 관리. ...

April 17, 2024 · Lee WooJin