The promotion validation has been reworked for 7.9 as an important part of the Order Creation Rework.
The old pipeline-based validation has been deprecated and will not be used anymore. It is strongly recommended to use the new approach because it is better tested, more stable and probably has a better performance.
Additionally it offers better ways of customization. This is described in Concept - Promotion Validation.
In the case the new solution is not suitable for certain customers or the efforts to migrate a highly customized validation seem too high, the old deprecated code an be reactivated doing some manual steps. These are described in more detail in the following paragraphs.
The validation of promotion codes was done (until 7.8) calling with the pipeline
ProcessPromotionCodeForBasket-ValidateAllPromotionCodesFromBasket. This pipeline has been called several times from almost all pipelines in the checkout process. Since the promotion code validation is now part of the basket validation handler chain (See Concept - Promotion Validation) this pipeline is deprecated and should not be used anymore.
All pipeline calls during the checkout steps (before submit order) have be removed. Here are all affected places:
There are several pipelines
ViewCheckoutReview-SubmitOrderthat are called when the basket is submitted to create an order. All these pipelines are strongly affected by the Order Creation rework and contain a legacy toggle which allows customers to decide if they want to use the complete new, reworked functionality to create an order or the old pipeline-based solution. These pipelines still call the deprecated pipeline for the promotion validation in case the order creation is in legacy mode. Otherwise the promotion validation is implicitly called using validation handlers call from the order creation handler chain.
Two checkout pipelines provide the possibility to apply a promotion code:
ViewCheckoutPayment-ApplyPromotion. The old pipeline-based functionality has been moved to the branch
ApplyPromotion_Legacy. The new implementation is used in the branch
Customers who want to restore the old pipeline have to:
ApplyPromotion_Legacyfrom the corresponding standard pipeline has to be copied to the custom pipeline and its name should be changed to
See also Concept - Promotion Validation.
The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.