Hi,We are building a self serve buy flow that will be used by the customer for new activations.
We have one scenario where the business wants to allow a customer to choose an extra top-up amount in the new activation flow where a customer is choosing the main plan and addons.So this extra amount is going to be a top-up in the main pre-paid balance on the top of the main plan.Business wants to charge the customer only once for a total of the top-up amount and the plan amount.Now we have the plans, addons in the Catalog but the Top Up amount is a random value entity so naturally outside the catalog. We are looking for ways how this could be implemented,Which system should do what?Option 1: Keep the item for top-up amount outside the main order UI/UX layer calls the order management to Calculate prices and taxes for all Catalog items in the Shopping Cart then the taxation engine for taxes on the top-up amount aggregates both amounts and then calls the Payment service directly to make one payment.Problem: After the order is processed if we have to show the details of the main order we don't have the top-up in the order so which system should maintain the top-up item, payments? doesn't sound logical but then how will I show the details of the order to customer in the account management.Option 2: Create a placeholder offer in the Catalog and add the top-up item as another item in the catalog UI/UX layer calls the order management to Calculate prices and taxes for all Catalog items in the Shopping Cart (now even the top-up amount is represented by another offer) the order management calculates the prices and taxes for all items and returns the response with aggregate amount and tax to the UI/UX layerProblem: Is it possible (and good practice) to create such a kind of placeholder offers/products in the Catalog? What kind of product specification will be associated with this offer? Because this offer doesn't really belong to any actual product.
looking for suggestions. I feel we are missing some elements/systems here.