ReturnProcess 指令
這個指令會透過類推退貨項目的狀態,來決定退貨商品授權 (RMA) 的核准狀態。
如果 RMA 獲得核准,指令會重新導向至 URL 值所指定的 URL。
如果 RMA 沒有核准,指令會重新導向至 URL2 值。
如果 RMA 已經過期,且有指定過期 URL 時,指令會重新導向至
RMAExpiryURL 值。
這個指令應該在 RMA 已準備好(藉由執行 ReturnPrepare 指令)之後才執行。
您可以將這個指令想成是 "完結" RMA。

參數值
- http://host_name/path/
- (必要)WebSphere Commerce Server 和架構路徑的完整名稱。
- forUser
- 將代替其執行指令之使用者的登入 ID;只有具備處理訂單權限的人才可指定這個參數。
- forUserId
- 與 forUser 相同,但卻是 USERS 表格中之內部使用者 ID 所指的使用者。
- langId
- 設定或重設在階段作業期間的屬意語言;
有關商店的支援語言可在 STORELANG 表格中找到。
- storeId
- (必要)商店的參考號碼。
- RMAId
- (必要)要處理的 RMA 識別碼。
- URL
- (必要)在 RMA 獲得核准時所要重新導向到的 URL。
- URL2
- 在 RMA 未獲核准時所要重新導向的 URL。
如果沒有指定的話,會使用 URL 參數中所指定的值。
- refundPolicyId
- 退款付款方法所用之原則的 ID。
只要合約中只有一個退款付款原則,這就是一個選用的參數;否則,第一次呼叫這個指令時,一定要指定它的值。
- RMAExpiryURL
- 在 RMA 已過期時所要重新導向的 URL。
如果有指定這個 URL,且已超過 RMGOODFOR,則會呼叫
ReturnPrepareCmd
指令,且這個 URL 會重新導向。
如果沒有指定這個 URL,則即使因 RMA 的 RMGOODFOR 期間已過期而呼叫了
ReturnPrepare,也會完成
ReturnProcessCmd,
指令。
範例 1
下列指令會利用雙向 URL 來處理訂單。
http://myhostname/webapp/wcs/stores/servlet/ReturnProcess?RMAId=1&storeId=1
&URL=ReturnDisplay&URL2=ReturnListDisplay
規則
- 檢查 RMA 是否存在。如果不存在,就會傳回一則錯誤。
- 檢查指令呼叫或先前的指令呼叫中,是否有指定退款原則,或因為只有一種選項存在。
如果不存在,就會傳回一則錯誤。
- 檢查 RMA 有沒有準備好。如果沒有,會傳回一則異常狀況。
- 呼叫 RePrepareExpiredRMACmd
作業指令,檢查每一個退貨項目的 RMAGOODFOR 期間是否已過期。
如果過期,就呼叫 ReturnPrepare 指令,如果指定了重新導向,就會重新導向至 RMAExpiryURL。
如果沒有指定 RMAExpiryURL 參數,就會正常完成 ReturnProcess。
- 呼叫 CalculateRMAApprovalCmd
作業指令,計算 RMA 的整體狀態。
如果 RMA 獲得核准,指令會將它標示為已核准,記載授權注意事項,並重新導向至指定的 URL。如果 RMA 沒有核准,指令會將它標示為擱置中的,並重新導向至 URL2。
異常狀況
下列條件會導致指令執行失敗:
- 如果指定的 RMAId 無效或不是正確的狀態(例如尚未備妥),則會產生
ECApplicationException,其中包含訊息 _ERR_RMA_IN_INVALID_STATE_FOR_COMMAND
- 如果沒有指定退款原則,或所指定的原則對 RMA 無效,則會產生
ECApplicationException,其中包含訊息 _ERR_BAD_MISSING_CMD_PARAMETER