ProcessOrderCmd task command

The ProcessOrderCmd task command makes the ProcessOrder server request.

Task command

com.ibm.commerce.order.client.commands.ProcessOrderCmd

Implementation class

com.ibm.commerce.order.client.commands.ProcessOrderCmdImpl

Commands called

Possible callers

ProcessBackordersCmdImpl

ProcessFutureOrdersCmdImpl

BatchOrderRequestCmdImpl

OrderProcessCmdImpl

OrderProcessPostApprovalCmdImpl

Behavior

If Unified Business Flow is not enabled or is enabled and approval is needed:
  • Call PreProcessOrderCmd

Configure order notification

Compare order totals and order item totals and if not equal, throw an exception

Call DoInventoryActionCmd to update inventory

Get current charges. If the current charges are bigger than the order total, throw an exception

Call UpdateSpendingLimitCmd to check the trading agreement spending limit and validate the PO number

Call PrimePaymentCmd (EDP command) to guarantee that the customer has funds to pay for the order

Call RaiseOrderSubmitEventCmd to raise the order submit event

Call CalculationHelper to finalize calculation usages

Update the status of the order and the order items accordingly

Configure the notification attributes so that an email notification can be sent

If OrdersMgpPersistListener is enabled:
  • Call PersistOrdersWithMemberGroupIdsForCurrentUserCmd (Marketing command) to persist the orders_id with the member group id

Call ExtOrderProcessCmd to execute customization logic

Validate the order inventory status. If backorder is not allowed and one of the items in the order is backordered, throw an exception

Call TransferOrderCmd to transfer the order to an external system if needed

Call OrderMessagingCmd to generate the outbound Order Create Message

Call NotificationHelper to notify shopper that an order is received