0개의 글
NestJS 프로젝트의 OrderService.checkOut 메서드를 심층 분석하여 Prisma 트랜잭션 내에서 4단계 가격 계산(특가, 쿠폰, 코인, 공동구매)과 5개의 하위 시스템을 연결하는 방법을 보여줍니다. 낙관적 락 차감, 원자적 재고 차감 및 완전한 환불 프로세스를 다룹니다.
JoyMini API의 아바타 자동 생성 서비스(Sharp 합성 + BullMQ 큐), Xendit 결제 통합(분산 잠금 조정 포함) 및 Redis 기반 공용 캐시 인터셉터 구현.
PaymentWebhookController (단일 엔드포인트 라우팅 + callback-token 인증) → handleUniversalWebhook (충전/출금 분기) → handleInvoiceWebhook (updateMany 낙관적 락 + creditCash) → handlePayoutWebhook (원자적 unfreeze + CRITICAL 폴백) → WalletService (ensureWallet / creditCash / freezeCash / unfreezeCash + beforeBalance/afterBalance 감사 내역) 심층 분석
NestJS PaymentService (Xendit Invoice/Payout 게이트웨이) → ClientWalletService (충전/출금/Webhook 콜백 비즈니스) → admin-next Finance 페이지 (WithdrawalList, DepositList, TransactionList)