public class CreditCardTools extends GenericService
Modifier and Type | Field and Description |
---|---|
static int |
CARD_EXP_DATE_NOT_VALID |
static int |
CARD_EXPIRED |
static int |
CARD_INFO_NOT_VALID |
static int |
CARD_LENGTH_NOT_VALID |
static int |
CARD_NUMBER_DOESNT_MATCH_TYPE |
static int |
CARD_NUMBER_HAS_INVALID_CHARS |
static int |
CARD_NUMBER_NOT_VALID |
static int |
CARD_TYPE_NOT_VALID |
static java.lang.String |
CLASS_VERSION
Class version string
|
static int |
SUCCESS |
SERVICE_INFO_KEY
DEFAULT_LOG_TRACE_STATUS
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
Constructor and Description |
---|
CreditCardTools() |
Modifier and Type | Method and Description |
---|---|
protected static java.lang.String |
Code(java.lang.String iName)
Get a code, given a name
|
java.util.Properties |
getCardCodesMap() |
java.util.Properties |
getCardLengthsMap() |
java.util.Properties |
getCardPrefixesMap() |
java.util.Properties |
getCardTypesMap() |
atg.payment.creditcard.ExtendableCreditCardTools |
getCreditCardTools() |
static java.lang.String |
getStatusCodeMessage(int pCode)
This method returns an error string which maps to the supplied status code.
|
static java.lang.String |
getStatusCodeMessage(int pCode,
java.util.Locale pLocale)
This method returns an error string which maps to the supplied status code.
|
protected static boolean |
isNumber(java.lang.String pNumber)
Check to see if this is a number
|
protected static boolean |
isValidCardNumberLength(java.lang.String iTypeName,
java.lang.String iNumber)
Check the length of a credit card number against it's
card type.
|
protected static boolean |
isValidCardType(java.lang.String iTypeName,
java.lang.String iNumber)
Check a credit card number against it's
card type.
|
protected static java.lang.String |
Name(java.lang.String iCode)
Get a name, given a code
|
void |
setCardCodesMap(java.util.Properties pCardCodesMap) |
void |
setCardLengthsMap(java.util.Properties pCardLengthsMap) |
void |
setCardPrefixesMap(java.util.Properties pCardPrefixesMap) |
void |
setCardTypesMap(java.util.Properties pCardTypesMap) |
void |
setCreditCardTools(atg.payment.creditcard.ExtendableCreditCardTools pCreditCardTools) |
protected static boolean |
validateCheckDigit(java.lang.String iNumber)
Validate a credit card number's checksum.
|
static int |
verifyCreditCard(CreditCardInfo pCreditCard)
This method does basic credit card verification, such as comparing the expiration date to the current
date and verifying that the credit card number conforms to simple algorithm.
|
protected static int |
verifyCreditCard(CreditCardInfo pCreditCard,
java.lang.String number,
java.lang.String type) |
protected static int |
verifyCreditCardDate(CreditCardInfo pCreditCard,
java.lang.String pExpMonth,
java.lang.String pExpDayOfMonth,
java.lang.String pExpYear) |
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
public static java.lang.String CLASS_VERSION
public static final int SUCCESS
public static final int CARD_EXPIRED
public static final int CARD_NUMBER_HAS_INVALID_CHARS
public static final int CARD_NUMBER_DOESNT_MATCH_TYPE
public static final int CARD_LENGTH_NOT_VALID
public static final int CARD_NUMBER_NOT_VALID
public static final int CARD_INFO_NOT_VALID
public static final int CARD_EXP_DATE_NOT_VALID
public static final int CARD_TYPE_NOT_VALID
public atg.payment.creditcard.ExtendableCreditCardTools getCreditCardTools()
public void setCreditCardTools(atg.payment.creditcard.ExtendableCreditCardTools pCreditCardTools)
public java.util.Properties getCardTypesMap()
public void setCardTypesMap(java.util.Properties pCardTypesMap)
public java.util.Properties getCardCodesMap()
public void setCardCodesMap(java.util.Properties pCardCodesMap)
public java.util.Properties getCardPrefixesMap()
public void setCardPrefixesMap(java.util.Properties pCardPrefixesMap)
public java.util.Properties getCardLengthsMap()
public void setCardLengthsMap(java.util.Properties pCardLengthsMap)
public static java.lang.String getStatusCodeMessage(int pCode)
pCode
- the status code returned from a method in this classpublic static java.lang.String getStatusCodeMessage(int pCode, java.util.Locale pLocale)
pCode
- the status code returned from a method in this classpublic static int verifyCreditCard(CreditCardInfo pCreditCard)
pCreditCard
- the credit card dataprotected static int verifyCreditCardDate(CreditCardInfo pCreditCard, java.lang.String pExpMonth, java.lang.String pExpDayOfMonth, java.lang.String pExpYear)
protected static int verifyCreditCard(CreditCardInfo pCreditCard, java.lang.String number, java.lang.String type)
protected static boolean validateCheckDigit(java.lang.String iNumber)
Each digit,except the last is multipled by a "weight", to produce a digit "value". The weight alternates between 2 and 1, starting with 2 for the last (right most) digit. The resulting values are summed. To sum the results, single digit values are simply added to the total. For two digit values the tens and the ones digits are added separately, so 14 = 1+4 = 5. Then to test the check digit take the total MOD 10 and subtract it from ten. This should equal the check digit.
protected static boolean isNumber(java.lang.String pNumber)
protected static java.lang.String Code(java.lang.String iName)
iName
- credit card type nameprotected static java.lang.String Name(java.lang.String iCode)
iCode
- two letter credit card type codeprotected static boolean isValidCardType(java.lang.String iTypeName, java.lang.String iNumber)
iTypeName
- full name of card type (Visa, MasterCard)iNumber
- normalized card numberprotected static boolean isValidCardNumberLength(java.lang.String iTypeName, java.lang.String iNumber)
iTypeName
- full name of card type (Visa, MasterCard)iNumber
- normalized card number