Add promo code models and APIs, persist selected promo codes on top-up orders, and apply bonus quota idempotently when payments complete.