Stripe payment total for preorders was not reflecting the applied Loyalty Reward Points discount. The Reward Points Ledger was capturing Preorder transactions as ECOM_REGULAR instead of ECOM_PREORDER. Loyalty points balance was missing from the Profile Information section on the frontend. Resolution / Changes Made:
Stripe Preorder Discount Fix (Backend): Updated handleStripeCheckout in the payment service to include both the coupon discount and the loyalty discount (totalStripeDiscount = effectiveCouponDisc + effectiveLoyaltyDisc) for Preorders, ensuring Stripe charges the correct subtotal. Loyalty Ledger Channel Fix (Backend): Modified processLoyaltyEcomCheckout and processLoyaltyEcomEarning in the sale service to dynamically evaluate orderDoc.preOrder. It now accurately logs the transaction channel as ECOM_PREORDER instead of hardcoding ECOM_REGULAR. Profile Loyalty Mapping (Frontend): Added a new "Loyalty Points" display card under the Profile Information tab. It maps the user's current points balance from their loyaltySummary and includes a "View Ledger" button to navigate directly to their detailed reward history.