|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.ibm.commerce.command.AbstractECCommand | +--com.ibm.commerce.command.TaskCommandImpl | +--com.ibm.commerce.command.BusinessPolicyCommandImpl | +--com.ibm.commerce.payment.commands.DoRefundPMCmdImpl
This DoRefundPolicy
business policy
command implementation class is the default implementation class
for refunding payment through WebSphere Payment Manager.
(The original payment method of the Order may be different)
Parameter:
Parameter Name | Type | Descriptions |
abRMA | RMAAccessBean | The RMA Access Bean |
abOrder | OrderAccessBean | The Order Access Bean |
bdRefundAmount | BigDecimal | The amount of the refund in the currency of the Order. |
errorViewName | String | Optional error view name passed in by the Caller. |
PaymentConstants.ERR_CODE_PM_COMM_ERR
(1950) - Communication to Payment System failed. (Connection to Payment Manager Failed.)
PaymentConstants.ERR_CODE_ORDER_UNKNOWN
(1951) - Order is not known to the Payment System (Order does not exist as a Payment Manager Order.)
PaymentConstants.ERR_CODE_PM_REJECTED
(1952) - Payment System rejected the command due to error. (WebSphere Payment Manager Operation "p" for StoreId "s" OrderId "m" failed. WebSphere Payment Manager PrimaryRC=x, SecondaryRC=y.)
PaymentConstants.ERR_CODE_ORDER_CAN_NOT_REFUND
(1957) - Order not in the correct state for Refund.
(for example, WebSphere Payment Manager Order not in "Refundable" state. Refund not allowed.)
PaymentConstants.ERR_CODE_REFUND_NOT_SUPPORTED
(1958) - Payment System does not support Refund.
(for example, Cassette does not support Refund). It is expected that the Caller will mark the Return Merchandise Authorization (RMA) with a special code that indicate "OfflineRefundRequired" so that a report can be run at the end of the day for the store administrator to take special action similar to the failure case.
Fields inherited from class com.ibm.commerce.command.BusinessPolicyCommandImpl |
policyId, requestProperties |
Fields inherited from class com.ibm.commerce.command.AbstractECCommand |
commandContext |
Fields inherited from interface com.ibm.commerce.payment.commands.DoRefundPolicyCmd |
COPYRIGHT, defaultCommandClassName, ERRTASK_NAME, NAME |
Constructor Summary | |
DoRefundPMCmdImpl()
|
Method Summary | |
protected void |
checkCurrencyAndGetChargeAmount()
Checks the currency of the Order and the Store default currency. |
protected AccountAccessBean |
getAccount()
This method will first check if the local variable is set or not. |
protected java.lang.Long |
getAccountId()
Returns the Account ID. |
protected java.math.BigDecimal |
getChargeAmount()
Returns the Charge Amount. |
protected java.lang.String |
getChargeAmountCurrency()
Returns the currency of the Charge Amount. |
protected java.lang.String |
getErrorViewName()
Retrieve the error view name passed in by the Caller. |
protected OrderAccessBean |
getOrder()
Returns the OrderAccessBean representing the Order. |
protected java.math.BigInteger |
getPMRefundAmount()
Returns the refund amount normalized for input to the Payment Manager. |
protected java.math.BigDecimal |
getRefundAmount()
Returns the refund amount. |
protected RMAAccessBean |
getRMA()
Returns the RMA AccessBean. |
boolean |
isReadyToCallExecute()
This method is called by the Command Framework to check if all basic mandatory parameters have been set for this command. |
void |
performExecute()
Performs the main business logic of the command. |
void |
reset()
Resets the instance variables of the command. |
protected void |
retrieveActiveAccountIdFromOrder()
This method is called by performExecute to retrieve the Account ID from the Trading Agreement associated with the RMA. |
protected void |
setAccountId(java.lang.Long nAccountId)
Sets the accountId property of the command. |
protected void |
setChargeAmount(java.math.BigDecimal nChargeAmount)
Sets the nChargeAmount property of the command. |
protected void |
setChargeAmountCurrency(java.lang.String sCurrency)
Sets the chargeAmountCurrency property of the command. |
protected void |
setCurrencyExponent(java.lang.String astrCurrencyExponent)
Sets the currencyExponent. |
void |
setErrorViewName(java.lang.String sEVN)
Optional error view name passed in by the Caller. |
protected void |
setNumericCurrencyCode(java.lang.String astrCurrencyCode)
Sets the numeric currency code. |
void |
setOrder(OrderAccessBean ab)
Sets the order property of the command. |
protected void |
setPMRefundAmount(java.math.BigInteger biPMRefundAmount)
Sets the refundAmount normalized for input to the Payment Manager. |
void |
setRefundAmount(java.math.BigDecimal refundAmount)
Sets the refundAmount property of the command. |
void |
setRMA(RMAAccessBean ab)
Sets the RMA AccessBean representing the Return Merchandise Authorization record. |
protected void |
setupNumericCurrencyCodeAndPMRefundAmount()
This method retrieves the numeric currency code from the SETCURR Table and converts the refund amount into a normalized form required for input to the Payment Manager. |
protected void |
updateOrderPaymentMethod()
This method is called by performExecute to update ORDPAYMTHD table with refund info |
Methods inherited from class com.ibm.commerce.command.BusinessPolicyCommandImpl |
getPolicyId, getRequestProperties, setPolicyId, setRequestProperties |
Methods inherited from class com.ibm.commerce.command.AbstractECCommand |
accessControlCheck, checkIsAllowed, checkResourcePermission, execute, finalize, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getDefaultProperties, getResources, getStoreId, getUser, getUserId, setAccCheck, setCommandContext, setCommandIfName, setDefaultProperties, validateParameters |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.ibm.commerce.command.BusinessPolicyCommand |
getPolicyId, getRequestProperties, setPolicyId, setRequestProperties |
Methods inherited from interface com.ibm.commerce.command.ECCommand |
checkIsAllowed, checkResourcePermission, execute, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getDefaultProperties, getResources, getStoreId, getUser, getUserId, setAccCheck, setCommandContext, setCommandIfName, setDefaultProperties, validateParameters |
Constructor Detail |
public DoRefundPMCmdImpl()
Method Detail |
protected void checkCurrencyAndGetChargeAmount() throws javax.ejb.CreateException, javax.ejb.FinderException, javax.naming.NamingException, java.rmi.RemoteException, ECException
protected AccountAccessBean getAccount()
protected java.lang.Long getAccountId()
protected java.math.BigDecimal getChargeAmount()
protected java.lang.String getChargeAmountCurrency()
getChargeAmount
protected java.lang.String getErrorViewName()
protected OrderAccessBean getOrder()
protected java.math.BigInteger getPMRefundAmount()
protected java.math.BigDecimal getRefundAmount()
protected RMAAccessBean getRMA()
public boolean isReadyToCallExecute()
isReadyToCallExecute
in class AbstractECCommand
com.ibm.commerce.command.AbstractECCommand
public void performExecute() throws ECException
performExecute
in interface ECCommand
performExecute
in class AbstractECCommand
com.ibm.commerce.command.ECCommand
com.ibm.commerce.command.CommandException
- The superclass for all ECExceptions.public void reset()
This is useful if the command instance is to be called multiple times with different command parameters.
reset
in class AbstractECCommand
protected void retrieveActiveAccountIdFromOrder() throws javax.ejb.CreateException, javax.ejb.FinderException, javax.naming.NamingException, java.rmi.RemoteException, ECException
protected void setAccountId(java.lang.Long nAccountId)
nAccountId
- the Account ID..protected void setChargeAmount(java.math.BigDecimal nChargeAmount)
nChargeAmount
- the Charge Amount.protected void setChargeAmountCurrency(java.lang.String sCurrency)
sCurrency
- the Charge Amount Currency.protected void setCurrencyExponent(java.lang.String astrCurrencyExponent)
public void setErrorViewName(java.lang.String sEVN)
setErrorViewName
in interface DoRefundPolicyCmd
protected void setNumericCurrencyCode(java.lang.String astrCurrencyCode)
public void setOrder(OrderAccessBean ab)
setOrder
in interface DoRefundPolicyCmd
abOrder
- the OrderAccessBean representing the Order associated with
the Return Merchandise Authorization.protected void setPMRefundAmount(java.math.BigInteger biPMRefundAmount)
biRefundAmount
- the amount to be refunded.public void setRefundAmount(java.math.BigDecimal refundAmount)
setRefundAmount
in interface DoRefundPolicyCmd
refundAmount
- the amount to be refunded.public void setRMA(RMAAccessBean ab)
setRMA
in interface DoRefundPolicyCmd
protected void setupNumericCurrencyCodeAndPMRefundAmount() throws javax.ejb.CreateException, javax.ejb.FinderException, javax.naming.NamingException, java.rmi.RemoteException, ECException
protected void updateOrderPaymentMethod() throws javax.ejb.CreateException, javax.ejb.FinderException, javax.naming.NamingException, java.rmi.RemoteException
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |