4D Payments SDK 2016 .NET Edition

Questions / Feedback?

GlobalCardValidator Component

Properties   Methods   Events   Configuration Settings   Errors  

The GlobalCardValidator component is used to verify with Global Payments that a given card number is formatted properly, and could be a valid card number. Validating a card before actually submitting a transaction for authorization can reduce the fees that may be associated with invalid or declined transactions.




Utilization of this component catches accidentally mistyped card numbers and allows buyers to re-input their number without having the transaction declined. It can also determine the type of credit card (Visa, MasterCard, Discover, etc) so that you can easily determine if the customer is presenting a payment type which you do not support. The component can also parse swiped track data and perform these same checks on it.

There are four checks performed by the ValidateCard method on the customer's credit card information:

  • The card number is checked for validity using the Luhn mod-10 algorithm.
  • The type of the card (Visa, MasterCard, etc.) is computed from the card number.
  • The expiration date is checked against the current system date.
  • The length of the card number is checked to see if it's a valid length for the computed card type.

In addition, the IsCommercialCard method will attempt to determine if the specified CardNumber is a commercial or purchasing card, and the GetDebitNetworkInfo method will attempt to determine if the CardNumber is a debit card. This way you can pass Level 2 data (Tax amount and purchase order number) for commercial cards, or ask for a PIN for debit cards, and receive a lower interchange rate for the transaction.

This component will query the Global Transport Server to perform the above checks. The UserId and Password is only required for the GetDebitNetworkInfo method, neither IsCommercialCard or ValidateCard require authentication to use. The first three checks made by the ValidateCard method may also be performed off-line by setting the ValidationMode configuration setting to "Local" instead of "Global". In this case, the mod-10 check will be computed mathematically by the component, and the expiration date will be checked against the current system time. The CardTypeDescription will be computed using an internal set of rules, but do note that these will not be as up-to-date as the rules the Global Payments Server uses. The length check will only be performed when ValidationMode is set to "Global" mode.

Property List

The following is the full list of the properties of the component with short descriptions. Click on the links for further details.

CardExpMonthExpiration month of the card specified in CardNumber .
CardExpYearExpiration month of the card specified in CardNumber .
CardNumberCard number to be validated.
CardTypeIndicates the results of the Luhn Digit Check algorithm.
CardTypeDescriptionHuman-readable description of the CardType .
DateCheckPassedIndicates whether the card is expired or not.
DigitCheckPassedIndicates the results of the Luhn Digit Check algorithm.
LengthCheckPassedIndicates the results of the card number length check.
NetworkInfoContains information about the debit network the card number belongs to.
PasswordPassword for authentication with the Global Payments Server .
ProxyA set of properties related to proxy access.
ServerGlobal Payments transaction server.
SSLAcceptServerCertInstructs the component to unconditionally accept the server certificate that matches the supplied certificate.
SSLCertThe certificate to be used during SSL negotiation.
SSLServerCertThe server certificate for the last established connection.
TimeoutA timeout for the component.
TrackDataMagnetic stripe data read off the card.
TrackTypeIndicates the type of the specified TrackData .
UserIdUserId for authentication with the Global Payments Server .

Method List

The following is the full list of the methods of the component with short descriptions. Click on the links for further details.

ConfigSets or retrieves a configuration setting.
GetDebitNetworkInfoDetermines if the card is a debit card, and which network it belongs to.
InterruptInterrupt the current method.
IsCommercialCardIndicates whether or not the CardNumber is for a commercial/purchasing card.
ResetClears all properties to their default values.
ValidateCardChecks the card number and expiration date for validity.

Event List

The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.

ErrorInformation about errors during data delivery.
SSLServerAuthenticationFired after the server presents its certificate to the client.
SSLStatusShows the progress of the secure connection.
StatusShows the progress of the Global Payments connection.

Configuration Settings

The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.

