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