OrderProcess 指令

這個指令會提交一份訂單。 訂單必須被 OrderPrepare 鎖定。一旦 OrderProcess 指令開始執行, 即無法使用 OrderCancel 來取消訂單。  

proproce.gif(7483 個位元組)

參數值

http://host_name/path/
(必要)WebSphere Commerce Server 和架構路徑的完整名稱。
forUser
將代替其執行指令之使用者的登入 ID;只有具備處理訂單權限的人才可指定這個參數。
forUserId
與 forUser 相同,但卻是 USERS 表格中之內部使用者 ID 所指的使用者。
langId
設定或重設在階段作業期間的屬意語言; 有關商店的支援語言可在 STORELANG 表格中找到。
storeId
要對其下訂單的商店參考號碼。系統不處理此值,除非在 訂單解析之前發生錯誤。 只有在呼叫正確商店的異常處理程式時才會用到它。
orderId
(必要)訂單的參考號碼。
billtoAddressId
帳單地址的參考號碼。
field1、field2 與 field3
自訂欄位
notifyMerchant
當訂單處理好之後,應不應該通知商店。
1=是
0=否
notifyShopper
當訂單處理好之後,應不應該通知客戶。
1=是
0=否
quoteExpiredURL
指出一旦協定中的訂單總金額因 quoteExpiryPolicy 參數所指定的過期原則而過期時, 將重新導向至哪個 URL。
quoteExpiryPolicy
定義如果訂單總金額過期,或訂單項目的供貨中心在庫存配置期間做了變更時, 指令的行為。如果目前的時間大於或等於訂單前次更新的時間戳記加上 STORE 表格的 QUOTEGOODFOR 直欄所指定的秒數時,訂單總金額即屬過期。 這個參數有三個可能值:
notifyOrderSubmitted
指定當訂單順利提交供進行處理後,是否要通知客戶。
1
=是
0=否(預設值)
availabilityChangeURL
指定當預估的可用時間加上任何訂單項目的出貨偏移移至未來(因配置或將庫存用在補貨的結果) 的時間超過 maxAvailabilityChange 參數所指定的間隔時,要重新導向的 URL。 如果沒有啟用 ATP 庫存配置,系統不處理這個參數。
maxAvailabilityChange
以秒數為單位指定在 availabilityChangeURL 參數說明中提到的時間間隔。 預設值是 3600(1 個小時)。如果沒有指定 availabilityChangeURL 參數,或沒有啟用 ATP 庫存配置,系統將不處理這個參數。
noInventoryURL
指定如果無法配置訂單中的任何訂單項目,或無法補貨時,要重新導向的 URL。 如果沒有啟用 ATP 庫存配置,系統不處理這個參數。
tcId
條款物件的識別碼(請參考 TERMCOND 表格)。 如果有指定這個參數,並且這個參數指的是 PaymentTC,同時如果該 PaymentTC 指定了 memberId 和地址 nickName(請參考 PaymentTC 對映),將會使用 memberId 和地址 nickName 來決定帳單地址,在這個情況下,系統不處理 billToAddressId 參數。

付款的注意事項
OrderProcess 指令本身不會處理付款。如果要處理付款,請使用 DoPayment 作業指令實作的 DoPaymentCmd 介面類別。 從 OrderProcess 傳遞給這個指令的參數可以是任何東西,不過,它們通常會施行信用卡資訊。

WebSphere Commerce 有包括 OH  作業指令的兩個實作類別: DoPaymentCmdImpl 類別和 DoPaymentMPFCmdImpl 類別。DoPaymentCmdImpl 類別是一項範例施行,用來顯示使用者如何撰寫 DoPayment 作業指令來使用 OrderProcess 指令。 DoPaymentMPFCmdImpl 類別是標準 DoPaymentCmd 實作類別,它的設計是要供 IBM Websphere Payment Manager 第 3.1 版使用, 它支援這個版次的 WebSphere Commerce Business Edition 所引進的企業消費型商務功能。

訂單通知的注意事項

如果您必須架構訂單通知,您必須執行下列動作:

  1. 啟用出埠傳訊
  2. 建立訊息撰寫範本,以撰寫訂單通知訊息。  

範例 1
下列指令要處理參考號碼為 3 之訂單的下單:
    http://myhostname/webapp/wcs/stores/servlet/OrderProcess?orderId=3

範例 2
假設已設定好 Payment Manager,這個指令會將客戶的付款資訊傳遞給 Payment Manager。policyId=200 參數會參照商店模型預設用於 Payment Manager 的 OfflineCard 方法。
    http://myhostname/webapp/wcs/stores/servlet/OrderProcess?storeId=34
    &orderId=556677&policy=200&cardBrand=Visa
    &cardNumber=41111111111111111&cardExpiryMonth=12&cardExpiryYear=2001

附註:payMethodId 參數只供與舊版相容之用。 如果是新的 Payment Manager Cassettes 和新的企業消費型商務功能,請改用 policyId 參數(如範例 2 所示)。 如果需要定義的付款原則清單,請參閱下面的相關鏈結。

DoPaymentMPFCmdImpl 類別支援一個稱為 tcld 的附加參數,用來指定訂單要用的付款條款的 ID。 條款必須是訂購項目的相關合約中所指定的一般付款條款。 為了要協助選取一般的付款條款 JSP 檔,請使用 UsablePaymentTCListDataBean。 如果 OrerItems 使用的任何合約有和付款條款相關聯時,tcld 是強制的參數。

規則

異常狀況

相關概念

相關參照

IBM copyright