com.ibm.commerce.payment.commands
Class CheckPaymentAcceptPMCmdImpl

java.lang.Object
  |
  +--CacheableCommandImpl
        |
        +--com.ibm.commerce.command.AbstractECTargetableCommand
              |
              +--com.ibm.commerce.command.TaskCommandImpl
                    |
                    +--com.ibm.commerce.command.BusinessPolicyCommandImpl
                          |
                          +--com.ibm.commerce.payment.commands.CheckPaymentAcceptPMCmdImpl
All Implemented Interfaces:
BusinessPolicyCommand, CheckPaymentAcceptPolicyCmd, ECCommand, ECTargetableCommand, java.lang.Runnable, TaskCommand

public class CheckPaymentAcceptPMCmdImpl
extends BusinessPolicyCommandImpl
implements CheckPaymentAcceptPolicyCmd, java.lang.Runnable

This CheckPaymentAcceptPolicy business policy command implementation class is the default implementation class for checking if the payment previously authorized through WebSphere Commerce Payments is still valid.

Parameters:

Parameter Name Type Descriptions
abOrder OrderAccessBean The Order Access Bean
dApproveAmount BigDecimal The amount should have been or to be approved
errorViewName String Optional error view name passed in by the Caller.

This Task Command is normally called during ReleaseToFulfillment. It checks if the previously approved payment for an order is still valid and if the Approved Amount is same as the Order Amount.

(For WebSphere Commerce Payments, a previously approved payment is no longer valid if it has expired.)

The command returns one of three possible answers:

Default Error View Name:

ErrorCodes:

This command uses the following AccessBeans:

This command does not call other TaskCommand.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.ibm.commerce.command. BusinessPolicyCommandImpl
policyId, requestProperties
 
Fields inherited from class com.ibm.commerce.command. AbstractECTargetableCommand
commandContext
 
Fields inherited from interface com.ibm.commerce.payment.commands. CheckPaymentAcceptPolicyCmd
COPYRIGHT, defaultCommandClassName, ERRTASK_NAME, NAME
 
Fields inherited from interface com.ibm.commerce.command. ECTargetableCommand
COPYRIGHT
 
Fields inherited from interface com.ibm.commerce.command. ECCommand
defaultCommandClassName
 
Constructor Summary
CheckPaymentAcceptPMCmdImpl()
           
 
Method Summary
 java.math.BigDecimal getApproveAmount()
          Returns the approveAmount property of the command.
protected  java.lang.String getCurrencyExponent()
          Returns the currency exponent.
protected  java.lang.String getErrorViewName()
          Returns the name of the error view to use for reporting error.
protected  OrderAccessBean getOrder()
          Returns the OrderAccessBean representing the order for which the approved amount is to be checked.
 java.lang.String getReturnCode()
          Returns the String return code indicating the payment approval status of the specified order.
 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.
 void run()
          Requests authorization for expired payment or previously unapproved portion of payment if the approved amount is less than the total order amount.
 void setApproveAmount(java.math.BigDecimal approveAmount)
          Sets the approveAmount property of the command.
protected  void setCurrencyExponent(java.lang.String astrCurrencyExponent)
          Sets Currency Exponent.
 void setErrorViewName(java.lang.String sEVN)
          Sets the error view to be used to report error.
protected  void setNumericCurrencyCode(java.lang.String astrCurrencyCode)
          Sets Numeric Currency Code.
 void setOrder( OrderAccessBean ab)
          Sets the order property of the command.
protected  void setPMApproveAmount(java.math.BigInteger approveAmount)
          Sets the approve amount normalized for input to WebSphere Commerce Payments.
protected  void setupNumericCurrencyCodeAndPMApproveAmount()
          This method retrieves the numeric currency code from the SETCURR Table and converts the approve amount to a normalized form required for input to WebSphere Commerce Payments.
 
Methods inherited from class com.ibm.commerce.command. BusinessPolicyCommandImpl
getPolicyId, getRequestProperties, setPolicyId, setRequestProperties
 
Methods inherited from class com.ibm.commerce.command. AbstractECTargetableCommand
accessControlCheck, checkIsAllowed, checkParameters, checkResourcePermission, createCommandExecutionEvent, execute, finalize, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getCommandStoreId, getDefaultProperties, getResources, getStoreId, getUser, getUserId, setAccCheck, setCommandContext, setCommandIfName, setCommandStoreId, 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
 

Constructor Detail

CheckPaymentAcceptPMCmdImpl

