Devy

Search Posts

Search blog posts by title, description, tags, or content.

Back to About

Payment System Redesign

Day1 Company · Mar 2025 - Sep 2025

JavaSpring BootRedisPortOne

Tasks

  • Migrated the legacy PHP payment system to Java/Spring and redesigned payment verification, lesson-pass issuance, and failure recovery
  • Handled payment verification, storage, and lesson-pass issuance on the server after PortOne payment-completion webhooks, while the app queried an API for processing results
  • Controlled concurrent payment processing with Redis locks and checked whether a payment had already been processed, achieving 0 duplicate payments
  • Designed defensive logic for edge cases such as automatic refunds, coupon recovery, and compensation-ticket recovery, reducing payment-related CS issues by 90%
  • Unified payment flows around enum-based type handling, reducing the effort for adding new payment methods by more than 50%
  • Implemented and unit-tested a subscription expiration-date calculation algorithm
    • Removed manual end-of-month correction work