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
typeto.expDate. - Provides
tokenizationParametersconsumed by tokenization / alias APIs. - Supports picker-based entry via
inputSource = .datePickerand format conversion usinginputDateFormat/outputDateFormat. - Allows serialization into structured components through
serializersbefore 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
VGSValidationRuleSetif business constraints differ (e.g. extended future range).
Security:
- Treat expiration dates as sensitive.
-
FieldType.expDatetype ofVGSTextFieldtokenization configuration.Declaration
Swift
override public var type: FieldType { get set }
-
Input Source type. Default is
VGSTextFieldInputSource.datePicker.Declaration
Swift
@MainActor public var inputSource: VGSTextFieldInputSource -
Input date format to convert.
Declaration
Swift
@MainActor public var inputDateFormat: VGSCardExpDateFormat? -
Output date format.
Declaration
Swift
@MainActor public var outputDateFormat: VGSCardExpDateFormat?
-
VGSExpDateTokenizationParameters- tokenization configuration parameters.Declaration
Swift
@MainActor public var tokenizationParameters: VGSExpDateTokenizationParameters
-
Output date format.
Declaration
Swift
@MainActor public var serializers: [VGSFormatSerializerProtocol]
View on GitHub