From a05fa24a4fd8d6b3d69bb99b59730c32a560ce5f Mon Sep 17 00:00:00 2001 From: Dima Khludkov <57712402+dmytrokhl@users.noreply.github.com> Date: Wed, 18 Jan 2023 16:21:27 +0200 Subject: [PATCH] Public Release 1.12.0 Public Release 1.12.0 --- MIGRATING.md | 4 + Package.resolved | 16 +- Package.swift | 49 +- README.md | 21 +- .../VGSBlinkCardExpirationDate.swift | 61 +++ .../VGSBlinkCardController.swift | 70 +++ .../VGSBlinkCardControllerDelegate.swift | 65 +++ .../VGSBlinkCardHandler.swift | 137 ++++++ .../VGSBouncerDataMapUtils.swift | 183 -------- .../VGSBouncerExpirationDate.swift | 17 - .../VGSCardScanController.swift | 71 --- .../VGSCardScanControllerDelegate.swift | 65 --- .../VGSCardScanHandler.swift | 127 ------ .../Text Field/VGSCVCTextField.swift | 2 - .../Utils/Extensions/Utils.swift | 3 +- .../Text Fields Tests/ExpDateTextField.swift | 25 +- .../ExpDateTextFieldTests.swift | 5 +- .../Text Fields Tests/VGSTextFieldTests.swift | 3 + .../VGSTokenizationConfigurationTests.swift | 162 +++++++ .../VGSTokenizationResponseMappingTests.swift | 8 +- Tests/FrameworkTests/VGSCollectTests.swift | 19 +- .../Info.plist | 0 VGSBlinkCardCollector/VGSBlinkCardCollector.h | 19 + VGSCardScanCollector/VGSCardScanCollector.h | 19 - VGSCardScanCollectorTests/Info.plist | 22 - .../VGSBouncerDataMapUtilsTests.swift | 116 ----- VGSCollectSDK.podspec | 12 +- VGSCollectSDK.xcodeproj/project.pbxproj | 422 ++++++------------ .../contents.xcworkspacedata | 2 +- ...cscheme => VGSBlinkCardCollector.xcscheme} | 24 +- ...cheme => VGSCardIOCollectorTests.xcscheme} | 8 +- demoapp/Podfile | 2 + demoapp/demoapp.xcodeproj/project.pbxproj | 36 +- .../demoapp/AppCollectorConfiguration.swift | 3 + demoapp/demoapp/Info.plist | 5 + .../CardsDataCollectingViewController.swift | 134 +++--- demoapp/demoapp/demoapp.entitlements | 7 +- images/VGSCollect_CardScan_SPM_2.png | Bin 55497 -> 193622 bytes VGSZeroData.png => images/VGSZeroData.png | Bin add-card.gif => images/add-card.gif | Bin card-scan.gif => images/card-scan.gif | Bin cardTextField.gif => images/cardTextField.gif | Bin file-picker.gif => images/file-picker.gif | Bin state.gif => images/state.gif | Bin .../vgs-collect-ios-response.png | Bin .../vgs-collect-ios-state.png | Bin 46 files changed, 853 insertions(+), 1091 deletions(-) create mode 100644 Sources/VGSBlinkCardCollector/CardDataMappers/VGSBlinkCardExpirationDate.swift create mode 100644 Sources/VGSBlinkCardCollector/VGSBlinkCardController.swift create mode 100644 Sources/VGSBlinkCardCollector/VGSBlinkCardControllerDelegate.swift create mode 100644 Sources/VGSBlinkCardCollector/VGSBlinkCardHandler.swift delete mode 100644 Sources/VGSCardScanCollector/CardDataMappers/VGSBouncerDataMapUtils.swift delete mode 100644 Sources/VGSCardScanCollector/CardDataMappers/VGSBouncerExpirationDate.swift delete mode 100644 Sources/VGSCardScanCollector/VGSCardScanController.swift delete mode 100644 Sources/VGSCardScanCollector/VGSCardScanControllerDelegate.swift delete mode 100644 Sources/VGSCardScanCollector/VGSCardScanHandler.swift create mode 100644 Tests/FrameworkTests/TokenizationTests/VGSTokenizationConfigurationTests.swift rename {VGSCardScanCollector => VGSBlinkCardCollector}/Info.plist (100%) create mode 100644 VGSBlinkCardCollector/VGSBlinkCardCollector.h delete mode 100644 VGSCardScanCollector/VGSCardScanCollector.h delete mode 100644 VGSCardScanCollectorTests/Info.plist delete mode 100644 VGSCardScanCollectorTests/MapExpirationDateTests/VGSBouncerDataMapUtilsTests.swift rename VGSCollectSDK.xcodeproj/xcshareddata/xcschemes/{VGSCardScanCollector.xcscheme => VGSBlinkCardCollector.xcscheme} (70%) rename VGSCollectSDK.xcodeproj/xcshareddata/xcschemes/{VGSCardScanCollectorTests.xcscheme => VGSCardIOCollectorTests.xcscheme} (88%) rename VGSZeroData.png => images/VGSZeroData.png (100%) rename add-card.gif => images/add-card.gif (100%) rename card-scan.gif => images/card-scan.gif (100%) rename cardTextField.gif => images/cardTextField.gif (100%) rename file-picker.gif => images/file-picker.gif (100%) rename state.gif => images/state.gif (100%) rename vgs-collect-ios-response.png => images/vgs-collect-ios-response.png (100%) rename vgs-collect-ios-state.png => images/vgs-collect-ios-state.png (100%) diff --git a/MIGRATING.md b/MIGRATING.md index 253b4b16..64c8d7de 100644 --- a/MIGRATING.md +++ b/MIGRATING.md @@ -1,5 +1,9 @@ ## Migration Guides +### Migrating from versions < v1.12.0 +#### `VGSCollectSDK/CardScan` scan module deprecated. +Use `VGSCollectSDK/CardIO` or `VGSCollectSDK/BlinkCard` as card scan solution instead. + ### Migrating from versions < v1.11.3 #### Rename enum `HTTPMethod` -> `VGSCollectHTTPMethod` diff --git a/Package.resolved b/Package.resolved index 4f13ac25..9e670d73 100644 --- a/Package.resolved +++ b/Package.resolved @@ -2,21 +2,21 @@ "object": { "pins": [ { - "package": "CardIOSDK", - "repositoryURL": "https://github.com/verygoodsecurity/CardIOSDK-iOS.git", + "package": "BlinkCard", + "repositoryURL": "https://github.com/blinkcard/blinkcard-swift-package", "state": { "branch": null, - "revision": "9f21bec2d2f12d14ffbe8305c44ceff9b60e35af", - "version": "5.5.7" + "revision": "e74689f8e0df9c4fbebf46b87c4ab716325516a8", + "version": "2.7.0" } }, { - "package": "CardScan", - "repositoryURL": "https://github.com/getbouncer/cardscan-ios.git", + "package": "CardIOSDK", + "repositoryURL": "https://github.com/verygoodsecurity/CardIOSDK-iOS.git", "state": { "branch": null, - "revision": "84e7d1e7805675274edd85bc786b2dd1e4d864e0", - "version": "2.0.9" + "revision": "9f21bec2d2f12d14ffbe8305c44ceff9b60e35af", + "version": "5.5.7" } } ] diff --git a/Package.swift b/Package.swift index 8d9426f4..ac4d3f77 100644 --- a/Package.swift +++ b/Package.swift @@ -13,25 +13,24 @@ let package = Package( .library( name: "VGSCollectSDK", targets: ["VGSCollectSDK"]), - .library( - name: "VGSCardScanCollector", - targets: ["VGSCardScanCollector"] - ), - .library( - name: "VGSCardIOCollector", - targets: ["VGSCardIOCollector"]) + .library( + name: "VGSCardIOCollector", + targets: ["VGSCardIOCollector"]), + .library( + name: "VGSBlinkCardCollector", + targets: ["VGSBlinkCardCollector"]) ], dependencies: [ - .package( - name: "CardScan", - url: "https://github.com/getbouncer/cardscan-ios.git", - .exact("2.0.9") - ), .package( name: "CardIOSDK", url: "https://github.com/verygoodsecurity/CardIOSDK-iOS.git", .exact("5.5.7") - ) + ), + .package( + name: "BlinkCard", + url: "https://github.com/blinkcard/blinkcard-swift-package", + .exact("2.7.0") + ) ], targets: [ // Targets are the basic building blocks of a package. A target can define a module or a test suite. @@ -49,18 +48,16 @@ let package = Package( "Info.plist", "FrameworkTests.xctestplan" ], - resources: [.process("Resources")] - ), - .target( - name: "VGSCardScanCollector", - dependencies: ["VGSCollectSDK", - .product(name: "CardScan", package: "CardScan")], - path: "Sources/VGSCardScanCollector/" - ), - .target( - name: "VGSCardIOCollector", - dependencies: ["VGSCollectSDK", - .product(name: "CardIOSDK", package: "CardIOSDK")], - path: "Sources/VGSCardIOCollector/") + resources: [.process("Resources")]), + .target( + name: "VGSCardIOCollector", + dependencies: ["VGSCollectSDK", + .product(name: "CardIOSDK", package: "CardIOSDK")], + path: "Sources/VGSCardIOCollector/"), + .target( + name: "VGSBlinkCardCollector", + dependencies: ["VGSCollectSDK", + .product(name: "BlinkCard", package: "BlinkCard")], + path: "Sources/VGSBlinkCardCollector/") ] ) diff --git a/README.md b/README.md index 4bfbd179..833e5662 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![Platform](https://img.shields.io/cocoapods/p/VGSCollectSDK.svg?style=flat)](https://github.com/verygoodsecurity/vgs-collect-ios) [![swift](https://img.shields.io/badge/swift-5-orange)]() [![Cocoapods Compatible](https://img.shields.io/cocoapods/v/VGSCollectSDK.svg?style=flat)](https://cocoapods.org/pods/VGSCollectSDK) - + # VGS Collect iOS SDK @@ -30,8 +30,8 @@ Table of contents

- VGS Collect iOS SDK State - VGS Collect iOS SDK Response + VGS Collect iOS SDK State + VGS Collect iOS SDK Response

