VGSExpDateTokenizationConfiguration

@MainActor
public final class VGSExpDateTokenizationConfiguration : VGSConfiguration, VGSExpDateConfigurationProtocol, @preconcurrency VGSTextFieldTokenizationConfigurationProtocol, VGSFormatSerializableProtocol
extension VGSExpDateTokenizationConfiguration: @preconcurrency VGSTextFormatConvertable

VGSExpDateTokenizationConfiguration - textfield configuration for textfield with type .expDate, required for work with tokenization api. Assign to VGSExpDateTextField (or generic VGSTextField) before user input to enable expiration date tokenization.

Summary: Specialized configuration enabling tokenization, optional date picker input source, and raw-to-formatted expiration date conversion (short/long year) prior to submission.

Behavior:

  • Forces type to .expDate.
  • Provides tokenizationParameters consumed by tokenization / alias APIs.
  • Supports picker-based entry via inputSource = .datePicker and format conversion using inputDateFormat / outputDateFormat.
  • Allows serialization into structured components through serializers before alias creation.

Usage:

let expCfg = VGSExpDateTokenizationConfiguration(collector: collector, fieldName: "card_exp")
expCfg.inputSource = .datePicker
expCfg.inputDateFormat = .shortYear
expCfg.outputDateFormat = .longYear
expCfg.tokenizationParameters.format = VGSVaultAliasFormat.UUID.rawValue
expCfg.serializers = [ExpDateFormatSerializer.month("exp_month"), ExpDateFormatSerializer.year("exp_year")] // example serializers
expField.configuration = expCfg

Customization Notes:

  • Set format conversion & serializers before assigning configuration to field for consistent initial UI.
  • Use serializers only when you need extra separated alias fields (month/year) beyond the single expiration alias.
  • Validation rules can be overridden with a custom VGSValidationRuleSet if business constraints differ (e.g. extended future range).

Security:

  • Treat expiration dates as sensitive.

Attributes

VGSExpDateConfigurationProtocol

VGSTokenizationParametersProtocol

VGSFormatSerializableProtocol