For the latest version of Commerce Server 2007 Help, see the Microsoft Web site.

Use the ValidateCCNumber pipeline component to check the expiration date of a credit card and to perform a checksum test on the number. Checksum testing ensures that the format of the number is correct; it does not verify the validity of the account.

Intended use: Order Processing pipeline, Purchase Check stage.

Configuration Values

You can determine when the ValidateCCNumber pipeline component checks the credit card by setting component properties. Use the following boxes on the Validate CC tab of the Component Properties dialog box to determine this information.



Apply when

Determines when to apply the credit card check. The values are:


Default. Specifies that the format of the credit-card number is always checked.

Equal to method

Specifies that the format of the number should be checked when the value of the payment_methodkey in the Order dictionary is the same as the string specified for the Method box.

Has any value

Specifies that the format of the number should be checked when the payment_methodkey in the Order dictionary has any non-null value.


The payment method to match against the value of the payment_methodkey in the Order dictionary. Used when the value of the Apply when key is Equal to method.

Values Read

The ValidateCCNumber pipeline component reads the following values from the indicated dictionaries.






The credit card number.



The expiration month as a string.



The expiration year as a string.



The type of the credit card as a string. Must be one of the following six types: MasterCard, MC, VISA, Discover, AmericanExpress, AMEX. No other type will be validated.



A reference to a MessageManager object, which uses the invalid credit card error constant (pur_badcc) to retrieve an error message.

Values Written

The ValidateCCNumber pipeline component writes the following values to the Order dictionary.




Error messages are written to this SimpleList object.


The ValidateCCNumber pipeline component returns error level 2 (OPPERRORLEV_WARN) when an error occurs.

The component writes error messages to the _Purchase_Errors collection. The component uses a MessageManager object to retrieve user warning message text.




The credit card has expired or has a bad number.


The ValidateCCNumber pipeline component first determines whether the credit card type specified in the order.cc_type key is one of the types accepted by this component. Accepted types are VISA, MasterCard, AmericanExpress, Discover, and the abbreviations MC and AMEX.

The ValidateCCNumber pipeline component checks the values stored in the order._cc_expmonth and order._cc_expyear keys to confirm that the credit card has not expired.

If the card is an accepted type, the component then runs a checksum on the number stored in the order._cc_number key to ensure that the number is properly formed. For example, if the specified credit card type is Discover, a well-formed number must begin with a 3 and must consist of 16 digits.

See Also

Other Resources

MessageManager Object

Pipeline Component Reference