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
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:
PaymentConstants.APPROVAL_YES
(The authorization is still
valid and the Approved Amount is the same as the Order Amount)PaymentConstants.APPROVAL_NO
(A re-auth was attempted but was
declined.)PaymentConstants.APPROVAL_WORKING
on it, check again
laterDefault Error View Name:
ErrorCodes:
PaymentConstants.ERR_CODE_PM_COMM_ERR
(1950) - Communication
to Payment System failed. (Connection to WebSphere Commerce Payments
Failed.)PaymentConstants.ERR_CODE_ORDER_UNKNOWN
(1951) - Order is not
known to the Payment System (Order does not exist as a WebSphere Commerce
Payments Order.)PaymentConstants.ERR_CODE_PM_REJECTED
(1952) - Payment System
rejected the command due to error. (WebSphere Commerce Payments Operation
"p" for StoreId "s" OrderId "m" failed. WebSphere
Commerce Payments PrimaryRC=x, SecondaryRC=y.)This command uses the following AccessBeans:
OrderAccessBean
CurrencyAccessBean
This command does not call other TaskCommand.
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 |
---|
public CheckPaymentAcceptPMCmdImpl()
Method Detail |
---|
public java.math.BigDecimal getApproveAmount()
protected java.lang.String getCurrencyExponent()
protected java.lang.String getErrorViewName()
protected OrderAccessBean getOrder()
public java.lang.String getReturnCode()
Possible return codes are:
PaymentConstants.APPROVAL_YES
- The authorization is still
valid and the Approved Amount is the same as the Order Amount.PaymentConstants.APPROVAL_NO
- A re-authorization was
attempted but was declined.PaymentConstants.APPROVAL_WORKING
- Working on it, check back
later.
getReturnCode
in interface
CheckPaymentAcceptPolicyCmd
public boolean isReadyToCallExecute()
isReadyToCallExecute
in class
AbstractECTargetableCommand
public void performExecute() throws ECException
performExecute
in interface
ECCommand
performExecute
in class
AbstractECTargetableCommand
ECException
public void reset()
This is useful if the command instance is to be called multiple times with different command parameters.
reset
in class
AbstractECTargetableCommand
public void run()
run
in interface
java.lang.Runnable
public void setApproveAmount(java.math.BigDecimal approveAmount)
setApproveAmount
in interface
CheckPaymentAcceptPolicyCmd
approveAmount
- the approved amount to be
checkedprotected void setCurrencyExponent(java.lang.String astrCurrencyExponent)
astrCurrencyExponent
- the currency exponent of the currency
used for the orderpublic void setErrorViewName(java.lang.String sEVN)
setErrorViewName
in interface
CheckPaymentAcceptPolicyCmd
sEVN
- the Error View nameCheckPaymentAcceptPolicyCmd.ERRTASK_NAME
protected void setNumericCurrencyCode(java.lang.String astrCurrencyCode)
astrCurrencyCode
- the currency code of the currency used for
the orderpublic void setOrder(OrderAccessBean ab)
setOrder
in interface
CheckPaymentAcceptPolicyCmd
ab
- the OrderAccessBean representing the order for which the
approved amount is to be checkedprotected void setPMApproveAmount(java.math.BigInteger approveAmount)
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.
approveAmount
- the approve amount normalized for WebSphere
Commerce Paymentsprotected void setupNumericCurrencyCodeAndPMApproveAmount() throws javax.ejb.CreateException, javax.ejb.FinderException, javax.naming.NamingException, java.rmi.RemoteException, ECException
javax.ejb.CreateException
javax.ejb.FinderException
javax.naming.NamingException
java.rmi.RemoteException
ECException