@@ -93,7 +93,7 @@ Use your `` to initialize VGSCollect instance. You can get it in your [ Customize VGSTextFields... - + @@ -131,7 +131,7 @@ Use your `` to initialize VGSCollect instance. You can get it in your [ ... observe filed states - + @@ -213,14 +213,16 @@ Add 'VGSCollectSDK' alongside with one of scan modules pod: ```ruby pod 'VGSCollectSDK' -# Add CardIO module to use Card.io as scan provider -pod 'VGSCollectSDK/CardIO' +# Add one of available scan providers +pod 'VGSCollectSDK/CardIO' +pod 'VGSCollectSDK/BlinkCard' ``` #### Integrate with Swift Package Manager Starting with the 1.7.11 release, `VGSCollectSDK` supports [CardIO](https://github.com/verygoodsecurity/card.io-iOS-source) integration via Swift PM. To use **CardIO** add `VGSCollectSDK`, `VGSCardIOCollector` packages to your target. +To use **BlinkCard** add `VGSCollectSDK`, `VGSBlinkCardCollector` packages to your target. #### Code Example @@ -231,7 +233,7 @@ To use **CardIO** add `VGSCollectSDK`, `VGSCardIOCollector` packages to your tar Setup VGSCardIOScanController... - + @@ -392,7 +394,7 @@ You can add a file uploading functionality to your application with **VGSFilePic } - + ... send file to your Vault @@ -453,6 +455,7 @@ VGSAnalyticsClient.shared.shouldCollectAnalytics = false - Swift 5 - Optional 3rd party libraries: - [CardIO](https://github.com/card-io/card.io-iOS-SDK) + - [BlinkCard](https://github.com/blinkcard/blinkcard-ios) ## License diff --git a/Sources/VGSBlinkCardCollector/CardDataMappers/VGSBlinkCardExpirationDate.swift b/Sources/VGSBlinkCardCollector/CardDataMappers/VGSBlinkCardExpirationDate.swift new file mode 100644 index 00000000..e806fa1b --- /dev/null +++ b/Sources/VGSBlinkCardCollector/CardDataMappers/VGSBlinkCardExpirationDate.swift @@ -0,0 +1,61 @@ + +import Foundation +#if !COCOAPODS +import VGSCollectSDK +#endif + +/// Holds scanned expiration date data. +/// BlinkCard holds scanned data expiration date with two separate Ints. +internal struct VGSBlinkCardExpirationDate { + /// Scanned month. + let month: Int + /// Month converted to String: "01" + let monthString: String + /// Scanned year: YYYY + let year: Int + /// Scanned year short: YY + let shortYear: Int + + init(_ month: Int, year: Int) { + self.month = month + // Normalize month to format "01" + self.monthString = Self.formatMonthString(from: month) + self.year = year + self.shortYear = year - 2000 + } + + // MARK: - Helpers + + /// Maps scanned exp month and year to valid format (MM/YY). + /// - Returns: `String`, composed text or nil if scanned info is invalid. + func mapDefaultExpirationDate() -> String { + return "\(monthString)\(shortYear)" + } + + /// Maps scanned exp month and year to long expiration date format (MM/YYYY). + /// - Returns: `String`, composed text or nil if scanned info is invalid. + func mapLongExpirationDate() -> String { + return "\(monthString)\(year)" + } + + /// Maps scanned exp month and year to valid format starting with year (YY/MM). + /// - Returns: `String`, composed text or nil if scanned info is invalid. + func mapExpirationDateWithShortYearFirst() -> String { + return "\(shortYear)\(monthString)" + } + + /// Maps scanned exp month and year to long expiration date format starting with year (YYYY/MM). + /// - Returns: `String`, composed text or nil if scanned info is invalid. + func mapLongExpirationDateWithLongYearFirst() -> String { + return "\(year)\(monthString)" + } + + /// Formats month int. + /// - Parameter monthInt: `Int`, should be month. + /// - Returns: `String` object, formatted month. + private static func formatMonthString(from monthInt: Int) -> String { + // Add `0` for month less than 10. + let monthString = monthInt < 10 ? "0\(monthInt)" : "\(monthInt)" + return monthString + } +} diff --git a/Sources/VGSBlinkCardCollector/VGSBlinkCardController.swift b/Sources/VGSBlinkCardCollector/VGSBlinkCardController.swift new file mode 100644 index 00000000..e134c01d --- /dev/null +++ b/Sources/VGSBlinkCardCollector/VGSBlinkCardController.swift @@ -0,0 +1,70 @@ +// +// VGSBlinkCardController.swift +// VGSBlinkCardCollector +// + +import Foundation +#if !COCOAPODS +import VGSCollectSDK +#endif +#if os(iOS) +import UIKit +#endif + +/// Controller responsible for managing `BlinkCard` scanner. +@available(iOS 13.0, *) +public class VGSBlinkCardController { + + // MARK: - Attributes + + /// Handle card scanner events. + internal var scanHandler: VGSBlinkCardHandler? + + /// `VGSBlinkCardControllerDelegate` - handle user interaction with `BlinkCard` scanner. + public var delegate: VGSBlinkCardControllerDelegate? { + set { + scanHandler?.delegate = newValue + } + get { + return scanHandler?.delegate + } + } + + // MARK: - Initialization + + /// Initialization + /// - Parameters: + /// - licenseKey: key required for BlinkCard SDK usage. + /// - delegate: `VGSBlinkCardControllerDelegate`. Default is `nil`. + /// - errorCallback: Error callback with Int error code(represents `MBCLicenseError` enum), triggered only when error occured. + public required init(licenseKey: String, delegate: VGSBlinkCardControllerDelegate? = nil, onError errorCallback: @escaping ((NSInteger) -> Void)) { + self.scanHandler = VGSBlinkCardHandler(licenseKey: licenseKey, errorCallback: errorCallback) + self.delegate = delegate + + } + + // MARK: - Methods + + /// Present `BlinkCard` scanner. + /// - Parameters: + /// - viewController: `UIViewController` that will present card scanner. + /// - animated: pass `true` to animate the presentation; otherwise, pass `false`. + /// - modalPresentationStyle: `UIModalPresentationStyle` object, modal presentation style. Default is `.overCurrentContext`. + /// - completion: the block to execute after the presentation finishes. + public func presentCardScanner(on viewController: UIViewController, animated: Bool, modalPresentationStyle: UIModalPresentationStyle = .overCurrentContext, completion: (() -> Void)?) { + scanHandler?.presentScanVC(on: viewController, animated: animated, modalPresentationStyle: modalPresentationStyle, completion: completion) + } + + /// Dismiss `BlinkCard` scanner. + /// - Parameters: + /// - animated: pass `true` to animate the dismiss of presented viewcontroller; otherwise, pass `false`. + /// - completion: the block to execute after the dismiss finishes. + public func dismissCardScanner(animated: Bool, completion: (() -> Void)?) { + scanHandler?.dismissScanVC(animated: animated, completion: completion) + } + + /// Set custom localization fileName. + public static func setCustomLocalization(fileName: String) { + VGSBlinkCardHandler.setCustomLocalization(fileName: fileName) + } +} diff --git a/Sources/VGSBlinkCardCollector/VGSBlinkCardControllerDelegate.swift b/Sources/VGSBlinkCardCollector/VGSBlinkCardControllerDelegate.swift new file mode 100644 index 00000000..39e2f50e --- /dev/null +++ b/Sources/VGSBlinkCardCollector/VGSBlinkCardControllerDelegate.swift @@ -0,0 +1,65 @@ +// +// VGSBlinkCardControllerDelegate.swift +// VGSBlinkCardCollector +// + +import Foundation +#if !COCOAPODS +import VGSCollectSDK +#endif +#if os(iOS) +import UIKit +#endif + +/// Supported scan data fields by BlinkCard. +@objc +public enum VGSBlinkCardDataType: Int { + + /// Credit Card Number. Digits string. + case cardNumber + + /// Card holder name displayed on card. + case name + + /// Card cvc. + case cvc + + /// Credit Card Expiration Date. String in format "mm/yy", e.g: "01/21". + case expirationDate + + /// Credit Card Expiration Month. String in format "mm", e.g:"01". + case expirationMonth + + /// Credit Card Expiration Year. String in format "yy", e.g: "21". + case expirationYear + + /// Credit Card Expiration Year. String in format "yyyy", e.g:"2021". + case expirationYearLong + + /// Credit Card Expiration Date. String in format "mm/yyyy", e.g:"01/2021". + case expirationDateLong + + /// Credit Card Expiration Date. String in format "yy/mm", e.g:"21/01". + case expirationDateShortYearThenMonth + + /// Credit Card Expiration Date. String in format "yyyy/mm", e.g:"2021/01". + case expirationDateLongYearThenMonth +} + +/// Delegates produced by `VGSBlinkCardController` instance. +@objc +public protocol VGSBlinkCardControllerDelegate { + + // MARK: - Handle user ineraction with `BlinkCard` + + /// On user confirm scanned data by selecting Done button on `BlinkCard` screen. + @objc func userDidFinishScan() + + /// On user press Cancel buttonn on `BlinkCard` screen. + @objc func userDidCancelScan() + + // MARK: - Manage scanned data + + /// Asks `VGSTextField` where scanned data with `VGSConfiguration.FieldType` need to be set. Called after user select Done button, just before userDidFinishScan() delegate. + @objc func textFieldForScannedData(type: VGSBlinkCardDataType) -> VGSTextField? +} diff --git a/Sources/VGSBlinkCardCollector/VGSBlinkCardHandler.swift b/Sources/VGSBlinkCardCollector/VGSBlinkCardHandler.swift new file mode 100644 index 00000000..850446d1 --- /dev/null +++ b/Sources/VGSBlinkCardCollector/VGSBlinkCardHandler.swift @@ -0,0 +1,137 @@ +// +// VGSBlinkCardHandler.swift +// VGSBlinkCardCollector +// + + +import Foundation +import BlinkCard +#if !COCOAPODS +import VGSCollectSDK +#endif +#if os(iOS) +import UIKit +#endif + +/// BlinkCard wrapper, manages communication between public API and BlinkCard. +@available(iOS 13.0, *) +internal class VGSBlinkCardHandler: NSObject, VGSScanHandlerProtocol { + /// VGS BlinkCard Controller Delegate. + weak var delegate: VGSBlinkCardControllerDelegate? + /// BlinkCard scanner UIViewController. + weak var view: UIViewController? + /// MBCBlinkCardRecognizer. + lazy var cardRecognizer: MBCBlinkCardRecognizer = { + return MBCBlinkCardRecognizer() + }() + + /// Initialization + /// - Parameters: + /// - licenseKey: key required for BlinkCard SDK usage. + /// - errorCallback: Error callback with Int error code(represents `MBCLicenseError` enum), triggered only when error occured. + required init(licenseKey: String, errorCallback: @escaping ((NSInteger) -> Void)) { + super.init() + MBCMicroblinkSDK.shared().setLicenseKey(licenseKey) { error in + VGSAnalyticsClient.shared.trackEvent(.scan, status: .failed, extraData: ["scannerType": "BlinkCard", "errorCode": error]) + errorCallback(error.rawValue) + } + } + + /// Setup BlinlCard params and present scanner. + func presentScanVC(on viewController: UIViewController, animated: Bool, modalPresentationStyle: UIModalPresentationStyle, completion: (() -> Void)?) { + // Create BlinkCard settings + let settings : MBCBlinkCardOverlaySettings = MBCBlinkCardOverlaySettings() + settings.enableEditScreen = false + // Crate recognizer collection + let recognizerList = [cardRecognizer] + let recognizerCollection : MBCRecognizerCollection = MBCRecognizerCollection(recognizers: recognizerList) + // Create overlay view controller + let blinkCardOverlayViewController = MBCBlinkCardOverlayViewController(settings: settings, recognizerCollection: recognizerCollection, delegate: self) + // Create recognizer view controller with wanted overlay view controller + let recognizerRunneViewController : UIViewController = MBCViewControllerFactory.recognizerRunnerViewController(withOverlayViewController: blinkCardOverlayViewController)! + recognizerRunneViewController.modalPresentationStyle = modalPresentationStyle + self.view = recognizerRunneViewController + // Present the recognizer runner view controller + viewController.present(recognizerRunneViewController, animated: true, completion: completion) + } + + /// Setup BlinkCard params and present scanner. + func dismissScanVC(animated: Bool, completion: (() -> Void)?) { + view?.dismiss(animated: animated, completion: completion) + } + + /// Set custom localization fileName. + static func setCustomLocalization(fileName: String) { + MBCMicroblinkApp.shared().customLocalizationFileName = fileName + } +} + +/// :nodoc: +@available(iOS 13.0, *) +extension VGSBlinkCardHandler: MBCBlinkCardOverlayViewControllerDelegate { + + /// When BlinkCard finish card recognition. + func blinkCardOverlayViewControllerDidFinishScanning(_ blinkCardOverlayViewController: MBCBlinkCardOverlayViewController, state: MBCRecognizerResultState) { + // pause scanning + blinkCardOverlayViewController.recognizerRunnerViewController?.pauseScanning() + // send results in main thread + DispatchQueue.main.async { [weak self] in + // get scan result and delegate + guard let result = self?.cardRecognizer.result, + let blinkCardDelegate = self?.delegate else { return } + // card number + let number = result.cardNumber.trimmingCharacters(in: .whitespacesAndNewlines) + if !number.isEmpty, let textfield = blinkCardDelegate.textFieldForScannedData(type: .cardNumber) { + if let form = textfield.configuration?.vgsCollector { + VGSAnalyticsClient.shared.trackFormEvent(form.formAnalyticsDetails, type: .scan, status: .success, extraData: [ "scannerType": "BlinkCard"]) + } + textfield.setText(number) + } + // card holder name + let name = result.owner + if !name.isEmpty, let textfield = + blinkCardDelegate.textFieldForScannedData(type: .name) { + textfield.setText(name) + } + // cvv + let cvv = result.cvv + if !cvv.isEmpty, let textfield = + blinkCardDelegate.textFieldForScannedData(type: .cvc) { + textfield.setText(cvv) + } + // exp.date + let month = result.expiryDate.month + let year = result.expiryDate.year + let date = VGSBlinkCardExpirationDate(month, year: year) + if let textField = blinkCardDelegate.textFieldForScannedData(type: .expirationDate) { + textField.setText(date.mapDefaultExpirationDate()) + } + if let textField = blinkCardDelegate.textFieldForScannedData(type: .expirationDateLong) { + textField.setText(date.mapLongExpirationDate()) + } + if let textField = blinkCardDelegate.textFieldForScannedData(type: .expirationDateShortYearThenMonth) { + textField.setText(date.mapExpirationDateWithShortYearFirst()) + } + if let textField = blinkCardDelegate.textFieldForScannedData(type: .expirationDateLongYearThenMonth) { + textField.setText(date.mapLongExpirationDateWithLongYearFirst()) + } + if let textField = blinkCardDelegate.textFieldForScannedData(type: .expirationYear) { + textField.setText(String(date.shortYear)) + } + if let textField = blinkCardDelegate.textFieldForScannedData(type: .expirationYearLong) { + textField.setText(String(date.year)) + } + if let textField = blinkCardDelegate.textFieldForScannedData(type: .expirationMonth) { + textField.setText(date.monthString) + } + // notify scan is finished + self?.delegate?.userDidFinishScan() + } + } + + /// When user tap close button. + func blinkCardOverlayViewControllerDidTapClose(_ blinkCardOverlayViewController: MBCBlinkCardOverlayViewController) { + VGSAnalyticsClient.shared.trackEvent(.scan, status: .cancel, extraData: [ "scannerType": "BlinkCard"]) + delegate?.userDidCancelScan() + } +} diff --git a/Sources/VGSCardScanCollector/CardDataMappers/VGSBouncerDataMapUtils.swift b/Sources/VGSCardScanCollector/CardDataMappers/VGSBouncerDataMapUtils.swift deleted file mode 100644 index 3bd895f3..00000000 --- a/Sources/VGSCardScanCollector/CardDataMappers/VGSBouncerDataMapUtils.swift +++ /dev/null @@ -1,183 +0,0 @@ -// -// VGSBouncerDataMapUtils.swift -// VGSCollectSDK -// - -import Foundation -#if !COCOAPODS -import VGSCollectSDK -#endif - -/// Holds mapping utils for scanned card data. -internal final class VGSBouncerDataMapUtils { - - // MARK: - Constants - - /// Valid months range. - private static let monthsRange = 1...12 - - // MARK: - Interface - - /// Maps scanned expiration data to expected format. - /// - Parameters: - /// - data: `VGSBouncerExpirationDate` object, scanned expiry date data. - /// - format: `CradScanDataType` object, card data type. - /// - Returns: `String?`, formatted string or `nil`. - internal static func mapCardExpirationData(_ data: VGSBouncerExpirationDate, scannedDataType: CradScanDataType) -> String? { - switch scannedDataType { - case .cardNumber, .name: - return nil - case .expirationDate: - return mapDefaultExpirationDate(data.monthString, scannedExpYear: data.yearString) - case .expirationDateLong: - return mapLongExpirationDate(data.monthString, scannedExpYear: data.yearString) - case .expirationMonth: - return mapMonth(data.monthString) - case .expirationYear: - return mapYear(data.yearString) - case .expirationYearLong: - return mapYearLong(data.yearString) - case .expirationDateShortYearThenMonth: - return mapExpirationDateWithShortYearFirst(data.monthString, scannedExpYear: data.yearString) - case .expirationDateLongYearThenMonth: - return mapLongExpirationDateWithLongYearFirst(data.monthString, scannedExpYear: data.yearString) - } - } - - // MARK: - Helpers - - /// Maps scanned exp month and year to valid format (MM/YY). - /// - Parameters: - /// - scannedExpMonth: `String` object, scanned expiry month. - /// - scannedExpYear: `String` object, scanned expiry year. - /// - Returns: `String?`, composed text or nil if scanned info is invalid. - private static func mapDefaultExpirationDate(_ scannedExpMonth: String?, scannedExpYear: String?) -> String? { - guard let month = mapMonth(scannedExpMonth), let year = mapYear(scannedExpYear) else { - return nil - } - - return "\(month)\(year)" - } - - /// Maps scanned exp month and year to long expiration date format (MM/YYYY). - /// - Parameters: - /// - scannedExpMonth: `String` object, scanned expiry month. - /// - scannedExpYear: `String` object, scanned expiry year. - /// - Returns: `String?`, composed text or nil if scanned info is invalid. - private static func mapLongExpirationDate(_ scannedExpMonth: String?, scannedExpYear: String?) -> String? { - guard let month = mapMonth(scannedExpMonth), let longYear = mapYearLong(scannedExpYear) else { - return nil - } - - return "\(month)\(longYear)" - } - - /// Maps scanned exp month and year to valid format starting with year (YY/MM). - /// - Parameters: - /// - scannedExpMonth: `UInt` object, scanned expiry month. - /// - scannedExpYear: `UInt` object, scanned expiry year. - /// - Returns: `String?`, composed text or nil if scanned info is invalid. - private static func mapExpirationDateWithShortYearFirst(_ scannedExpMonth: String?, scannedExpYear: String?) -> String? { - guard let month = mapMonth(scannedExpMonth), let year = mapYear(scannedExpYear) else { - return nil - } - - return "\(year)\(month)" - } - - /// Maps scanned exp month and year to long expiration date format starting with year (YYYY/MM). - /// - Parameters: - /// - scannedExpMonth: `UInt` object, scanned expiry month. - /// - scannedExpYear: `UInt` object, scanned expiry year. - /// - Returns: `String?`, composed text or nil if scanned info is invalid. - private static func mapLongExpirationDateWithLongYearFirst(_ scannedExpMonth: String?, scannedExpYear: String?) -> String? { - guard let month = mapMonth(scannedExpMonth), let longYear = mapYearLong(scannedExpYear) else { - return nil - } - - return "\(longYear)\(month)" - } - - /// Maps scanned expiry month to short format (YY) string. - /// - Parameter scannedExpYear: `String?` object, scanned expiry year. - /// - Returns: `String?`, year text or nil if scanned info is invalid. - private static func mapMonth(_ scannedExpMonth: String?) -> String? { - guard let month = monthInt(from: scannedExpMonth) else {return nil} - - let formattedMonthString = formatMonthString(from: month) - return formattedMonthString - } - - /// Maps scanned expiry year to short format (YY) string. - /// - Parameter scannedExpYear: `String?` object, scanned expiry year. - /// - Returns: `String?`, year text or nil if scanned info is invalid. - private static func mapYear(_ scannedExpYear: String?) -> String? { - guard let year = yearInt(from: scannedExpYear) else {return nil} - - return "\(year)" - } - - /// Maps scanned expiry year to long format (YYYY) string. - /// - Parameter scannedExpYear: `String?` object, scanned expiry year. - /// - Returns: `String?`, year text or nil if scanned info is invalid. - private static func mapYearLong(_ scannedExpYear: String?) -> String? { - guard let year = yearInt(from: scannedExpYear) else {return nil} - - return longYearString(from: year) - } - - /// Converts year to long format string. - /// - Parameter shortYear: `Int` object, should be short year. - /// - Returns: `String` with long year format. - private static func longYearString(from shortYear: Int) -> String { - return "20\(shortYear)" - } - - /// Checks if month (Int) is valid. - /// - Parameter month: `Int` object, month to verify. - /// - Returns: `Bool` object, `true` if is valid. - private static func isMonthValid(_ month: Int) -> Bool { - return monthsRange ~= month - } - - /// Checks if year (Int) is valid. - /// - Parameter year: `Int` object, year to verify. - /// - Returns: `Bool` object, `true` if is valid. - private static func isYearValid(_ year: Int) -> Bool { - // CardScan returns year in short format: `2024` -> `24`. - return year >= VGSCalendarUtils.currentYearShort - } - - /// Provides month Int from text. - /// - Parameter monthString: `String` object, month as text. - /// - Returns: `Int?`, valid month or `nil`. - private static func monthInt(from monthString: String?) -> Int? { - guard let month = monthString, !month.isEmpty, - let monthInt = Int(month), isMonthValid(monthInt) else { - return nil - } - - return monthInt - } - - /// Provides year Int from text. - /// - Parameter yearString: `String` object, year as text. - /// - Returns: `Int?`, valid year or `nil`. - private static func yearInt(from yearString: String?) -> Int? { - guard let year = yearString, !year.isEmpty, - let yearInt = Int(year), isYearValid(yearInt) else { - return nil - } - - return yearInt - } - - /// Formats month int. - /// - Parameter monthInt: `Int`, should be month. - /// - Returns: `String` object, formatted month. - private static func formatMonthString(from monthInt: Int) -> String { - // Add `0` for month less than 10. - let monthString = monthInt < 10 ? "0\(monthInt)" : "\(monthInt)" - return monthString - } -} diff --git a/Sources/VGSCardScanCollector/CardDataMappers/VGSBouncerExpirationDate.swift b/Sources/VGSCardScanCollector/CardDataMappers/VGSBouncerExpirationDate.swift deleted file mode 100644 index 3eaed19f..00000000 --- a/Sources/VGSCardScanCollector/CardDataMappers/VGSBouncerExpirationDate.swift +++ /dev/null @@ -1,17 +0,0 @@ -// -// VGSBouncerExpirationDate.swift -// VGSCardScanCollector -// - -import Foundation - -/// Holds scanned expiration date data. -/// Bouncer holds scanned data expiration date with two separate strings. -/// `03/25` on card -> `03` for month, `25` for year. Year is always `YY` in short format. -internal struct VGSBouncerExpirationDate { - /// Scanned month. - internal let monthString: String? - - /// Scanned year. - internal let yearString: String? -} diff --git a/Sources/VGSCardScanCollector/VGSCardScanController.swift b/Sources/VGSCardScanCollector/VGSCardScanController.swift deleted file mode 100644 index afabe558..00000000 --- a/Sources/VGSCardScanCollector/VGSCardScanController.swift +++ /dev/null @@ -1,71 +0,0 @@ -// -// VGSCardScanController.swift -// VGSCardScanCollector -// -// Created by Dima on 18.08.2020. -// Copyright © 2020 VGS. All rights reserved. -// - -import Foundation -#if !COCOAPODS -import VGSCollectSDK -#endif -#if os(iOS) -import UIKit -#endif - -/// Controller responsible for managing CardScan scanner -public class VGSCardScanController { - - // MARK: - Attributes - - internal var scanHandler: VGSCardScanHandler? - - /// `VGSCardScanControllerDelegate` - handle user interaction with `CardScan` scanner - public var delegate: VGSCardScanControllerDelegate? { - set { - scanHandler?.delegate = newValue - } - get { - return scanHandler?.delegate - } - } - - // MARK: - Initialization - /// Initialization - /// - /// - Parameters: - /// - apiKey: key required for CardScan SDK usage. - /// - delegate: `VGSCardScanControllerDelegate`. Default is `nil`. - @available(*, deprecated, message: "CardScan support will be droped in future versions, migrate to card.io.") - public required init(apiKey: String, delegate: VGSCardScanControllerDelegate? = nil) { - - self.scanHandler = VGSCardScanHandler(apiKey: apiKey) - self.delegate = delegate - } - - // MARK: - Methods - - /// Present `CardScan` scanner. - /// - Parameters: - /// - viewController: `UIViewController` that will present card scanner. - /// - animated: pass `true` to animate the presentation; otherwise, pass `false`. - /// - completion: the block to execute after the presentation finishes. - public func presentCardScanner(on viewController: UIViewController, animated: Bool, completion: (() -> Void)?) { - scanHandler?.presentScanVC(on: viewController, animated: animated, completion: completion) - } - - /// Dismiss `CardScan` scanner. - /// - /// - Parameters: - /// - animated: pass `true` to animate the dismiss of presented viewcontroller; otherwise, pass `false`. - /// - completion: the block to execute after the dismiss finishes. - public func dismissCardScanner(animated: Bool, completion: (() -> Void)?) { - scanHandler?.dismissScanVC(animated: animated, completion: completion) - } - - /// Check if CardScan can run on current device. - static public func isCompatible() -> Bool { - return VGSCardScanHandler.isCompatible() - } -} diff --git a/Sources/VGSCardScanCollector/VGSCardScanControllerDelegate.swift b/Sources/VGSCardScanCollector/VGSCardScanControllerDelegate.swift deleted file mode 100644 index a009711f..00000000 --- a/Sources/VGSCardScanCollector/VGSCardScanControllerDelegate.swift +++ /dev/null @@ -1,65 +0,0 @@ -// -// VGSCardScanControllerDelegate.swift -// VGSCardScanCollector -// -// Created by Dima on 31.08.2020. -// Copyright © 2020 VGS. All rights reserved. -// - -import Foundation -#if !COCOAPODS -import VGSCollectSDK -#endif -#if os(iOS) -import UIKit -#endif - -/// Supported scan data fields by CardScan -@objc -public enum CradScanDataType: Int { - - /// Credit Card Number. Digits string. - case cardNumber - - /// Credit Card Expiration Date. String in format "01/21". - case expirationDate - - /// Credit Card Expiration Month. String in format "01". - case expirationMonth - - /// Credit Card Expiration Year. String in format "21". - case expirationYear - - /// Credit Card Expiration Date. String in format "01/2021". - case expirationDateLong - - /// Credit Card Expiration Year. String in format "2021". - case expirationYearLong - - /// Card holder name displayed on card. - case name - - /// Credit Card Expiration Date. String in format "21/01". - case expirationDateShortYearThenMonth - - /// Credit Card Expiration Date. String in format "2021/01". - case expirationDateLongYearThenMonth -} - -/// Delegates produced by `VGSCardScanController` instance. -@objc -public protocol VGSCardScanControllerDelegate { - - // MARK: - Handle user ineraction with `CardScan` - - /// On user confirm scanned data by selecting Done button on `CardScan` screen. - @objc func userDidFinishScan() - - /// On user press Cancel buttonn on `CardScan` screen. - @objc func userDidCancelScan() - - // MARK: - Manage scanned data - - /// Asks `VGSTextField` where scanned data with `VGSConfiguration.FieldType` need to be set. Called after user select Done button, just before userDidFinishScan() delegate. - @objc func textFieldForScannedData(type: CradScanDataType) -> VGSTextField? -} diff --git a/Sources/VGSCardScanCollector/VGSCardScanHandler.swift b/Sources/VGSCardScanCollector/VGSCardScanHandler.swift deleted file mode 100644 index 3f666641..00000000 --- a/Sources/VGSCardScanCollector/VGSCardScanHandler.swift +++ /dev/null @@ -1,127 +0,0 @@ -// -// VGSCardScanHandler.swift -// VGSCardScanCollector -// -// Created by Dima on 18.08.2020. -// Copyright © 2020 VGS. All rights reserved. -// - -import Foundation -import CardScan -#if !COCOAPODS -import VGSCollectSDK -#endif -#if os(iOS) -import UIKit -#endif - -internal class VGSCardScanHandler: NSObject, VGSScanHandlerProtocol { - - weak var delegate: VGSCardScanControllerDelegate? - weak var view: UIViewController? - - required init(apiKey: String) { - super.init() - - if #available(iOS 11.2, *) { - ScanViewController.configure(apiKey: apiKey) - } else { - print("⚠️ Unsupported iOS version, should be iOS 11.2 or higher.") - } - } - - func presentScanVC(on viewController: UIViewController, animated: Bool, modalPresentationStyle: UIModalPresentationStyle = .overCurrentContext, completion: (() -> Void)?) { - - if #available(iOS 11.2, *) { - guard let vc = ScanViewController.createViewController(withDelegate: self) else { - print("⚠️ This device is incompatible with CardScan.") - return - } - print("ScanViewController.version(): \(ScanViewController.version())") - self.view = vc - vc.scanDelegate = self - viewController.present(vc, animated: animated, completion: completion) - } else { - print("⚠️ Unsupported iOS version, should be iOS 11.2 or higher.") - } - } - - func dismissScanVC(animated: Bool, completion: (() -> Void)?) { - view?.dismiss(animated: animated, completion: completion) - } - - static func isCompatible() -> Bool { - if #available(iOS 11.2, *) { - return ScanViewController.isCompatible() - } else { - print("⚠️ Unsupported iOS version, should be iOS 11.2 or higher.") - return false - } - } -} - -/// :nodoc: - -@available(iOS 11.2, *) -extension VGSCardScanHandler: ScanDelegate { - func userDidCancel(_ scanViewController: ScanViewController) { - VGSAnalyticsClient.shared.trackEvent(.scan, status: .cancel, extraData: [ "scannerType": "Bouncer"]) - delegate?.userDidCancelScan() - } - - /// :nodoc: - func userDidScanCard(_ scanViewController: ScanViewController, creditCard: CreditCard) { - guard let cardScanDelegate = delegate else { - return - } - - if !creditCard.number.isEmpty, let textfield = cardScanDelegate.textFieldForScannedData(type: .cardNumber) { - - if let form = textfield.configuration?.vgsCollector { - VGSAnalyticsClient.shared.trackFormEvent(form.formAnalyticsDetails, type: .scan, status: .success, extraData: [ "scannerType": "Bouncer"]) - } - textfield.setText(creditCard.number) - } - if let name = creditCard.name, !name.isEmpty, let textfield = - cardScanDelegate.textFieldForScannedData(type: .name) { - textfield.setText(name) - } - - let expiryDateData = VGSBouncerExpirationDate(monthString: creditCard.expiryMonth, yearString: creditCard.expiryYear) - - if let defaultExpirationDate = VGSBouncerDataMapUtils.mapCardExpirationData(expiryDateData, scannedDataType: .expirationDate), let textfield = cardScanDelegate.textFieldForScannedData(type: .expirationDate) { - textfield.setText(defaultExpirationDate) - } - - if let longExpirationDate = VGSBouncerDataMapUtils.mapCardExpirationData(expiryDateData, scannedDataType: .expirationDateLong), let textfield = cardScanDelegate.textFieldForScannedData(type: .expirationDateLong) { - textfield.setText(longExpirationDate) - } - - if let shortExpirationDateWithYearFirst = VGSBouncerDataMapUtils.mapCardExpirationData(expiryDateData, scannedDataType: .expirationDateShortYearThenMonth), let textfield = cardScanDelegate.textFieldForScannedData(type: .expirationDateShortYearThenMonth) { - textfield.setText(shortExpirationDateWithYearFirst) - } - - if let longExpirationDateWithYearFirst = VGSBouncerDataMapUtils.mapCardExpirationData(expiryDateData, scannedDataType: .expirationDateLongYearThenMonth), let textfield = cardScanDelegate.textFieldForScannedData(type: .expirationDateLongYearThenMonth) { - textfield.setText(longExpirationDateWithYearFirst) - } - - if let expiryMonth = VGSBouncerDataMapUtils.mapCardExpirationData(expiryDateData, scannedDataType: .expirationMonth), let textfield = cardScanDelegate.textFieldForScannedData(type: .expirationMonth) { - textfield.setText(expiryMonth) - } - - if let expiryYear = VGSBouncerDataMapUtils.mapCardExpirationData(expiryDateData, scannedDataType: .expirationYear), let textfield = cardScanDelegate.textFieldForScannedData(type: .expirationYear) { - textfield.setText(expiryYear) - } - - if let expiryYearLong = VGSBouncerDataMapUtils.mapCardExpirationData(expiryDateData, scannedDataType: .expirationYearLong), let textfield = cardScanDelegate.textFieldForScannedData(type: .expirationYearLong) { - textfield.setText(expiryYearLong) - } - - cardScanDelegate.userDidFinishScan() - } - - /// :nodoc: - func userDidSkip(_ scanViewController: ScanViewController) { - delegate?.userDidCancelScan() - } -} diff --git a/Sources/VGSCollectSDK/UIElements/Text Field/VGSCVCTextField.swift b/Sources/VGSCollectSDK/UIElements/Text Field/VGSCVCTextField.swift index 056b826d..4c8e5d1b 100644 --- a/Sources/VGSCollectSDK/UIElements/Text Field/VGSCVCTextField.swift +++ b/Sources/VGSCollectSDK/UIElements/Text Field/VGSCVCTextField.swift @@ -138,11 +138,9 @@ internal extension VGSCVCTextField { func updatecvcIconViewSize() { if let widthConstraint = cvcIconImageView.constraints.filter({ $0.identifier == "widthConstraint" }).first { widthConstraint.constant = cvcIconSize.width - print("widthConstraint.constant: \(widthConstraint.constant)") } if let heightConstraint = cvcIconImageView.constraints.filter({ $0.identifier == "heightConstraint" }).first { heightConstraint.constant = cvcIconSize.height - print("heightConstraint.constant: \(heightConstraint.constant)") } } diff --git a/Sources/VGSCollectSDK/Utils/Extensions/Utils.swift b/Sources/VGSCollectSDK/Utils/Extensions/Utils.swift index 469d4008..9cc3dacb 100644 --- a/Sources/VGSCollectSDK/Utils/Extensions/Utils.swift +++ b/Sources/VGSCollectSDK/Utils/Extensions/Utils.swift @@ -7,7 +7,6 @@ // import Foundation -@testable import VGSCollectSDK /// Merge two objects and their nested values. Returns [String: Any]. Values in d2 will override values in d1 if keys are same!!!! func deepMerge(_ d1: [String: Any], _ d2: [String: Any]) -> [String: Any] { @@ -47,7 +46,7 @@ internal class Utils { /// VGS Collect SDK Version. /// Necessary since SPM doesn't track info plist correctly: https://forums.swift.org/t/add-info-plist-on-spm-bundle/40274/5 - static let vgsCollectVersion: String = "1.11.3" + static let vgsCollectVersion: String = "1.12.0" } extension Dictionary { diff --git a/Tests/FrameworkTests/Satellite Tests/Text Fields Tests/ExpDateTextField.swift b/Tests/FrameworkTests/Satellite Tests/Text Fields Tests/ExpDateTextField.swift index a98a0350..61c0a477 100644 --- a/Tests/FrameworkTests/Satellite Tests/Text Fields Tests/ExpDateTextField.swift +++ b/Tests/FrameworkTests/Satellite Tests/Text Fields Tests/ExpDateTextField.swift @@ -2,9 +2,6 @@ // ExpDateTextField.swift // FrameworkTests // -// Created by Vitalii Obertynskyi on 17.06.2020. -// Copyright © 2020 VGS. All rights reserved. -// import XCTest @testable import VGSCollectSDK @@ -83,4 +80,26 @@ class ExpDateTextField: VGSCollectBaseTestCase { XCTAssertTrue(Int(monthComponent) == currentMonth) XCTAssertTrue(Int(yearComponent) == currentYear) } + + func testExpDateKeyboardConfiguration() { + let customExpDateConfiguration = VGSExpDateConfiguration(collector: collector, fieldName: "textField") + customExpDateConfiguration.inputSource = .keyboard + customExpDateConfiguration.keyboardType = .namePhonePad + customExpDateConfiguration.returnKeyType = .go + customExpDateConfiguration.keyboardAppearance = .dark + textField.configuration = customExpDateConfiguration + + XCTAssertTrue(textField.textField.keyboardType == customExpDateConfiguration.keyboardType, "Wrong keyboardType!") + XCTAssertTrue(textField.textField.returnKeyType == customExpDateConfiguration.returnKeyType, "Wrong returnKeyType!") + XCTAssertTrue(textField.textField.keyboardAppearance == customExpDateConfiguration.keyboardAppearance, "Wrong keyboardAppearance!") + } + + func testExpDateConfigurationWithDatePicker() { + let customExpDateConfiguration = VGSExpDateConfiguration(collector: collector, fieldName: "textField") + customExpDateConfiguration.inputSource = .datePicker + textField.configuration = customExpDateConfiguration + + XCTAssertTrue(textField.textField.inputView != nil, "Date picker not set!") + XCTAssertTrue(textField.textField.inputView is UIPickerView, "Wrong date picker view!") + } } diff --git a/Tests/FrameworkTests/Satellite Tests/Text Fields Tests/ExpDateTextFieldTests.swift b/Tests/FrameworkTests/Satellite Tests/Text Fields Tests/ExpDateTextFieldTests.swift index 0b07f69c..c26ab187 100644 --- a/Tests/FrameworkTests/Satellite Tests/Text Fields Tests/ExpDateTextFieldTests.swift +++ b/Tests/FrameworkTests/Satellite Tests/Text Fields Tests/ExpDateTextFieldTests.swift @@ -2,10 +2,6 @@ // ExpDateTextFieldTests.swift // FrameworkTests // -// Created by Vitalii Obertynskyi on 9/19/19. -// Copyright © 2019 Vitalii Obertynskyi. All rights reserved. -// - import XCTest @testable import VGSCollectSDK @@ -140,4 +136,5 @@ class ExpDateTextFieldTests: VGSCollectBaseTestCase { XCTAssertFalse(expDateTextField.state.isEmpty) } } + } diff --git a/Tests/FrameworkTests/Satellite Tests/Text Fields Tests/VGSTextFieldTests.swift b/Tests/FrameworkTests/Satellite Tests/Text Fields Tests/VGSTextFieldTests.swift index 36f7b6fa..010ea659 100644 --- a/Tests/FrameworkTests/Satellite Tests/Text Fields Tests/VGSTextFieldTests.swift +++ b/Tests/FrameworkTests/Satellite Tests/Text Fields Tests/VGSTextFieldTests.swift @@ -40,9 +40,12 @@ class VGSTextFieldTests: VGSCollectBaseTestCase { } func testSetText() { + let placeholder = "card numner" configuration.type = .cardNumber textfield.configuration = configuration + textfield.placeholder = placeholder textfield.setText("4111111111111111") + XCTAssertTrue(textfield.textField.placeholder == placeholder) XCTAssertTrue(textfield.textField.secureText == "4111 1111 1111 1111") XCTAssertTrue(textfield.state.inputLength == 16) XCTAssertTrue(textfield.state.isDirty == true) diff --git a/Tests/FrameworkTests/TokenizationTests/VGSTokenizationConfigurationTests.swift b/Tests/FrameworkTests/TokenizationTests/VGSTokenizationConfigurationTests.swift new file mode 100644 index 00000000..7dbc37f9 --- /dev/null +++ b/Tests/FrameworkTests/TokenizationTests/VGSTokenizationConfigurationTests.swift @@ -0,0 +1,162 @@ +// +// VGSTokenizationConfigurationsTest.swift +// FrameworkTests +// + +import Foundation + +import Foundation +import XCTest +@testable import VGSCollectSDK + +class VGSTokenizationConfigurationsTest: VGSCollectBaseTestCase { + + var textField: VGSTextField! + var collector = VGSCollect(id: "testVaultId") + + + override func tearDown() { + super.tearDown() + textField = nil + collector.unregisterAllFiles() + } + + func testTokenizationConfiguration() { + // set configuration + let configuration = VGSTokenizationConfiguration(collector: collector, fieldName: "fieldName") + textField = VGSTextField() + textField.configuration = configuration + + // Test field type is correct + XCTAssertTrue(textField.fieldType == configuration.type, "Error: wrong field type: \(textField.fieldType). Should be: \(configuration.type)") + + // Test tokenization parameters + guard let tokenizationConfiguration = textField.configuration as? VGSTokenizationConfiguration else { + XCTFail("Wrong configuration type, should be `VGSTokenizationConfiguration`") + return + } + let defaultTokenizationParams = VGSTokenizationParameters() + XCTAssertTrue(tokenizationConfiguration.tokenizationParameters.format == defaultTokenizationParams.format, "Error: wrong tokenization format!") + XCTAssertTrue(tokenizationConfiguration.tokenizationParameters.storage == defaultTokenizationParams.storage, "Error: wrong tokenization storage!") + + // Test custom tokenization parameters + var customTokenizationParams = VGSTokenizationParameters() + customTokenizationParams.storage = VGSVaultStorageType.VOLATILE.rawValue + customTokenizationParams.format = VGSVaultAliasFormat.FPE_T_FOUR.rawValue + configuration.tokenizationParameters = customTokenizationParams + textField.configuration = configuration + + guard let customTokenizationConfiguration = textField.configuration as? VGSTokenizationConfiguration else { + XCTFail("Wrong configuration type, should be `VGSTokenizationConfiguration`") + return + } + XCTAssertTrue(customTokenizationConfiguration.tokenizationParameters.format == customTokenizationParams.format, "Error: wrong custom tokenization format!") + XCTAssertTrue(tokenizationConfiguration.tokenizationParameters.storage == customTokenizationParams.storage, "Error: wrong custom tokenization storage!") + } + + func testCVCTokenizationConfiguration() { + // set configuration + let configuration = VGSCVCTokenizationConfiguration(collector: collector, fieldName: "fieldName") + textField = VGSCVCTextField() + textField.configuration = configuration + + // Test field type is correct + XCTAssertTrue(textField.fieldType == configuration.type, "Error: wrong field type: \(textField.fieldType). Should be: \(configuration.type)") + + // Test tokenization parameters + guard let tokenizationConfiguration = textField.configuration as? VGSCVCTokenizationConfiguration else { + XCTFail("Wrong configuration type, should be `VGSCVCTokenizationConfiguration`") + return + } + let defaultTokenizationParams = VGSCVCTokenizationParameters() + XCTAssertTrue(tokenizationConfiguration.tokenizationParameters.format == defaultTokenizationParams.format, "Error: wrong tokenization format!") + XCTAssertTrue(tokenizationConfiguration.tokenizationParameters.storage == defaultTokenizationParams.storage, "Error: wrong tokenization storage!") + } + + func testExpDateTokenizationConfiguration() { + textField = VGSExpDateTextField() + + // set configuration + let configuration = VGSExpDateTokenizationConfiguration(collector: collector, fieldName: "fieldName") + configuration.inputSource = .keyboard + configuration.keyboardType = .namePhonePad + configuration.returnKeyType = .go + configuration.keyboardAppearance = .dark + + textField.configuration = configuration + + // Test field type is correct + XCTAssertTrue(textField.fieldType == configuration.type, "Error: wrong field type: \(textField.fieldType). Should be: \(configuration.type)") + + // Test tokenization parameters + guard let tokenizationConfiguration = textField.configuration as? VGSExpDateTokenizationConfiguration else { + XCTFail("Wrong configuration type, should be `VGSExpDateTokenizationConfiguration`") + return + } + let defaultTokenizationParams = VGSExpDateTokenizationParameters() + XCTAssertTrue(tokenizationConfiguration.tokenizationParameters.format == defaultTokenizationParams.format, "Error: wrong tokenization format!") + XCTAssertTrue(tokenizationConfiguration.tokenizationParameters.storage == defaultTokenizationParams.storage, "Error: wrong tokenization storage!") + + // Test configuration params + XCTAssertTrue(textField.textField.keyboardType == configuration.keyboardType, "Wrong keyboardType!") + XCTAssertTrue(textField.textField.returnKeyType == configuration.returnKeyType, "Wrong returnKeyType!") + XCTAssertTrue(textField.textField.keyboardAppearance == configuration.keyboardAppearance, "Wrong keyboardAppearance!") + } + + func testCardNumberTokenizationConfiguration() { + // set configuration + let configuration = VGSCardNumberTokenizationConfiguration(collector: collector, fieldName: "fieldName") + textField = VGSCardTextField() + textField.configuration = configuration + + // Test field type is correct + XCTAssertTrue(textField.fieldType == configuration.type, "Error: wrong field type: \(textField.fieldType). Should be: \(configuration.type)") + + // Test tokenization parameters + guard let tokenizationConfiguration = textField.configuration as? VGSCardNumberTokenizationConfiguration else { + XCTFail("Wrong configuration type, should be `VGSCardNumberTokenizationConfiguration`") + return + } + let defaultTokenizationParams = VGSCardNumberTokenizationParameters() + XCTAssertTrue(tokenizationConfiguration.tokenizationParameters.format == defaultTokenizationParams.format, "Error: wrong tokenization format!") + XCTAssertTrue(tokenizationConfiguration.tokenizationParameters.storage == defaultTokenizationParams.storage, "Error: wrong tokenization storage!") + } + + func testCardHolderNameTokenizationConfiguration() { + // set configuration + let configuration = VGSCardHolderNameTokenizationConfiguration(collector: collector, fieldName: "fieldName") + textField = VGSTextField() + textField.configuration = configuration + + // Test field type is correct + XCTAssertTrue(textField.fieldType == configuration.type, "Error: wrong field type: \(textField.fieldType). Should be: \(configuration.type)") + + // Test tokenization parameters + guard let tokenizationConfiguration = textField.configuration as? VGSCardHolderNameTokenizationConfiguration else { + XCTFail("Wrong configuration type, should be `VGSCardHolderNameTokenizationConfiguration`") + return + } + let defaultTokenizationParams = VGSCardHolderNameTokenizationParameters() + XCTAssertTrue(tokenizationConfiguration.tokenizationParameters.format == defaultTokenizationParams.format, "Error: wrong tokenization format!") + XCTAssertTrue(tokenizationConfiguration.tokenizationParameters.storage == defaultTokenizationParams.storage, "Error: wrong tokenization storage!") + } + + func testSSNTokenizationConfiguration() { + // set configuration + let configuration = VGSSSNTokenizationConfiguration(collector: collector, fieldName: "fieldName") + textField = VGSTextField() + textField.configuration = configuration + + // Test field type is correct + XCTAssertTrue(textField.fieldType == configuration.type, "Error: wrong field type: \(textField.fieldType). Should be: \(configuration.type)") + + // Test tokenization parameters + guard let tokenizationConfiguration = textField.configuration as? VGSSSNTokenizationConfiguration else { + XCTFail("Wrong configuration type, should be `VGSSSNTokenizationConfiguration`") + return + } + let defaultTokenizationParams = VGSSSNTokenizationParameters() + XCTAssertTrue(tokenizationConfiguration.tokenizationParameters.format == defaultTokenizationParams.format, "Error: wrong tokenization format!") + XCTAssertTrue(tokenizationConfiguration.tokenizationParameters.storage == defaultTokenizationParams.storage, "Error: wrong tokenization storage!") + } +} diff --git a/Tests/FrameworkTests/TokenizationTests/VGSTokenizationResponseMappingTests.swift b/Tests/FrameworkTests/TokenizationTests/VGSTokenizationResponseMappingTests.swift index 5d07bca6..75ce8a44 100644 --- a/Tests/FrameworkTests/TokenizationTests/VGSTokenizationResponseMappingTests.swift +++ b/Tests/FrameworkTests/TokenizationTests/VGSTokenizationResponseMappingTests.swift @@ -127,13 +127,13 @@ class VGSTokenizationResponseMappingTests: VGSCollectBaseTestCase { let fieldName = textFieldData.fieldName switch fieldName { case "card_number": - var config = VGSCardNumberTokenizationConfiguration(collector: collector, fieldName: fieldName) + let config = VGSCardNumberTokenizationConfiguration(collector: collector, fieldName: fieldName) config.tokenizationParameters.format = textFieldData.storage config.tokenizationParameters.format = textFieldData.format cardNumberTextField.configuration = config cardNumberTextField.setText(textFieldData.inputValue) case "exp_date": - var config = VGSExpDateTokenizationConfiguration(collector: collector, fieldName: fieldName) + let config = VGSExpDateTokenizationConfiguration(collector: collector, fieldName: fieldName) if textFieldData.isSerializationEnabled { config.serializers = [VGSExpDateSeparateSerializer(monthFieldName: "month", yearFieldName: "year")] @@ -147,7 +147,7 @@ class VGSTokenizationResponseMappingTests: VGSCollectBaseTestCase { expDateTextField.configuration = config expDateTextField.setText(textFieldData.inputValue) case "cvc": - var config = VGSCVCTokenizationConfiguration(collector: collector, fieldName: fieldName) + let config = VGSCVCTokenizationConfiguration(collector: collector, fieldName: fieldName) config.tokenizationParameters.format = textFieldData.storage config.tokenizationParameters.format = textFieldData.format cvcTextField.configuration = config @@ -171,7 +171,7 @@ class VGSTokenizationResponseMappingTests: VGSCollectBaseTestCase { return } - XCTAssertTrue(json == expectedJSON, "Tokenization data mapping error:\n - Index: \(index)\n - Actual JSON: \(actualJSON)\n - Expected: \(expectedJSON)") + XCTAssertTrue(json == expectedJSON, "Tokenization data mapping error:\n - Index: \(index)\n - Actual JSON: \(String(describing: actualJSON))\n - Expected: \(expectedJSON)") } } diff --git a/Tests/FrameworkTests/VGSCollectTests.swift b/Tests/FrameworkTests/VGSCollectTests.swift index fdb21971..a0d27dc2 100644 --- a/Tests/FrameworkTests/VGSCollectTests.swift +++ b/Tests/FrameworkTests/VGSCollectTests.swift @@ -2,9 +2,6 @@ // FormTests.swift // FrameworkTests // -// Created by Vitalii Obertynskyi on 9/17/19. -// Copyright © 2019 Vitalii Obertynskyi. All rights reserved. -// import XCTest @testable import VGSCollectSDK @@ -180,6 +177,22 @@ class VGSCollectTests: VGSCollectBaseTestCase { XCTAssertTrue(collector.storage.textFields.count == 0) XCTAssertTrue(collector.textFields.count == 0) } + + func testUnassignAllTextFields() { + let config = VGSConfiguration(collector: collector, fieldName: "test") + let tf1 = VGSTextField() + tf1.configuration = config + + let tf2 = VGSExpDateTextField() + tf2.configuration = config + + XCTAssertTrue(collector.storage.textFields.count == 2) + XCTAssertTrue(collector.textFields.count == 2) + + collector.unsubscribeAllTextFields() + XCTAssertTrue(collector.storage.textFields.count == 0) + XCTAssertTrue(collector.textFields.count == 0) + } func testCustomJsonMapping() { let cardConfiguration = VGSConfiguration(collector: collector, fieldName: "user.card_data.card_number") diff --git a/VGSCardScanCollector/Info.plist b/VGSBlinkCardCollector/Info.plist similarity index 100% rename from VGSCardScanCollector/Info.plist rename to VGSBlinkCardCollector/Info.plist diff --git a/VGSBlinkCardCollector/VGSBlinkCardCollector.h b/VGSBlinkCardCollector/VGSBlinkCardCollector.h new file mode 100644 index 00000000..c20d34e9 --- /dev/null +++ b/VGSBlinkCardCollector/VGSBlinkCardCollector.h @@ -0,0 +1,19 @@ +// +// VGSBlinkCardCollector.h +// VGSBlinkCardCollector +// +// Created by Dmytro on 26.09.2022. +// Copyright © 2022 VGS. All rights reserved. +// + +#import + +//! Project version number for VGSBlinkCardCollector. +FOUNDATION_EXPORT double VGSBlinkCardCollectorVersionNumber; + +//! Project version string for VGSBlinkCardCollector. +FOUNDATION_EXPORT const unsigned char VGSBlinkCardCollectorVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/VGSCardScanCollector/VGSCardScanCollector.h b/VGSCardScanCollector/VGSCardScanCollector.h deleted file mode 100644 index 5ce4fd54..00000000 --- a/VGSCardScanCollector/VGSCardScanCollector.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// VGSCardScanCollector.h -// VGSCardScanCollector -// -// Created by Dima on 18.08.2020. -// Copyright © 2020 VGS. All rights reserved. -// - -#import - -//! Project version number for VGSCardScanCollector. -FOUNDATION_EXPORT double VGSCardScanCollectorVersionNumber; - -//! Project version string for VGSCardScanCollector. -FOUNDATION_EXPORT const unsigned char VGSCardScanCollectorVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/VGSCardScanCollectorTests/Info.plist b/VGSCardScanCollectorTests/Info.plist deleted file mode 100644 index 64d65ca4..00000000 --- a/VGSCardScanCollectorTests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/VGSCardScanCollectorTests/MapExpirationDateTests/VGSBouncerDataMapUtilsTests.swift b/VGSCardScanCollectorTests/MapExpirationDateTests/VGSBouncerDataMapUtilsTests.swift deleted file mode 100644 index 807f0269..00000000 --- a/VGSCardScanCollectorTests/MapExpirationDateTests/VGSBouncerDataMapUtilsTests.swift +++ /dev/null @@ -1,116 +0,0 @@ -// -// VGSBouncerDataMapUtilsTests.swift -// VGSCardScanCollectorTests -// - -import Foundation -import XCTest -@testable import VGSCollectSDK -@testable import VGSCardScanCollector - -/// Tests for Bouncer data mapping to VGS Collect. -class VGSBouncerDataMapUtilsTests: XCTestCase { - - /// Holds test data. - struct TestDataMappingItem { - let format: CradScanDataType - let expectedText: String - } - - /// Holds set of data to test specific use case. - struct TestDataItem { - let items: [TestDataMappingItem] - let scannedData: VGSBouncerExpirationDate - } - - private let testDataItemLongMonth = TestDataItem(items: [ - TestDataMappingItem(format: .expirationDate, expectedText: "1024"), - - TestDataMappingItem(format: .expirationDateLong, expectedText: "102024"), - - TestDataMappingItem(format: .expirationMonth, expectedText: "10"), - - TestDataMappingItem(format: .expirationYear, expectedText: "24"), - - TestDataMappingItem(format: .expirationYearLong, expectedText: "2024"), - TestDataMappingItem(format: .expirationDateShortYearThenMonth, expectedText: "2410"), - TestDataMappingItem(format: .expirationDateLongYearThenMonth, expectedText: "202410")], - scannedData: VGSBouncerExpirationDate(monthString: "10", yearString: "24")) - - private let testDataItemShortMonth = TestDataItem(items: [ - TestDataMappingItem(format: .expirationDate, expectedText: "0325"), - - TestDataMappingItem(format: .expirationDateLong, expectedText: "032025"), - - TestDataMappingItem(format: .expirationMonth, expectedText: "03"), - - TestDataMappingItem(format: .expirationYear, expectedText: "25"), - - TestDataMappingItem(format: .expirationYearLong, expectedText: "2025"), - TestDataMappingItem(format: .expirationDateShortYearThenMonth, expectedText: "2503"), - TestDataMappingItem(format: .expirationDateLongYearThenMonth, expectedText: "202503") - ], - scannedData: VGSBouncerExpirationDate(monthString: "03", yearString: "25")) - - private let testDataItemMonthFirst = TestDataItem(items: [ - TestDataMappingItem(format: .expirationDate, expectedText: "0125"), - - TestDataMappingItem(format: .expirationDateLong, expectedText: "012025"), - - TestDataMappingItem(format: .expirationMonth, expectedText: "01"), - - TestDataMappingItem(format: .expirationYear, expectedText: "25"), - - TestDataMappingItem(format: .expirationYearLong, expectedText: "2025"), - TestDataMappingItem(format: .expirationDateShortYearThenMonth, expectedText: "2501"), - TestDataMappingItem(format: .expirationDateLongYearThenMonth, expectedText: "202501") - ], - scannedData: VGSBouncerExpirationDate(monthString: "01", yearString: "25")) - - private let testDataItemMonthLast = TestDataItem(items: [ - TestDataMappingItem(format: .expirationDate, expectedText: "1225"), - - TestDataMappingItem(format: .expirationDateLong, expectedText: "122025"), - - TestDataMappingItem(format: .expirationMonth, expectedText: "12"), - - TestDataMappingItem(format: .expirationYear, expectedText: "25"), - - TestDataMappingItem(format: .expirationYearLong, expectedText: "2025"), - TestDataMappingItem(format: .expirationDateShortYearThenMonth, expectedText: "2512"), - TestDataMappingItem(format: .expirationDateLongYearThenMonth, expectedText: "202512")], - scannedData: VGSBouncerExpirationDate(monthString: "12", yearString: "25")) - - /// Tests scan data. - func testScannedData() { - verifyScanDataItem(testDataItemShortMonth) - verifyScanDataItem(testDataItemLongMonth) - verifyScanDataItem(testDataItemMonthFirst) - verifyScanDataItem(testDataItemMonthLast) - } - - // MARK: - Helpers - - /// Verifies scanned data mapping. - /// - Parameter testDataItem: `TestDataItem` object, holds test data. - private func verifyScanDataItem(_ testDataItem: TestDataItem) { - let scannedData = testDataItem.scannedData - let testData = testDataItem.items - - for index in 0.. + location = "self:"> diff --git a/VGSCollectSDK.xcodeproj/xcshareddata/xcschemes/VGSCardScanCollector.xcscheme b/VGSCollectSDK.xcodeproj/xcshareddata/xcschemes/VGSBlinkCardCollector.xcscheme similarity index 70% rename from VGSCollectSDK.xcodeproj/xcshareddata/xcschemes/VGSCardScanCollector.xcscheme rename to VGSCollectSDK.xcodeproj/xcshareddata/xcschemes/VGSBlinkCardCollector.xcscheme index 6a550248..38446ca3 100644 --- a/VGSCollectSDK.xcodeproj/xcshareddata/xcschemes/VGSCardScanCollector.xcscheme +++ b/VGSCollectSDK.xcodeproj/xcshareddata/xcschemes/VGSBlinkCardCollector.xcscheme @@ -1,6 +1,6 @@ @@ -28,16 +28,6 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> - - - - diff --git a/VGSCollectSDK.xcodeproj/xcshareddata/xcschemes/VGSCardScanCollectorTests.xcscheme b/VGSCollectSDK.xcodeproj/xcshareddata/xcschemes/VGSCardIOCollectorTests.xcscheme similarity index 88% rename from VGSCollectSDK.xcodeproj/xcshareddata/xcschemes/VGSCardScanCollectorTests.xcscheme rename to VGSCollectSDK.xcodeproj/xcshareddata/xcschemes/VGSCardIOCollectorTests.xcscheme index 11da164b..c0e38cdc 100644 --- a/VGSCollectSDK.xcodeproj/xcshareddata/xcschemes/VGSCardScanCollectorTests.xcscheme +++ b/VGSCollectSDK.xcodeproj/xcshareddata/xcschemes/VGSCardIOCollectorTests.xcscheme @@ -1,6 +1,6 @@ diff --git a/demoapp/Podfile b/demoapp/Podfile index b666a5df..09d2926a 100644 --- a/demoapp/Podfile +++ b/demoapp/Podfile @@ -11,6 +11,8 @@ target 'demoapp' do # pod 'VGSCollectSDK' pod 'VGSCollectSDK', :path => "../" pod 'VGSCollectSDK/CardIO', :path => "../" + pod 'VGSCollectSDK/BlinkCard', :path => "../" + end diff --git a/demoapp/demoapp.xcodeproj/project.pbxproj b/demoapp/demoapp.xcodeproj/project.pbxproj index 4225d009..35a95d5a 100644 --- a/demoapp/demoapp.xcodeproj/project.pbxproj +++ b/demoapp/demoapp.xcodeproj/project.pbxproj @@ -337,10 +337,10 @@ isa = PBXGroup; children = ( 449FFCA728A505A100FE4A1F /* PayOptIntegration */, - 44D8691226205F670014645F /* CustomPaymentCardsViewController.swift */, 44D8691326205F670014645F /* CardsDataCollectingViewController.swift */, - 0351799E2858D53C00394BFC /* CardsDataTokenizationViewController.swift */, + 44D8691226205F670014645F /* CustomPaymentCardsViewController.swift */, 44D8691426205F670014645F /* SSNCollectingViewController.swift */, + 0351799E2858D53C00394BFC /* CardsDataTokenizationViewController.swift */, 44D8691526205F670014645F /* CustomDataCollectingViewController.swift */, 44D8691926205F670014645F /* FilePickerViewController.swift */, 03DBB7B3292FBFDA00F4DCA2 /* CollectApplePayDataViewController.swift */, @@ -479,7 +479,7 @@ FD12B9702304616C00B670DD /* Sources */, FD12B9712304616C00B670DD /* Frameworks */, FD12B9722304616C00B670DD /* Resources */, - 2D7DDBAB213ED83AEB98C86F /* [CP] Embed Pods Frameworks */, + AE13066AE7DCCC2EC779B27C /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -625,43 +625,43 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 2D7DDBAB213ED83AEB98C86F /* [CP] Embed Pods Frameworks */ = { + A283A473324A83860BE00B1D /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-demoapp/Pods-demoapp-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-demoapp/Pods-demoapp-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-demoappUITests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-demoapp/Pods-demoapp-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - A283A473324A83860BE00B1D /* [CP] Check Pods Manifest.lock */ = { + AE13066AE7DCCC2EC779B27C /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-demoapp/Pods-demoapp-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-demoappUITests-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-demoapp/Pods-demoapp-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-demoapp/Pods-demoapp-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; C3637F86567C1421694D51C5 /* [CP] Check Pods Manifest.lock */ = { diff --git a/demoapp/demoapp/AppCollectorConfiguration.swift b/demoapp/demoapp/AppCollectorConfiguration.swift index 1589f4f6..e083ecee 100644 --- a/demoapp/demoapp/AppCollectorConfiguration.swift +++ b/demoapp/demoapp/AppCollectorConfiguration.swift @@ -19,6 +19,9 @@ class AppCollectorConfiguration { /// Set environment - `.sandbox` for testing or `.live` for production var environment = Environment.sandbox + + /// Set BlinkCard license key to test card scanner + var blinkCardLicenseKey: String? = nil var paymentOrchestrationDefaultRouteId = "4880868f-d88b-4333-ab70-d9deecdbffc4" diff --git a/demoapp/demoapp/Info.plist b/demoapp/demoapp/Info.plist index 95c0446f..e4b47a02 100644 --- a/demoapp/demoapp/Info.plist +++ b/demoapp/demoapp/Info.plist @@ -31,6 +31,11 @@ <><><><><><><> NSPhotoLibraryUsageDescription <><><><><><><> + UIApplicationSceneManifest + + UISceneConfigurations + + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile diff --git a/demoapp/demoapp/UseCases/CardsDataCollectingViewController.swift b/demoapp/demoapp/UseCases/CardsDataCollectingViewController.swift index 129d8018..de1cace1 100644 --- a/demoapp/demoapp/UseCases/CardsDataCollectingViewController.swift +++ b/demoapp/demoapp/UseCases/CardsDataCollectingViewController.swift @@ -11,7 +11,7 @@ import VGSCollectSDK /// A class that demonstrates how to collect data from VGSTextFields and upload it to VGS class CardsDataCollectingViewController: UIViewController { - + @IBOutlet weak var cardDataStackView: UIStackView! @IBOutlet weak var consoleStatusLabel: UILabel! @IBOutlet weak var consoleLabel: UILabel! @@ -25,65 +25,49 @@ class CardsDataCollectingViewController: UIViewController { var cvcCardNum = VGSCVCTextField() var cardHolderName = VGSTextField() + /// BlinkCard Card Scanner + var scanController: VGSBlinkCardController? + var consoleMessage: String = "" { didSet { consoleLabel.text = consoleMessage } } - - // Init CardScan controller with API KEY. Details: https://cardscan.io - var scanController = VGSCardIOScanController() override func viewDidLoad() { - super.viewDidLoad() - - setupUI() - setupElementsConfiguration() - - // set custom headers - vgsCollect.customHeaders = [ - "my custome header": "some custom data" - ] - - // set VGSCardScanDelegate - scanController.delegate = self + super.viewDidLoad() - // Observing text fields. The call back return all textfields with updated states. You also can use VGSTextFieldDelegate - vgsCollect.observeStates = { [weak self] form in + setupUI() + setupElementsConfiguration() - self?.consoleMessage = "" - self?.consoleStatusLabel.text = "STATE" + // set custom headers + vgsCollect.customHeaders = [ + "my custome header": "some custom data" + ] + + // Observing text fields. The call back return all textfields with updated states. You also can use VGSTextFieldDelegate + vgsCollect.observeStates = { [weak self] form in - form.forEach({ textField in - self?.consoleMessage.append(textField.state.description) - self?.consoleMessage.append("\n") - }) - } + self?.consoleMessage = "" + self?.consoleStatusLabel.text = "STATE" + + form.forEach({ textField in + self?.consoleMessage.append(textField.state.description) + self?.consoleMessage.append("\n") + }) + } -// // If you need to set your own card brand icons -// -// VGSPaymentCards.visa.brandIcon = UIImage(named: "my visa icon") -// VGSPaymentCards.unknown.brandIcon = UIImage(named: "my unknown brand icon") -// -// //OR -// -// // use the closure below -// cardNumber.cardsIconSource = { cardBrand in -// switch cardBrand { -// case .mastercard: -// return UIImage(named: "bank_card") -// case .custom(brandName: let name): -// switch name { -// case "Visa2": -// return UIImage(named: "bank_card") -// default: -// return nil -// } -// default: -// return UIImage(named: "cloud-upload") -// -// } -// } -// + // Init VGSBlinkCardController with BlinkCard license key + if let licenseKey = AppCollectorConfiguration.shared.blinkCardLicenseKey { + scanController = VGSBlinkCardController(licenseKey: licenseKey, delegate: self, onError: { errorCode in + print("BlinkCard license error, code: \(errorCode)") + }) + } else { + print("⚠️ VGSBlinkCardController not initialized. Check license key!") + } + // // If you need to set your own card brand icons + // + // VGSPaymentCards.visa.brandIcon = UIImage(named: "my visa icon") + // VGSPaymentCards.unknown.brandIcon = UIImage(named: "my unknown brand icon") } override func awakeFromNib() { @@ -124,7 +108,7 @@ class CardsDataCollectingViewController: UIViewController { cardNumber.textAlignment = .natural cardNumber.cardIconLocation = .right - cardNumber.becomeFirstResponder() +// cardNumber.becomeFirstResponder() /// Use `VGSExpDateConfiguration` if you need to convert output date format let expDateConfiguration = VGSExpDateConfiguration(collector: vgsCollect, fieldName: "card_expirationDate") expDateConfiguration.type = .expDate @@ -172,9 +156,13 @@ class CardsDataCollectingViewController: UIViewController { } } - // Start CardIO scanning + // Start BlinkCard scanning @IBAction func scanAction(_ sender: Any) { - scanController.presentCardScanner(on: self, animated: true, completion: nil) + guard let scanController = scanController else { + print("⚠️ VGSBlinkCardController not initialized. Check license key!") + return + } + scanController.presentCardScanner(on: self, animated: true, modalPresentationStyle: .fullScreen, completion: nil) } // Upload data from TextFields to VGS @@ -227,7 +215,6 @@ class CardsDataCollectingViewController: UIViewController { // MARK: - VGSTextFieldDelegate extension CardsDataCollectingViewController: VGSTextFieldDelegate { func vgsTextFieldDidChange(_ textField: VGSTextField) { - print(textField.state.description) textField.borderColor = textField.state.isValid ? .gray : .red /// Update CVC field UI in case if valid cvc digits change, e.g.: input card number brand changed form Visa(3 digints CVC) to Amex(4 digits CVC) ) @@ -242,33 +229,32 @@ extension CardsDataCollectingViewController: VGSTextFieldDelegate { } } -// MARK: - VGSCardIOScanControllerDelegate -extension CardsDataCollectingViewController: VGSCardIOScanControllerDelegate { - - //When user press Done button on CardIO screen - func userDidFinishScan() { - scanController.dismissCardScanner(animated: true, completion: { - // add actions on scan controller dismiss completion - }) - } - - //When user press Cancel button on CardIO screen - func userDidCancelScan() { - scanController.dismissCardScanner(animated: true, completion: nil) - } - - //Asks VGSTextField where scanned data with type need to be set. - func textFieldForScannedData(type: CradIODataType) -> VGSTextField? { +extension CardsDataCollectingViewController: VGSBlinkCardControllerDelegate { + func textFieldForScannedData(type: VGSBlinkCardDataType) -> VGSTextField? { + // match VGSTextField with scanned data switch type { case .expirationDateLong: return expCardDate - case .cvc: - return cvcCardNum case .cardNumber: return cardNumber + case .cvc: + return cvcCardNum + case .name: + return cardHolderName default: return nil } } + + func userDidFinishScan() { + scanController?.dismissCardScanner(animated: true, completion: { + // add actions on scan controller dismiss completion + }) + } + + func userDidCancelScan() { + scanController?.dismissCardScanner(animated: true, completion: { + // add actions on scan controller dismiss completion + }) + } } - diff --git a/demoapp/demoapp/demoapp.entitlements b/demoapp/demoapp/demoapp.entitlements index 39542ced..0c67376e 100644 --- a/demoapp/demoapp/demoapp.entitlements +++ b/demoapp/demoapp/demoapp.entitlements @@ -1,10 +1,5 @@ - - com.apple.developer.in-app-payments - - merchant.com.vgs-checkout-ios-test - - + diff --git a/images/VGSCollect_CardScan_SPM_2.png b/images/VGSCollect_CardScan_SPM_2.png index 7000a385e1c78e0db711ece88d9ebb18eebb93c1..2d8f0ee829968566dc06afa95c7e8db7d9980662 100644 GIT binary patch literal 193622 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≻eih;hCPgnj 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 liFpP2>;zUtjm3;J0eT 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�rE0rpNB*Xt!0}Btx0S{Z-0h5n+^258b^Azu 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 O|J0SWl^PUm!v8-sXiED4 literal 55497 zcmb5W1z26Z)-H;BaVS<6ZpDks!rk3nODRyS$SM?fcXy|_TX86~NO5NY72IJ_>`cDz z+xy?=oPD2r?|kMnnJbw|MlzC-kvDIMP*;_EhCzk_2M6~|L0(!D4i32-4h~Tj4FL%8 zje-=x!7ausNK0sY!5^%_hxSVlj-0-a)2qY}WX3ZOz+%p1AfD7(fY)6cn>lTRJ_8;{YftO)9p+#55zz8AIj5o)h%hwK+ z55}jXsfWcFpmm^0Ya=Sp-B=w_q}JS4uaxX(+;sKA2}33qZ(X!?N|gDs=>3_Aqcm(e zN#dW&CrXp%P0HmiJGCZHQy%{0#dt66Jq>W#e;wZZ+Ts=~oRgSG`666wBxp;8MT z4u=qM+05(UI6b{A_-ikqDq$fq#v#dD*KlmD~FMV0uJ$@RuCM8se0)GrtRXu3d~#X~5^wcXJe z1*VCj*>XV#_* z#Guv*E|d=pL<`rhP_Ix#(^l~R<-0nxzt|WfD){kob8q5nhUlwTzv|Wv-W;~H93MOH zmsM0K{Fqu@72)9tW*(Q4lapInS)rBn_4j{VU0od;8#_2))vBtfU}lCiwX{531O`}>B{<^bv1FU(9# zmNwSb)(pf=OmZX<#rrS`2na&@QTf(KMo@nsR0I|m>)?Um$k+dnl9EoN5w#?d7Z2j~ zjSJ`I=DM=^`}>!bmeTZxWg~|lsFSFEpRqaqQYN0AlVgEI%+4T;AA5CqIVVeGVPzGR zO1+qolJmK%YlrOa?#{f*j=uM2YaHamhq?LrpANf&4mdbCZt%K_cLkhPhlg(~k;XE0 zs8@~6%&LAYFO!vxKm44sg}=SM)g@Q>-lsW&=z@ZRB48L46vQ%}s^R7DKM6uev9`05 zbD~v{lXP@)YG8m?#K$KH?6aVOzJ?#LLCc+-o!ttR{}?FVMr@|POW!T4rbCV02CN2f zx19u__l5AGp!`H#ST-&@=Qsao1K+hDP$?;C^dgAj4dZtK9awm}_iC#V`Yw8Z*>Byv z>lEGfm~+qcx{QOp@RNYO(}xGA5GDzd)(W)|t?iwi;yX)Ai=VPDnK+unhW7Rxps3y{ z5fD3`9NbTDv!kLg-^4LzRduwt*Rym_BFCFBMZDz32V?M;7Zgaai@6dd=b^DyKBdM$cS){4CSCM zp7=-26wkrQ9-91nKW*di>?2rCcR0FQ!@9dgqxBmMx5i@eh?e(OZ9jK+8&EHN{>?lX zgge{2=0OyKbCmt^UhB`FKP)kJ594TDw>C`p2vp8dVPU8*t+RJ{b`KBfX9In0+bKug zzoLVTg_VK?z+hcm=`UqrrX(-{^^lOsGJ6Vk+YcYQn-Hsi?C$R7=2EU|Qi4Dp*EJTw z<}6mPl4ny1h&&+qQOs!j`XQJs}qF!P+D1&cA!%34r9I~)Bi9TOM#Cez5s zXz+MbJisUbV`O;PwLfe=n1wiXVNm`iFq^;cJ~gvY#>Z{d;2K=LUPE z7VCKTr;(zrukGdSogw(I4$?2DFflp#Ewy*-PhR({%~_h|{u3P1Ht{qxrdbuiUOYUS z03-~d$Vwz4ndivG7$NFtZTx@W6{I!AeuE8(UzE#(Q|({ZaV>N^tHxN>cg@PcPFJP4oz@zKU9Xx-rz;YtNx&VN-}s?FC}VQQ3+ z!U((C7)J_FsKGQp4?=J*5Oi=9gQIt}?7{@X?eIFzX+#9moub*QOOnbPIy;>16sFR7 z`8}AbH6@A{UqoIXZ&cZ^s=X-GMKk$wm>nArOsNXt1Ti=AWfb z$$xK6#kipyzdqPUWMbt(t559ei}|to1pe`ln6IxdYn|I$%AKL8=QFqsf?Y+!(T&$H z1UwH&>V?XYm?3qZ-^59C99T0&g~18z?!pIKyA;YvygZ=Y8JGBgd2~>!9t8yjj~R6p z4W*EZQ7JO+%y7YI&h90*HSJ68czK!ySvf3PYfD?Ot{p%;`OHdbvm z`tR+6$#;L(8hG}P&|qm(ius9jx=%i;eD6^@ZG^VgcVKo| z(_HlJ9dCTr>K}poQ`{iE>i(GnlbzMc@1ZOE@7pOW%d_ zvB$LU^2pU%OpD3Lu+B9H(?Vb;)XC4OjmywVo`b!@gZfGL1T?iInT!2D^R?~oya`#v z<3{B;-mHuduAUp4EV)yY{zr?1^bl+64l31G9k-L%q2hYArZG7;Bdaip!8g^a_2Q1x zJ@xN9joBdjC6e_DMLtv5GYoj5!x`1)zTV8x0ZuR$H=T!PCj7NeQnv8>i9W|YOBD5j zBqDIC2(z+sreZm~G)%)s>Pp(3x{qc7*2UjQ5_B5YFDG{DgM+sZwy#(bw5JpQF8Q-D zPJ!v;Phlp=SH4=_vtJEbT9Q>c4}AQe-Ay(oFZw3u$8O_KbM_zl z$arO!8a9*0VHV4#mIuxeDi?ii=~4a6N(rg=8A+6F2o8;%#cB3b)2SJ!PcqQTE;LSk zCAQnjty4Jk^pMdiy;|M87qn{K8fCF>7HW8d6l9`Rcpfl?r6HqY`oT2>;NQtyUYge8 ztO_x^6m^vx6wSQ~E)QnwcTE_-s@(F;eYXp+`K5WrNTc>Y+L+3)X*EZp+nR)% z#Pl5gtj=t$&TaLvcnwjar}MR}xkv^-|BJq{#+D)$GV|e{cMLz^>O&9$e)OZRN6r@n z6E_|mT$NFY6}DQ{eft#j<+;|Llp-vDm7yh1)Yo$_e3m3PZJ5C7D*_ekLQo@fvcS77 z>BbMe_)w`VqmFa^(}0jcB&oLkD*y0KaysTZHChN2hVl#LSzI5N5qTB#GdbxE>aop$#n_;&ZW(NeLvyVDsa=a}=#;4y&KNe8654_D670y!-HRftS7V&gX@jJmY4!hJaT66s7{MUQuC0@@& zC*oALsh3T)UJY+!R&YSzyUYEBkco=!L>jCpXotYZ;^(jP;L|P725BGcV%Z46ACn^& z-*Q%=f*V$uuL@PZ#(gEs+xuN`GTlmBU^d5y9Ech-``wFaBIxU<}#W z!O|;B5>d36xfpU2T!!!;{$Lu#$D8vqVQ165v#Y}ufdgRb5?lkMX8sjHd-0Cpd2Ob+ zyPPGaFnOn|?4c4l6fu@Ua4VNAr*s0F>4oFLwAWmpwAWTAHbec!TIc)ScS^z4{D-I8 zBW2VMq8~$Lyd|xPU0m)IMFa?f&J!iX85b7A(MziCm8h^{hf5HrkphBd3l;-*o==2d zNQv(wZ6~JMLF{W+l<=+OlWs2e(>5gK+CJR!IiLjq)ydt-Sm|BBdAf_*q4w3qnmJ$h}Y&sMSJpn z#OCua5`H&lKeYd4ozOu_k~0CFWxOwjYnCxCNCM7N*0doi6cT8>5&JDf;IGk~@<}is zkR84p>H7!;jNs&>B}~xAHI(U0lh;~y{3pJ!lY*#~UijT}{DPjK*UT{n_@aY*1X$FE zG?_58?-8i{xyNB!7rQf6HoQ8Gl(LKQrq!YOFB}zNoGd7_Nk1;}0G}IJfjqPS_E{a~ zG7&|S`Q=3gGxR~V62*{=cE-_Tp<*F&hXc6+rKwWk%#Hbypik?Bdn%~(Ka~B^cSyjG zQ!bw)RzN@?JQ*p7l=zDQaqgwA^{$bxyb?K@-wAKD`lnW}bdRXJvmfJ4(SVPds2*K@ z6NY@FRi-*bJin5K?B5a3BnnscO`C#;0W;n5Yi5Bt7W6r3)xi?4kp-%yk~Wdy`9w=2 zucCGLnmCzyEgH9!fj+|Z5U&f;fgvF{nnlnAE5tm&0)Dhol4Za6XCHYW)PWGb8bnBD zDZgEGdwtAtou9*vYnYU2u@{Ex`%3!TCHb7z*5Hmt8Jwlpp0KW(ybj7r^B~}xS}4bV z;p^Hzcq0>#!p!;SEHVCj^7_s%%_GLZyyvzY92GS*>i?s|6{*k4g=&6280F|~aOM|n#m~|E$c5d6@94+wh3!7S+eS$c(I=)Z=CcQL??cD*+6*0x zVE$tRt!OIVO!wc;@KhiI0+ai-qO1@dTm*rNw<>zQ-J7Qsor4{;oOO`rCyAStrGkWD zlHPQYQ3XiCSLWEdFTw80FpT9@l=t0hNs@`13K})sPMKNRN)dVC{&yBE4=D^eut!xAHR-St-reZ zDRh4OA?R05$o+BGBm#g$oDNL`*aJU9L-6Uj@cHPdJhAjTc<|j_O#UNpNnBi9`vPt# z2MDalc`5!Evfz^ztv>sw4rOdVrN zPjqaoshL?`b~eR}7oV!DgUO}*^*-qW3;wEw{Q_P{a|Qep!tsQ2K!L)5te#$R!B5Y> zg8#38|NFcDp71}v``-$HVFP)`)BXj2J>o!VSww-~e-{&s^H*ND;D3t#TMnqyUqbym zQt?T+{~q;U)5SfZZ~v;z|Ce+{Pk`Rv^8dex@=tk8KqLPDtHKj<^?!ch_`t@rM z4-ao|ZwCjKKPkZSv8t+yPQlaDlLn)yxjE&9Z`n+RHVfW>R_#J#&^Pd0Qc@D$hbrAF zg}U~3Qa}nsTrdW~$m#O3Appp^t#51qOBNh#Yz78~!t9%y8=khVu4oMD&NbDbkdTmY zs6ry$Gg~`5+CMFAZRseVbYB8;p-@2xY4^#>%F1?+*H%}xS%?4y;DST9fC~zRUR|{y zLANoL4-?=4919I(XJ@w?mX?;LTh-jzx#Gxoe0203XL53K&OrxA6&xpaeQ}YD@{S^n z3UW77A z#un0Ft<6Fcpq<34RWU1O%T0nM$)H*D&Gywo^eBB2fTJE?lb;`Y`hxSqL`blDvbGIN zYZmsoGSeP%-W4CbqzTz|ZO`Qc>q`{R?z%hZ_C7mJ8Gypx;@zZz){oy?#O|GNQO5cI zI!V?T(XEmx#(EYbO@l&ykiuq{t@9N?LKW3iH_rtgo4BEyL_}qv$jRZDxD8pALj63i zh)g7I%O%@JQjySNAwrD$YkA%Wep3qBC$PSaQ5_H;)91$qRHlXEzt5S+Bxy3y-`+B5%=PV)}M9Y_$Rk z*llZ0;YJ^XH}92ebYJ$VmCa;*lWiQete@hUpvwaX7Q^$@xueWvdc;>S`FDE+-~Vt8 zpnBJB3P9-3eeE`(I_Dv$VpS>PbRqZ_AuNjU7)l8;M)(zD4}1zbg^DSPDcW=jiISM9 z2cOSw7opoL84EDg_s*LlUd?Wk>lqmto$J3cUQN!5ih3UCGY4RWrR7g2%Q32E|IUqdkVW0+e5U-m_8e*4gUqdu3>VNZ~!!;g@rNsxzH9qeo9E%ZL#x1KXE zP9jaAgv6n2($Vuv8@IVo4~7E^xGzXPK?!_RBp&)I!|KZMjC&;Ff@)=iUdYt#djFO)GuLxpIM1Iux=!5a?YdmYIzqyRs8JUzHx& z?Qd>wZZVTn&=;@iaq_r_jEPc#rQ&kvQ#JmoO-S6dgy;1hSzBZN3uXssP+FZur_~5H za#Xz7mZ|8+j%^l6k@nx&Im{uoW}o?li(aP7mBhc$<2&bfT>OY@UZ$(7J0{EjBl~v( zykv>|lsPEZKT8QAA=eb+JUtN8oD?WT@YDr5MVPHQM+=u3! zt!F9tj2JA$kl<{$((-nEe7q!^bVtsXn(6uV(VEl@w7F>meD(oPtLXjrf$}rwGw`UK z`EO&@Qf&ARtCJXVei)tiD^z7z&vJj5{q>)vM!S;i5*hN*e)Hd^JrDzojc#8(|4`kr zu>vj%IWlK@oNVqmxusASUgdwab3*?}TfDp*&;4;QPAs}Uw$pl-!I-E$Ts|&CdDy@? zZvWY6(@Bkarb(I1N4H-S62HXXxqMtm;cP%$4MN5xvca@JN$wv>VpJ1}g~z54*rXN6 zS~@O)$Mv9v*Jk6SS&`*Nu%l;4GEmn%FkyrA_T*P2vWp^jID`%CpY%7WW-@nqpO=-!o9K{cirn6Oj75PKIZg=AmiAuE$97nc?;F(YZk;3~yN(YacP$i0 z2<5VedD(C%Q}okn!i^O*h{o{M$^>;WI;`G4U7l z7F@0lme`>Khg&D%h#WtulJPxNl+cAcLeanBrKP6&1i`m5CgZF1_1c-IOQ3n(!QP=$ z`9Jvk7p{ME!UPqM@U!T=aTiRJqZsX9VT8b#4g}iEU^a95>m#60Dadj1HT^l-;ZcFp(Y)A8`#Z zK^{Vju$SIl%u4?lL^@3v38;7jHOG=Hc;6A(TPP754*8Ggz4%boX+*X6C^ zQLy}&4Z3X#>^9a{|3W+U;`~03iG1j8z&fVoB;eEQd&1D7d%1Yu3)3MNJW3m~K-Og2 ztm!FwNOVodGZX9Dd1I!fxJ$A9VZobkPsF3AYgWV;)i($duW0op%?Ta_&rq zi`0-O`P2U`KLRj@z>6Mc$eQ0Ud_oF&;n;Hzh`^&F9Q68Fe2ZimH{E@_=DgWLTza5n zi{LXAmrd|!8`<^4mM#gItZL*o6)7LTH1VEH0iTB=G{_yL3;m#!GP1i_ic0BAg;trQ zNp;xoXif-S))D^E%C4hwa|EiA12)J6A?IU||uKexz{x9L$ODM0Z9dfK3R-eRdfl!!Y$~^dgTrBu+!` z3{5NbUuGek5Il^^7a*kQPz{G9d@gc%2dOH*uM>a{7=V5Wh$(<89fQgUGI+;;-S7F+xAXs`B zi31&W5_W^BzqefmMMX-Ac#C3ya*{|4n#_z1?pST}En^QOyosDeJ#{30%NL;9w!!ATwc}#E4U=r0D%jH-*L9 zv_I~uf`NV8I)^1gJx;ys)MVFMTeOvSKn#u@ElStlQ`7^SbhgjLdrJwy@`)QwueDTI zCE5*8h<8kIj6H?DwMUYD4ebj)gZcUSUqkYr1t1Bdftog|guGvMHMM$r)s~6C*tnmc z$U@bFbWl44Aapq!E|ExA_9d>Hd@_uW;b(s)o*TYguo=92WxokHl`TOPLi!Z%l$q5d@)}gVwYho$?Qu$La{#p!og7ok{FA5!(%v`Y!0VGlA6N01l z?c2R9@5dMy=Ah^ooArO*_x+m8d!LoYIni#ekgq`#!y$rtBw-dE?3XR*7J6&eWXqXR z!UjQ$)#xp6_w5f2=?V(N0i{Z^qlORwn`dro17l-~E}7aBb$y(g*u;2WrM+~J2%Ct( zt5bZMMKd+a1r}sdk=*L8uXne4f$1U&*iPVjS0~}DVPa}(OVrHV5!1IZIPAh5IB~|p zZkpnm$v^m01fH5C@(oBzEnuJ@Ef4&GEF)A&Gg^E6cgEmvG08)owoy0tDGF3N6o+7| zbF+Iz6La3>B(OS6++5P=BFVbvceQ67&^0`2r6fr|6@I?EKmGA{Pl0NM=Jt2-U?md# z<#+<-78o1Iq-zc!cunTk1m6&xR#}xHoHmdBREzGuV!t*5BSaML48dA-$(VS~@3`O# zX+qbQ#G@m>hBK7_q&C}vyTWYa(FPG34NMSnI$`nv8XUuhPNyZo?IE;*#B?iy`tMm1 z^_8IxqMl(^;R*@jUcpN98$Edp&JPv6+1P}U9cA&0LIN0|`y_qxgh0($u@L(HZLve; zfU9C0V4q&})5ZZ^OGun&EgqGK5aCCM8G1-`Yhsuh=?zu5Tqe6#;=i;G40PGBrkH1k znR5e6>im4p>l7l=cntmXC5lL^&7QJwJ4souIOqqS@#F>^W94RK7#JF|sHUFLkE(r0 zqx+>b3QC}0(KlzaP>#ubS1>OAn&H?bXURJCjHoW)z|{T2WO#&NcXO3peQTV??^HIU{GwC*sRCM3W`0z+-wlb+#8XZv zBApmr?Kz z$8?!ay&;N2R7J&D%6reNAz>xy$DGGwxOn$UHKLWH{691VE~bV9>;id0(;Erzu&PR(sF?G-OOV+#@1M_}L=G|HGmDjDm%P@3k|E z2V(@I)eTCL&*PyXY4^S5&X&mUxO`^oPb8E70zIe5tSd>r!X)ja;E$9?onrFy0S9qE zv~35hZ+K+l^VI1rryH>eAa&uxFewDSrUBa78p)HTnuJp^r>)!k_v)CS zPa#=Y0DUX$gc{N$1;M&6xbvkLm<~9cUmRc3ROpcZ36}LXa}9af$Vz z^d#V)WT)A(Mbo}E_4*?Fgr64n4?R0q4zF(SZ5s_f>7EYF3$sKPiVU9}kGyv%h~X#w z3p#m1>HdvM0q;+6%KsMjf5J+CM*<&y)cYHB0|a`)s{qOV=Ar$?LHh_);VHL&M?NL^ zpD?bPCroTpZ}3P zuHN0IlfT@`X3)RQA777aeLEMq*QE4-Ny%s=+W`cu{wjnwI*D|zGqF*EPE=~I`+8p3 zGvNlmgY%CsV0l-O2nUZOQ%>wbCy7QMh>MVji>we}N{e=hf}Q{;;}bBo`U^bV(K%6= zv*PgxDz9xGxBZ-P!{42e<;g?VZCa~2W?CCYe8C9UCkG6r63u%3ud%3aKX1$=#K=n7 z=l_XA?uPhob3ljsn#q{j_lzzjH5<`Tb@Kl77GQn`{o2 z1L*k;cZRZ14l$f+h)v4g_a(=9A7~#SN;$+5EEFs9C zaQIKb>b_VPzO@Djdfx*j3#cv{{eWKZRI)u^)>-?Zr_$-*=VxH2)+|VkHcPuGOnn3V z_69E&>7z}Gk1D`>WC!DdW<{e>hzSb-TGFvhFU!K;Jw2 zj(xv1zXew1D=qIGtpxS0np)mwT|N}59T1Q%wZ7s$Di_|mVJqERtu}h@_DW6Ed*Vw{ z#u!s^ovVD<3r`ZO$;zr4Lt=0;L8k?OMY4F1$AZaqIBhJ|eadq(-4Kcol6`T4KhtCQ zmYLQY@-BRl70!YKiw^E~)%+`;gL5HgU%vWXuf4ZB7rgtvsibG>ZDY#Oy6OrUM`z5A zPgR6&w)ZpUxZ^)Mi{RyqOQ60OyumNY5R~eugW#D_M;$%)?5Tf{t!`cS(QH!{{6Pq= zp+OkFFkpq?u1c_)>W^Mc`n+<$KV=;+uVFSlZr$)JZyjxuXJqT3vbqZ z$=8;BZ;(K3@TT6`D*AOq2o5G_>*4k|P6bN|&*0mIjQ(J?LF2>YTA$|ZPv~G1jLWxTXAfRi6(W7mM~eHfSaWj|p@5DzbbvcI(Mh7^6C9jR6$RMGR(zY~uPq-d`_%e)#idy{7wW zc{;ic9RZWH>;3ZUvg4jx)xK=%fj8;x&`@%hF+IcACHpm*4j`FWFwJ;1i#wyvcr4L%b2_Rqrv(v;HDPwKLw)m#DTWBrY`)5Yv zS50ZDA3>$k=@02iL!DvAsQlh-E{uXpF4-HpeaEC@N#IBp>lDe=GGH>=2# zRpiaOIK6-@k)^)h`0zeSg|9$L_@ozcE}G-h+1p^QVSQNLN#F5~pxe*j4}kN+l3-B&4sCYvL6v zmhWlmocD~nLUMRGQ7s{ur$j1LMD~LRU-m1M_w*u{vsxBrHYqyRJ02u}D9_CxT&$IY z1+>o85bgEwhiwWHD=4j8#$ihT2%v*%+l#BQ@QQ!BLIPU!=xe0GIX$yad?`3&nUdS9 zSn$Q4LU1S$ZMwgpDFzlvU_y)5-@f!x#BeT{S8&MVwo&x#2_`9fN7I)eM_F;x$g(j^ z0<^Q2;EHqSF5Mkq5SF@VxJ9BmwAv%fQHNAGZTd>jCxkiHQx{azPN)|xoSO$pBQlcc zlytct_iI1rVwYd9y2UNqZ5K9J6WzMFBLr+|!jJWb)kK5wu_y%8*?6<<+!z$?RARn! zC;Jvk$z_P(E?ZpfarNhKv_ntkt zIMw{Ximrx#YNrpw{nHE@=#pJ^?zxdQ3JJ#1`PF|@LkvEvz?nOqT9+0IJWF7Wm9qas zlf%VScREa-77{1x^!fg(sU-A#R{nJMU?HUKa^A>_;4Rw3!6#B`a-bG>vKRi)0TN75 zrP|$u@bTb2=_^}+ZD%mvH2I{UQ-bC2%8dSPe=1Ba-Af!p3tYSV&X)eL%9bCu+GP?! z#Qk#JE4sg9OV#q$?HTc8f017v2+P<`=DvMW3A89U1ZQr!YY#_XNx6a){>LjJbk^sR zFI=}IG=cqu#roG@;(VZpAEM4+a=4HVJcM!?I@tDMH%07j+88y$r5Y;4&oLZ!IH_4ds61|asHoC5aB#*7YH z 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 NkP?#