Reference > Shop flow URLs > Order Management subsystem URLs > Orders URLs


OrderProcess URL

Submits an order for processing. The order must have been locked by the OrderPrepare command.


URL

OrderProcess


Controller command

OrderProcessCmd


Implementation class

OrderProcessCmdImpl


Commands called


URL structure

http://host_name/path/

The fully qualified name of the WebSphere Commerce Server and the configuration path.

Diagram of the URL structure: The URL starts with the fully qualified name of the WebSphere Commerce Server and the configuration path, followed by the URL name, OrderProcess , and the ? character. End the URL with a list of parameters in the form of name-value pairs. Separate each <a href=name-value pair with the & character. For a detailed description of the parameters and their values, see the list entitled Parameter values." />


Parameter values

forUser

Specifies the logon ID of the user on whose behalf the command runs; only a person with the authority to process orders can specify this parameter.

forUserId

Same as forUser, but identifies the user by the internal user ID as found in the USERS table.

langId

Sets or resets the preferred language for the duration of the session; the supported languages for a store are found in the STORELANG table.

storeId

Specifies the reference number of the store with which the order is to be placed. This value is ignored unless an error occurs before the order is resolved. It is used only to call the correct store's exception handler.

orderId

Required: Specifies the reference number of the order to be processed. This parameter can be repeated.

externalUserId

Specifies a user ID to be sent with the order-transfer request.

externalPassword

Specifies a password for the user ID specified by the externalUserId parameter.

transferMode

Specifies the mode of transfer to an external system. A value of 0 transfers the order without payment information (shopping-cart transfer); a value of 1 transfers the order with payment information (purchase-order transfer). The default value is 0.

billtoAddressId

Specifies the reference number of the address to bill.

field1, field2, and field3

Specify customizable fields.

notify_[ msgtype]_ transportname_ attributename

Specifies the configuration attributes that apply to order notification for a given message type and message transport. Message type is optional. If it is not specified, the configuration attribute applies to all message types.

For example:

  • Send the "order received" e-mail notification for orders processed by this command to 2 e-mail addresses, john@ibm.com and victor@ibm.com:

  • notify_
    OrderReceived_
    EMailSender_recipient=john@ibm.com,victor@ibm.com
    

    where OrderReceived is from MSGTYPES.NAME and EMailSender is from TRANSPORT.NAME.

  • Send all types of order e-mail notifications to jack@ibm.com:

    notify_
    EMailSender_recipient=jack@ibm.com
    

    where EMailSender is from TRANSPORT.NAME.

To send an e-mail notification to a guest customer, then capture the e-mail address of the guest customer. Set the e-mail address as the value of the notify_[ msgtype]_ transportname_ attributename parameter .

notifyMerchant

Specifies whether the store is notified when the order processing is complete. E-mail notifications are sent only when WebSphere Commerce is configured with WebSphere Commerce Payments. A value of 1 specifies that the store should be notified; a value of 0 specifies that the store should not be notified.

notifyShopper

Specifies whether the customer is notified when the order processing is complete. E-mail notifications are not sent if PrimePaymentCmd fails. A value of 1 specifies that the customer should be notified; a value of 0 specifies that the customer should not be notified.

quoteExpiryPolicy

Defines the behavior of the command if the order total expires or an order item's fulfillment center changes during inventory allocation. Order total expires if the current time is greater than or equal to the last update timestamp on the order plus the number of seconds specified in the QUOTEGOODFOR column of the STORE table. This parameter may have three values:

alwaysProceed

Always proceed with processing the order after recalculating order total.

stopOnBiggerTotal

Proceed with processing the order if the recalculated order total is unchanged or is less than the previous order total. Otherwise, redirect to a URL specified by the quoteExpiredUrl.

neverProceed

Always redirect to the URL specified by the quoteExpiredUrl parameter.

quoteExpiredURL

Specifies the URL to which to redirect if the order total expired in agreement with the expiry policy specified by the quoteExpiryPolicy parameter.

notifyOrderSubmitted

Specifies whether the customer is notified when the order is successfully submitted for processing. A value of 1 specifies that the customer should be notified; a value of 0 specifies that the customer should not be notified. The default is 0.

availabilityChangeURL

Specifies the URL to which to redirect when the estimated availability time plus the shipping offset for any order item moves into the future (as a result of allocating or backordering inventory) by more than the time interval specified by the maxAvailabilityChange parameter. This parameter is ignored if ATP inventory allocation is not enabled.

maxAvailabilityChange

Specifies the time interval, in seconds, mentioned in the availabilityChangeURL parameter description. The default value is 3600 (one hour). This parameter is ignored if the availabilityChangeURL parameter is not specified, or if ATP inventory allocation is not enabled.

noInventoryURL

Specifies the URL to which to redirect if any of the items in the order cannot be allocated or backordered. This parameter is ignored if ATP inventory allocation is not enabled.

tcId

Specifies the identifier of a Terms and Conditions object (refer to the TERMCOND table). If this is specified and if it identifies a PaymentTC, and if that PaymentTC specifies a memberId and an address nickName (refer to the PaymentTC mapping), then the memberId and address nickName are used to determine the billing address, in which case the billToAddressId parameter is ignored.