public CheckPaymentAcceptPMCmdImpl()
Method Detail

getApproveAmount

public java.math.BigDecimal getApproveAmount()
Returns the approveAmount property of the command.
Returns:
the approved amount to be checked

getCurrencyExponent

protected java.lang.String getCurrencyExponent()
Returns the currency exponent.
Returns:
the currency exponent for the currency of the order

getErrorViewName

protected java.lang.String getErrorViewName()
Returns the name of the error view to use for reporting error.
Returns:
the error view name

getOrder

protected OrderAccessBean getOrder()
Returns the OrderAccessBean representing the order for which the approved amount is to be checked.
Returns:
the OrderAccessBean

getReturnCode

public java.lang.String getReturnCode()
Returns the String return code indicating the payment approval status of the specified order.

Possible return codes are:

Specified by:
getReturnCode in interface CheckPaymentAcceptPolicyCmd
Returns:
the String return code

isReadyToCallExecute

public boolean isReadyToCallExecute()
This method is called by the Command Framework to check if all basic mandatory parameters have been set for this command. This is done before the Framework calls the performExecute method of the command.
Overrides:
isReadyToCallExecute in class AbstractECTargetableCommand
Returns:
true if we can execute the command; false otherwise.

performExecute

public void performExecute()
                    throws ECException
Performs the main business logic of the command.
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECException

reset

public void reset()
Resets the instance variables of the command. The reset() method will reset all instance variables. If the command includes any output values that are accessible via getters, then make sure those values are no longer needed before calling this method to reset the instance variables of the command.

This is useful if the command instance is to be called multiple times with different command parameters.

Overrides:
reset in class AbstractECTargetableCommand

run

public void run()
Requests authorization for expired payment or previously unapproved portion of payment if the approved amount is less than the total order amount.
Specified by:
run in interface java.lang.Runnable

setApproveAmount

public void setApproveAmount(java.math.BigDecimal approveAmount)
Sets the approveAmount property of the command.
Specified by:
setApproveAmount in interface CheckPaymentAcceptPolicyCmd
Parameters:
approveAmount - the approved amount to be checked

setCurrencyExponent

protected void setCurrencyExponent(java.lang.String astrCurrencyExponent)
Sets Currency Exponent.
Parameters:
astrCurrencyExponent - the currency exponent of the currency used for the order

setErrorViewName

public void setErrorViewName(java.lang.String sEVN)
Sets the error view to be used to report error. This overrides the default error view of the command.
Specified by:
setErrorViewName in interface CheckPaymentAcceptPolicyCmd
Parameters:
sEVN - the Error View name
See Also:
CheckPaymentAcceptPolicyCmd.ERRTASK_NAME

setNumericCurrencyCode

protected void setNumericCurrencyCode(java.lang.String astrCurrencyCode)
Sets Numeric Currency Code.
Parameters:
astrCurrencyCode - the currency code of the currency used for the order

setOrder

public void setOrder(OrderAccessBean ab)
Sets the order property of the command.
Specified by:
setOrder in interface CheckPaymentAcceptPolicyCmd
Parameters:
ab - the OrderAccessBean representing the order for which the approved amount is to be checked

setPMApproveAmount

protected void setPMApproveAmount(java.math.BigInteger approveAmount)
Sets the approve amount normalized for input to WebSphere Commerce Payments.

The normalized amount is the amount converted to the smallest denomination for the currency. For example, if the approve amount is US $10.95, PMApproveAmount is 1095 in cents, which is the lowest denomination for this currency. If there is no smaller denomination other than the main currency unit for the currency, the normalized amount is the same as the approveAmount.

Parameters:
approveAmount - the approve amount normalized for WebSphere Commerce Payments

setupNumericCurrencyCodeAndPMApproveAmount

protected void setupNumericCurrencyCodeAndPMApproveAmount()
                                                   throws javax.ejb.CreateException,
                                                          javax.ejb.FinderException,
                                                          javax.naming.NamingException,
                                                          java.rmi.RemoteException,
ECException
This method retrieves the numeric currency code from the SETCURR Table and converts the approve amount to a normalized form required for input to WebSphere Commerce Payments. The normalized form of the amount is the amount converted to the lowest denomination of the currency. For example, if the amount is US $10.95, the normalized amount is 1095 in cents, which is the lowest denomination for this currency.
Throws:
javax.ejb.CreateException
javax.ejb.FinderException
javax.naming.NamingException
java.rmi.RemoteException
ECException