RawRequestReturns the request sent to the server for debugging purposes.
RawResponseReturns the response received from the server for debugging purposes.
ValidationModeDetermines whether to use the Global Utility services for validation, or compute it locally.
CloseStreamAfterTransferIf true, the component will close the upload or download stream after the transfer.
ConnectionTimeoutSets a separate timeout value for establishing a connection.
FirewallAutoDetectTells the component whether or not to automatically detect and use firewall system settings, if available.
FirewallHostName or IP address of firewall (optional).
FirewallListenerIf true, the component binds to a SOCKS firewall as a server (IPPort only).
FirewallPasswordPassword to be used if authentication is to be used when connecting through the firewall.
FirewallPortThe TCP port for the FirewallHost;.
FirewallTypeDetermines the type of firewall to connect through.
FirewallUserA user name if authentication is to be used connecting through a firewall.
KeepAliveIntervalThe retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received.
KeepAliveTimeThe inactivity time in milliseconds before a TCP keep-alive packet is sent.
LingerWhen set to True, connections are terminated gracefully.
LingerTimeTime in seconds to have the connection linger.
LocalHostThe name of the local host through which connections are initiated or accepted.
LocalPortThe port in the local host where the component binds.
MaxLineLengthThe maximum amount of data to accumulate when no EOL is found.
MaxTransferRateThe transfer rate limit in bytes per second.
ProxyExceptionsListA semicolon separated list of hosts and IPs to bypass when using a proxy.
TCPKeepAliveDetermines whether or not the keep alive socket option is enabled.
TcpNoDelayWhether or not to delay when sending packets.
UseIPv6Whether to use IPv6.
UseNTLMv2Whether to use NTLM V2.
CACertFilePathsThe paths to CA certificate files when using Mono on Unix/Linux.
LogSSLPacketsControls whether SSL packets are logged when using the internal security API.
ReuseSSLSessionDetermines if the SSL session is reused.
SSLCACertsA newline separated list of CA certificate to use during SSL client authentication.
SSLCheckCRLWhether to check the Certificate Revocation List for the server certificate.
SSLCipherStrengthThe minimum cipher strength used for bulk encryption.
SSLEnabledCipherSuitesThe cipher suite to be used in an SSL negotiation.
SSLEnabledProtocolsUsed to enable/disable the supported security protocols.
SSLEnableRenegotiationWhether the renegotiation_info SSL extension is supported.
SSLIncludeCertChainWhether the entire certificate chain is included in the SSLServerAuthentication event.
SSLNegotiatedCipherReturns the negotiated ciphersuite.
SSLNegotiatedCipherStrengthReturns the negotiated ciphersuite strength.
SSLNegotiatedKeyExchangeReturns the negotiated key exchange algorithm.
SSLNegotiatedKeyExchangeStrengthReturns the negotiated key exchange algorithm strength.
SSLNegotiatedProtocolReturns the negotiated protocol version.
SSLProviderThe name of the security provider to use.
SSLSecurityFlagsFlags that control certificate verification.
SSLServerCACertsA newline separated list of CA certificate to use during SSL server certificate validation.
TLS12SignatureAlgorithmsDefines the allowed TLS 1.2 signature algorithms when UseInternalSecurityAPI is True.
TLS12SupportedGroupsThe supported groups for ECC.
TLS13KeyShareGroupsThe groups for which to pregenerate key shares.
TLS13SignatureAlgorithmsThe allowed certificate signature algorithms.
TLS13SupportedGroupsThe supported groups for (EC)DHE key exchange.
AbsoluteTimeoutDetermines whether timeouts are inactivity timeouts or absolute timeouts.
FirewallDataUsed to send extra data to the firewall.
InBufferSizeThe size in bytes of the incoming queue of the socket.
OutBufferSizeThe size in bytes of the outgoing queue of the socket.
BuildInfoInformation about the product's build.
GUIAvailableTells the component whether or not a message loop is available for processing events.
LicenseInfoInformation about the current license.
UseInternalSecurityAPITells the component whether or not to use the system security libraries or an internal implementation.

Copyright (c) 2021 4D Payments Inc. - All rights reserved.
4D Payments SDK 2016 .NET Edition - Version 16.0 [Build 8017]