Notes about payments:

Notes about order notification: If configure order notification:

  1. Enable outbound messaging.

  2. Create templates for composing order notification messages.

quotationSubmission

Controls whether the relType attribute values for "selection" OrderQuotationRel objects that identify the order being processed with their childId attribute must be changed to "submission". A value of 0 does not change the relType attributes of the OrderQuotationRel objects in the list to indicate "submission"; a value of 1 does change it to indicate "submission". The default value is 0.

reduceParentQuantities

Controls whether quantities of order items in the selection parent order are reduced by the quantities of order items in the order being processed. A value of 0 does not reduce parent quantities; a value of 1 reduces parent quantities. The default value is 0.

The parent order is updated only when the status attribute is P or E.

Only those order items that have the same CatalogEntryId, SpecifiedItemId, and correlationGroup attribute values as the items in the order are updated.

continue

Controls whether order processing continues to the next order when there is a failure in processing one of multiple orders. A value of 0 specifies that the process should not continue; a value of 1 specifies that the process should continue. The default value is 0.

isPIAddNeeded

If not passed, the default value is true. If it is true, PIAdd will be called to add one payment instruction. Otherwise, no payment instruction will be added. If isPIAddNeeded is not passed, or if isPIAddNeeded=Y, policyId is required.

payMethodId

The meaning of the payMethodId parameter has changed from version 5.x to version 6.x. Older versions used payMethodId to set the payment method ID to add payment instruction. This has been deprecated for more than 2 releases, and was removed from version 6. Now, payMethodId means the payment method ID of the payment instruction to add. It corresponds to the column POLICYNAME of the record in the table POLICY used by this payment instruction.

When creating new WebSphere Commerce Payments Cassettes and new functions, instead use the policyID parameter.

policyId

Sets the payment policy ID. If it is not set, use the default policy ID. It is used only for compatible mode.

valueFromProfileOrder

If this parameter is not passed in, the value is 'N.' This indicates that if isPIAddNeeded is Y or not passed in, the payment information for the profile will be queried out and used in the payment protocol data. This is used in quick checkout.

billing_address_id

If isPIAddNeeded is true, sets the billing address Id of the Payment Instruction. If this parameter is not set, it will use the billing address of the order.

PONumber_i

Sets the purchase order number for this order for the group i. If the purchaseorder_id is specified, this value will be replaced.

purchaseorder_id

Sets the purchase order number for this order for the group i.

paymentInstructionId

Use this parameter to pass sensitive payment information for payment instructions.

For example, a shopper adds two payment instructions (10001 and 10002). The shopper inputs payment information for a third payment instruction. The shopper clicks the submit order button and is prompted to enter credit card verification information for all three payment instructions. Next, the order is submitted and the OrderProcess command is called. In this example, the relevant parameters are:

paymentInstructionId_1=10001&paymentInstructionId_2=10002&pay_data_cc_cvc_1=1111&pay_data_cc_cvc_2=2222&pay_data_cc_cvc_0=3333
    

This information is passed to the corresponding payment plug-in as extended data for the payment instruction. This data is not persisted.

To use the paymentInstructionId parameter, you must configure the payment plug-in to use synchronous event processing.


Example 1

The following command processes the placing of an order whose reference number is 3.

http://myhostname/webapp/wcs/stores/servlet/OrderProcess?orderId=3


Example 2

Assuming that WebSphere Commerce Payments has been already set up, this command passes the customer's payment information to Payment Manager. The parameter policyId=200 refers to the OfflineCard method which the store model uses by default for WebSphere Commerce Payments.

http://myhostname/webapp/wcs/stores/servlet/OrderProcess?storeId=34
   
&orderId=556677&policyId=200&cardBrand=Visa&cardNumber=41111111111111111&cardExpiryMonth=12&cardExpiryYear=2001

The DoPaymentMPFCmdImpl class supports an additional parameter called tcId, which is used for specifying the ID of the payment terms and conditions to be used for an order. The terms and conditions must be one of the common payment terms and conditions specified in the contracts associated with the ordered items.

To assist in selecting JSP file of common payment terms and conditions, use the UsablePaymentTCListDataBean. The tcId parameter is mandatory if any of the contracts used for the order items has payment terms and conditions associated with it.


Behavior

Call OrderCommentRecordContrlCmd to process any order comments from the CSR

If the flag updateChannelId is set:

Call PIAddCmd to add payment instructions if the remaining amount is greater than zero and if isPIAddNeeded = Y

Call ValidatePaymentMethodCmd to validate any existing PIs for the current order (not bound to "If the flag updateChannelId is set")

if Unified Business Flow is enabled:

Otherwise:

Call RaiseOrderEventCmd to raise ORDER_SUBMISSION_EVENT (not bound to "Otherwise")


Exception conditions


Related concepts

Order Management subsystem

Related reference

Order Management subsystem URLs


+

Search Tips   |   Advanced Search