The validatePostApproval pipeline chain revalidates an order after an order requiring approval has been approved, or after the system determines that an order does not require approval. It only needs to check information that the approver is expected to specify, or that the approver might change as part of the order approval process.

By default it revalidates all payment-related information, as well as checking that all order and shipping costs are accounted for. It assumes that other information about the order is unchanged, and does not revalidate shipping addresses, etc. If the application’s approval process allows approvers to change other order information, that information should also be revalidated here.

The following sections describe each processor in the pipeline chain.

valid

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/order/processor/ValidatePaymentGroupsPostApproval

PipelineProcessor object: atg.commerce.order.processor.ProcValidatePaymentGroupsForCheckout

Transitions: Return value of 1 executes the validatePaymentGroupsPostApproval pipeline chain.

validateCostCentersPostApproval

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/order/processor/ValidateCostCentersForCheckout

PipelineProcessor object: atg.commerce.order.processor.ProcValidateCostCentersForCheckout

Transitions: Return value of 1 executes the next link in the pipeline chain.

validateShippingCostsPostApproval

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/order/processor/ValidateShippingCostsForCheckout

PipelineProcessor object: atg.commerce.order.processor.ProcValidateShippingCostsForCheckout

Transitions: Return value of 1 executes the next link in the pipeline chain.

validateOrderCostsPostApproval

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/order/processor/ValidateOrderCostsForCheckout

PipelineProcessor object: atg.commerce.order.processor.ProcValidateOrderCostsForCheckout

Transitions: None, this is the last link in the chain and will cause the PipelineManager to return to the caller.