Guide - 7.9 Migration Promotion Validation

1 Introduction

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.

2 Validate a Promotion in the Basket

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:

2.1 ViewCheckoutAddresses-ContinueCheckout (app_sf_responsive)

2.2 ViewCheckoutPayment-Start (app_sf_responsive)

2.3 ViewCheckoutPayment-NewOpenTenderPaymentInstrument (app_sf_responsive)

2.4 ProcessCheckoutNewUserAddresses-CreateAddresses (bc_orderprocess)

There are several pipelines ViewCheckoutReview-SubmitOrder that 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.

3 Validate a Promotion Code During Redemption

Two checkout pipelines provide the possibility to apply a promotion code: ViewCart-ApplyPromotion, ViewCheckoutPayment-ApplyPromotion. The old pipeline-based functionality has been moved to the branch ApplyPromotion_Legacy. The new implementation is used in the branch ApplyPromotion.

Customers who want to restore the old pipeline have to:

  1. Create a custom ViewCart / ViewCheckoutPayment pipeline.
    The whole branch ApplyPromotion_Legacy from the corresponding standard pipeline has to be copied to the custom pipeline and its name should be changed to ApplyPromotion.

See also Concept - Promotion Validation.

Disclaimer

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.

Customer Support
Knowledge Base
Product Resources
Support Tickets