├── .gitignore
├── .jazzy.yaml
├── .travis.yml
├── Example
├── Podfile
├── Podfile.lock
├── goSellSDKExample.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── goSellSDKExample.xcscheme
├── goSellSDKExample.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
└── goSellSDKExample
│ ├── Cells
│ ├── ColorTableViewCell.swift
│ ├── CustomerTableViewCell.swift
│ ├── DestinationTableViewCell.swift
│ ├── FontTableViewCell.swift
│ ├── GroupHeaderCell.swift
│ ├── PaymentItemTableViewCell.swift
│ ├── PlainAmountTableViewCell.swift
│ ├── SavedCardCell.swift
│ ├── SelectableCell.swift
│ ├── ShippingTableViewCell.swift
│ ├── TaxTableViewCell.swift
│ └── TitleTableViewCell.swift
│ ├── Controllers
│ ├── BaseViewController.swift
│ ├── CaseSelectionTableViewController.swift
│ ├── ColorSelectionTableViewController.swift
│ ├── CustomerViewController.swift
│ ├── CustomersListViewController.swift
│ ├── DestinationViewController.swift
│ ├── ExampleViewController.swift
│ ├── FontSelectionTableViewController.swift
│ ├── ModalNavigationTableViewController.swift
│ ├── PaymentItemViewController.swift
│ ├── SavedCardsTableViewController.swift
│ ├── SettingsTableViewController.swift
│ ├── ShippingViewController.swift
│ └── TaxViewController.swift
│ ├── Extensions
│ ├── Currency+Additions.swift
│ ├── Decodable+Additions.swift
│ ├── Encodable+Additions.swift
│ ├── Measurement+Additions.swift
│ ├── Notification.Name+Additions.swift
│ ├── UIBlurEffect.Style+Additions.swift
│ └── UIEdgeInsets+Additions.swift
│ ├── Models
│ ├── Color.swift
│ ├── EnvironmentCustomer.swift
│ ├── GroupHeaderCellModel.swift
│ ├── Language.swift
│ ├── PaymentItemTableViewCellModel.swift
│ ├── PaymentItemsTableViewHandler.swift
│ ├── PlainAmountTableViewCellModel.swift
│ ├── Settings
│ │ ├── AppearanceSettings.swift
│ │ ├── DataSourceSettings.swift
│ │ ├── GlobalSettings.swift
│ │ └── Settings.swift
│ └── TableViewCellModel.swift
│ ├── Protocols
│ ├── CaseSelectionTableViewControllerDelegate.swift
│ ├── CustomerViewControllerDelegate.swift
│ ├── CustomersListViewControllerDelegate.swift
│ ├── DestinationViewControllerDelegate.swift
│ ├── InputFieldObserver.swift
│ ├── PaymentItemViewControllerDelegate.swift
│ ├── SeguePresenter.swift
│ ├── SettingsTableViewControllerDelegate.swift
│ ├── ShippingViewControllerDelegate.swift
│ └── TaxViewControllerDelegate.swift
│ ├── Resources
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── gosell_icon_1024.png
│ │ │ ├── gosell_icon_120-1.png
│ │ │ ├── gosell_icon_120.png
│ │ │ ├── gosell_icon_152.png
│ │ │ ├── gosell_icon_167.png
│ │ │ ├── gosell_icon_180.png
│ │ │ ├── gosell_icon_20.png
│ │ │ ├── gosell_icon_29.png
│ │ │ ├── gosell_icon_40-1.png
│ │ │ ├── gosell_icon_40-2.png
│ │ │ ├── gosell_icon_40.png
│ │ │ ├── gosell_icon_58-1.png
│ │ │ ├── gosell_icon_58.png
│ │ │ ├── gosell_icon_60.png
│ │ │ ├── gosell_icon_76.png
│ │ │ ├── gosell_icon_80-1.png
│ │ │ ├── gosell_icon_80.png
│ │ │ └── gosell_icon_87.png
│ │ ├── Contents.json
│ │ ├── background.imageset
│ │ │ ├── 5840375-nissan-gtr-iphone-6-wallpaper.jpg
│ │ │ └── Contents.json
│ │ └── ic_checkmark.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_checkmark.png
│ │ │ ├── ic_checkmark@2x.png
│ │ │ └── ic_checkmark@3x.png
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ └── sampleAppleToken.txt
│ ├── Supporting Files
│ ├── AppDelegate.swift
│ └── Info.plist
│ ├── Utils
│ ├── SerializationHelper.swift
│ └── Serializer.swift
│ └── goSellSDKExample.entitlements
├── Gemfile
├── Gemfile.lock
├── LICENSE
├── Podfile
├── Podfile.lock
├── README.md
├── docs
├── Classes.html
├── Classes
│ ├── APIError.html
│ ├── Acquirer.html
│ ├── Address.html
│ ├── AmountModificator.html
│ ├── Authentication.html
│ ├── Authorize.html
│ ├── AuthorizeAction.html
│ ├── AuthorizeActionResponse.html
│ ├── CardVerification.html
│ ├── Charge.html
│ ├── Country.html
│ ├── Currency.html
│ ├── Customer.html
│ ├── Destination.html
│ ├── DestinationGroup.html
│ ├── EmailAddress.html
│ ├── ErrorDetail.html
│ ├── PayButton.html
│ ├── PaymentItem.html
│ ├── PhoneNumber.html
│ ├── Quantity.html
│ ├── Receipt.html
│ ├── Reference.html
│ ├── Response.html
│ ├── SavedCard.html
│ ├── SecretKey.html
│ ├── Session.html
│ ├── Shipping.html
│ ├── Source.html
│ ├── SourceRequest.html
│ ├── TapBlurStyle.html
│ ├── TapSDKAPIError.html
│ ├── TapSDKError.html
│ ├── TapSDKKnownError.html
│ ├── TapSDKUnknownError.html
│ ├── Tax.html
│ ├── Token.html
│ ├── TokenizedCard.html
│ ├── TrackingURL.html
│ ├── TransactionDetails.html
│ ├── Transfer.html
│ ├── _ObjCMeasurement.html
│ └── goSellSDK.html
├── Enums.html
├── Enums
│ ├── AddressType.html
│ ├── AmountModificatorType.html
│ ├── Area.html
│ ├── AuthenticationRequirer.html
│ ├── AuthenticationStatus.html
│ ├── AuthenticationType.html
│ ├── AuthorizeActionStatus.html
│ ├── AuthorizeActionType.html
│ ├── CardVerificationStatus.html
│ ├── ChargeStatus.html
│ ├── Duration.html
│ ├── ElectricCharge.html
│ ├── ElectricCurrent.html
│ ├── Energy.html
│ ├── ErrorCode.html
│ ├── Length.html
│ ├── Mass.html
│ ├── Measurement.html
│ ├── Power.html
│ ├── SDKAppearanceMode.html
│ ├── SDKMode.html
│ ├── SourceChannel.html
│ ├── SourceObject.html
│ ├── SourcePaymentType.html
│ ├── SourceType.html
│ ├── TAPSDKErrorType.html
│ ├── TokenType.html
│ ├── TransactionMode.html
│ ├── URLStatus.html
│ └── Volume.html
├── Extensions.html
├── Extensions
│ ├── Address.html
│ ├── PaymentOption.html
│ ├── SeparateWindowRootViewController.html
│ ├── TapBlurEffectStyle.html
│ ├── TapFont.html
│ ├── TapSerializationError.html
│ └── TokenizedCard.html
├── Protocols.html
├── Protocols
│ ├── SessionAppearance.html
│ ├── SessionDataSource.html
│ ├── SessionDelegate.html
│ └── SessionProtocol.html
├── Typealiases.html
├── badge.svg
├── css
│ ├── highlight.css
│ └── jazzy.css
├── docsets
│ ├── goSellSDK.docset
│ │ └── Contents
│ │ │ ├── Info.plist
│ │ │ └── Resources
│ │ │ ├── Documents
│ │ │ ├── Classes.html
│ │ │ ├── Classes
│ │ │ │ ├── APIError.html
│ │ │ │ ├── Acquirer.html
│ │ │ │ ├── Address.html
│ │ │ │ ├── AmountModificator.html
│ │ │ │ ├── Authentication.html
│ │ │ │ ├── Authorize.html
│ │ │ │ ├── AuthorizeAction.html
│ │ │ │ ├── AuthorizeActionResponse.html
│ │ │ │ ├── CardVerification.html
│ │ │ │ ├── Charge.html
│ │ │ │ ├── Country.html
│ │ │ │ ├── Currency.html
│ │ │ │ ├── Customer.html
│ │ │ │ ├── Destination.html
│ │ │ │ ├── DestinationGroup.html
│ │ │ │ ├── EmailAddress.html
│ │ │ │ ├── ErrorDetail.html
│ │ │ │ ├── PayButton.html
│ │ │ │ ├── PaymentItem.html
│ │ │ │ ├── PhoneNumber.html
│ │ │ │ ├── Quantity.html
│ │ │ │ ├── Receipt.html
│ │ │ │ ├── Reference.html
│ │ │ │ ├── Response.html
│ │ │ │ ├── SavedCard.html
│ │ │ │ ├── SecretKey.html
│ │ │ │ ├── Session.html
│ │ │ │ ├── Shipping.html
│ │ │ │ ├── Source.html
│ │ │ │ ├── SourceRequest.html
│ │ │ │ ├── TapBlurStyle.html
│ │ │ │ ├── TapSDKAPIError.html
│ │ │ │ ├── TapSDKError.html
│ │ │ │ ├── TapSDKKnownError.html
│ │ │ │ ├── TapSDKUnknownError.html
│ │ │ │ ├── Tax.html
│ │ │ │ ├── Token.html
│ │ │ │ ├── TokenizedCard.html
│ │ │ │ ├── TrackingURL.html
│ │ │ │ ├── TransactionDetails.html
│ │ │ │ ├── Transfer.html
│ │ │ │ ├── _ObjCMeasurement.html
│ │ │ │ └── goSellSDK.html
│ │ │ ├── Enums.html
│ │ │ ├── Enums
│ │ │ │ ├── AddressType.html
│ │ │ │ ├── AmountModificatorType.html
│ │ │ │ ├── Area.html
│ │ │ │ ├── AuthenticationRequirer.html
│ │ │ │ ├── AuthenticationStatus.html
│ │ │ │ ├── AuthenticationType.html
│ │ │ │ ├── AuthorizeActionStatus.html
│ │ │ │ ├── AuthorizeActionType.html
│ │ │ │ ├── CardVerificationStatus.html
│ │ │ │ ├── ChargeStatus.html
│ │ │ │ ├── Duration.html
│ │ │ │ ├── ElectricCharge.html
│ │ │ │ ├── ElectricCurrent.html
│ │ │ │ ├── Energy.html
│ │ │ │ ├── ErrorCode.html
│ │ │ │ ├── Length.html
│ │ │ │ ├── Mass.html
│ │ │ │ ├── Measurement.html
│ │ │ │ ├── Power.html
│ │ │ │ ├── SDKAppearanceMode.html
│ │ │ │ ├── SDKMode.html
│ │ │ │ ├── SourceChannel.html
│ │ │ │ ├── SourceObject.html
│ │ │ │ ├── SourcePaymentType.html
│ │ │ │ ├── SourceType.html
│ │ │ │ ├── TAPSDKErrorType.html
│ │ │ │ ├── TokenType.html
│ │ │ │ ├── TransactionMode.html
│ │ │ │ ├── URLStatus.html
│ │ │ │ └── Volume.html
│ │ │ ├── Extensions.html
│ │ │ ├── Extensions
│ │ │ │ ├── Address.html
│ │ │ │ ├── PaymentOption.html
│ │ │ │ ├── SeparateWindowRootViewController.html
│ │ │ │ ├── TapBlurEffectStyle.html
│ │ │ │ ├── TapFont.html
│ │ │ │ ├── TapSerializationError.html
│ │ │ │ └── TokenizedCard.html
│ │ │ ├── Protocols.html
│ │ │ ├── Protocols
│ │ │ │ ├── SessionAppearance.html
│ │ │ │ ├── SessionDataSource.html
│ │ │ │ ├── SessionDelegate.html
│ │ │ │ └── SessionProtocol.html
│ │ │ ├── Typealiases.html
│ │ │ ├── badge.svg
│ │ │ ├── css
│ │ │ │ ├── highlight.css
│ │ │ │ └── jazzy.css
│ │ │ ├── img
│ │ │ │ ├── carat.png
│ │ │ │ ├── dash.png
│ │ │ │ └── gh.png
│ │ │ ├── index.html
│ │ │ ├── js
│ │ │ │ ├── jazzy.js
│ │ │ │ └── jquery.min.js
│ │ │ └── search.json
│ │ │ └── docSet.dsidx
│ └── goSellSDK.tgz
├── img
│ ├── carat.png
│ ├── dash.png
│ └── gh.png
├── index.html
├── js
│ ├── jazzy.js
│ └── jquery.min.js
└── search.json
├── goSellSDK.podspec
├── goSellSDK.xcodeproj
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
└── xcshareddata
│ └── xcschemes
│ └── goSellSDK.xcscheme
├── goSellSDK.xcworkspace
├── contents.xcworkspacedata
└── xcshareddata
│ ├── IDEWorkspaceChecks.plist
│ └── WorkspaceSettings.xcsettings
├── goSellSDK
├── Core
│ ├── API
│ │ ├── Internal
│ │ │ ├── Client
│ │ │ │ ├── APIClient+Authentication.swift
│ │ │ │ ├── APIClient+Authorize.swift
│ │ │ │ ├── APIClient+BIN.swift
│ │ │ │ ├── APIClient+BillingAddress.swift
│ │ │ │ ├── APIClient+Card.swift
│ │ │ │ ├── APIClient+CardVerification.swift
│ │ │ │ ├── APIClient+Charges.swift
│ │ │ │ ├── APIClient+Customers.swift
│ │ │ │ ├── APIClient+Initialization.swift
│ │ │ │ ├── APIClient+PaymentTypes.swift
│ │ │ │ ├── APIClient+Retrievable.swift
│ │ │ │ ├── APIClient+Token.swift
│ │ │ │ └── APIClient.swift
│ │ │ ├── Data Managers
│ │ │ │ └── SettingsDataManager.swift
│ │ │ ├── Enums
│ │ │ │ ├── AddressFieldInputType.swift
│ │ │ │ ├── AddressFormat.swift
│ │ │ │ ├── CardScheme.swift
│ │ │ │ ├── CardType.swift
│ │ │ │ ├── ErrorAction.swift
│ │ │ │ ├── InitializationStatus.swift
│ │ │ │ ├── InternalError.swift
│ │ │ │ ├── Permissions.swift
│ │ │ │ ├── Route.swift
│ │ │ │ └── TapSerializationError.swift
│ │ │ ├── Models
│ │ │ │ ├── AddressField.swift
│ │ │ │ ├── AmountedCurrency.swift
│ │ │ │ ├── AppleTokenHeaderModel.swift
│ │ │ │ ├── AppleTokenModel.swift
│ │ │ │ ├── AuthenticationRequest.swift
│ │ │ │ ├── BINResponse.swift
│ │ │ │ ├── BillingAddressField.swift
│ │ │ │ ├── BillingAddressFormat.swift
│ │ │ │ ├── BillingAddressResponse.swift
│ │ │ │ ├── CreateAuthorizeRequest.swift
│ │ │ │ ├── CreateCardRequest.swift
│ │ │ │ ├── CreateCardVerificationRequest.swift
│ │ │ │ ├── CreateChargeRequest.swift
│ │ │ │ ├── CreateTokenApplePay.swift
│ │ │ │ ├── CreateTokenCard.swift
│ │ │ │ ├── CreateTokenSavedCard.swift
│ │ │ │ ├── CreateTokenWithApplePayRequest.swift
│ │ │ │ ├── CreateTokenWithCardDataRequest.swift
│ │ │ │ ├── CreateTokenWithSavedCardRequest.swift
│ │ │ │ ├── Customer.Request.swift
│ │ │ │ ├── DeleteCardResponse.swift
│ │ │ │ ├── ExpirationDate.swift
│ │ │ │ ├── ExtraFee.swift
│ │ │ │ ├── InternalSDKSettings.swift
│ │ │ │ ├── ListCardsResponse.swift
│ │ │ │ ├── Merchant.swift
│ │ │ │ ├── Order.swift
│ │ │ │ ├── PaymentOption.swift
│ │ │ │ ├── PaymentOptionsRequest.swift
│ │ │ │ ├── PaymentOptionsResponse.swift
│ │ │ │ ├── SDKSettings.swift
│ │ │ │ ├── SDKSettingsData.swift
│ │ │ │ └── TopupChargeModel.swift
│ │ │ ├── Protocols
│ │ │ │ ├── Authenticatable.swift
│ │ │ │ ├── AuthorizeProtocol.swift
│ │ │ │ ├── ChargeProtocol.swift
│ │ │ │ ├── CreateTokenRequest.swift
│ │ │ │ ├── EmptyInitializable.swift
│ │ │ │ ├── IdentifiableWithString.swift
│ │ │ │ ├── InitializableWithString.swift
│ │ │ │ ├── OptionallyIdentifiableWithString.swift
│ │ │ │ ├── ProportionalToOrigin.swift
│ │ │ │ ├── Retrievable.swift
│ │ │ │ └── SecureEncodable.swift
│ │ │ └── Utils
│ │ │ │ ├── Crypter.swift
│ │ │ │ ├── ErrorConstants.swift
│ │ │ │ ├── ErrorUtils.swift
│ │ │ │ ├── KeychainManager.swift
│ │ │ │ └── RSAUtils.swift
│ │ └── Public
│ │ │ ├── Data
│ │ │ └── APISession.swift
│ │ │ ├── Enums
│ │ │ ├── AddressType.swift
│ │ │ ├── AmountModificatorType.swift
│ │ │ ├── AuthenticationRequirer.swift
│ │ │ ├── AuthenticationStatus.swift
│ │ │ ├── AuthenticationType.swift
│ │ │ ├── AuthorizeActionStatus.swift
│ │ │ ├── AuthorizeActionType.swift
│ │ │ ├── CardVerificationStatus.swift
│ │ │ ├── ChargeStatus.swift
│ │ │ ├── ErrorCode.swift
│ │ │ ├── Measurements
│ │ │ │ ├── Area.swift
│ │ │ │ ├── Duration.swift
│ │ │ │ ├── ElectricCharge.swift
│ │ │ │ ├── ElectricCurrent.swift
│ │ │ │ ├── Energy.swift
│ │ │ │ ├── Length.swift
│ │ │ │ ├── Mass.swift
│ │ │ │ ├── Measurement.swift
│ │ │ │ ├── Power.swift
│ │ │ │ ├── Volume.swift
│ │ │ │ └── _ObjCMeasurement.swift
│ │ │ ├── PaymentType.swift
│ │ │ ├── SDKMode.swift
│ │ │ ├── SourceChannel.swift
│ │ │ ├── SourceObject.swift
│ │ │ ├── SourcePaymentType.swift
│ │ │ ├── SourceType.swift
│ │ │ ├── TapSDKErrorType.swift
│ │ │ ├── TokenType.swift
│ │ │ ├── TransactionMode.swift
│ │ │ ├── UIModeDisplayEnum.swift
│ │ │ ├── URLStatus.swift
│ │ │ └── cardType.swift
│ │ │ ├── Extensions
│ │ │ └── PaymentItem+Amount.swift
│ │ │ └── Models
│ │ │ ├── Acquirer.swift
│ │ │ ├── Address.swift
│ │ │ ├── AmountModificator.swift
│ │ │ ├── Authentication.swift
│ │ │ ├── Authorize.swift
│ │ │ ├── AuthorizeAction.swift
│ │ │ ├── AuthorizeActionResponse.swift
│ │ │ ├── CardVerification.swift
│ │ │ ├── Charge.swift
│ │ │ ├── Country.swift
│ │ │ ├── Currency.swift
│ │ │ ├── Customer.swift
│ │ │ ├── Destination.swift
│ │ │ ├── DestinationGroup.swift
│ │ │ ├── EmailAddress.swift
│ │ │ ├── Errors
│ │ │ ├── APIError.swift
│ │ │ ├── ErrorDetail.swift
│ │ │ ├── TapSDKAPIError.swift
│ │ │ ├── TapSDKError.swift
│ │ │ ├── TapSDKKnownError.swift
│ │ │ └── TapSDKUnknownError.swift
│ │ │ ├── Metadata.swift
│ │ │ ├── PaymentAgreement.swift
│ │ │ ├── PaymentItem.swift
│ │ │ ├── PhoneNumber.swift
│ │ │ ├── Quantity.swift
│ │ │ ├── Receipt.swift
│ │ │ ├── Reference.swift
│ │ │ ├── Response.swift
│ │ │ ├── SavedCard.swift
│ │ │ ├── SecretKey.swift
│ │ │ ├── Shipping.swift
│ │ │ ├── Source.swift
│ │ │ ├── SourceRequest.swift
│ │ │ ├── Tax.swift
│ │ │ ├── Token.swift
│ │ │ ├── TokenizedCard.swift
│ │ │ ├── TopUp.swift
│ │ │ ├── TopUpApplication.swift
│ │ │ ├── TrackingURL.swift
│ │ │ ├── TransactionDetails.swift
│ │ │ ├── TransactionExpiry.swift
│ │ │ ├── TransactionOrder.swift
│ │ │ └── Transfer.swift
│ └── UI
│ │ ├── Internal
│ │ ├── Animation Controllers
│ │ │ ├── FadeAnimationController.swift
│ │ │ ├── PaymentDismissalAnimationController.swift
│ │ │ ├── PaymentPresentationAnimationController.swift
│ │ │ ├── PopupAnimationController.swift
│ │ │ ├── PopupPresentationAnimationController.swift
│ │ │ └── UINavigationControllerSideAnimationController.swift
│ │ ├── Buttons
│ │ │ └── TapButton.swift
│ │ ├── Cells
│ │ │ ├── Collection View
│ │ │ │ ├── BaseCollectionViewCell.swift
│ │ │ │ └── CardCollectionViewCell.swift
│ │ │ └── Table View
│ │ │ │ ├── AddressDropdownFieldTableViewCell.swift
│ │ │ │ ├── AddressFieldTableViewCell.swift
│ │ │ │ ├── AddressTextInputFieldTableViewCell.swift
│ │ │ │ ├── AmountedCurrencyTableViewCell.swift
│ │ │ │ ├── ApplePayTableViewCell.swift
│ │ │ │ ├── BaseTableViewCell.swift
│ │ │ │ ├── CardInputTableViewCell.swift
│ │ │ │ ├── CardsContainerTableViewCell.swift
│ │ │ │ ├── CountryTableViewCell.swift
│ │ │ │ ├── CurrencySelectionTableViewCell.swift
│ │ │ │ ├── EmptyTableViewCell.swift
│ │ │ │ ├── GroupTableViewCell.swift
│ │ │ │ ├── GroupWithButtonTableViewCell.swift
│ │ │ │ ├── ImageTableViewCell.swift
│ │ │ │ ├── PaymentCardCellSeprator.swift
│ │ │ │ ├── PaymentCellSeprator.swift
│ │ │ │ └── WebPaymentOptionTableViewCell.swift
│ │ ├── Controllers
│ │ │ ├── AddressInputViewController+UITableView.swift
│ │ │ ├── AddressInputViewController.swift
│ │ │ ├── AsyncResponseViewController.swift
│ │ │ ├── BaseNavigationController.swift
│ │ │ ├── BaseViewController.swift
│ │ │ ├── CardScannerViewController.swift
│ │ │ ├── CountrySelectionViewController.swift
│ │ │ ├── CurrencySelectionViewController.swift
│ │ │ ├── HeaderNavigatedViewController.swift
│ │ │ ├── HeaderNavigatedViewControllerWithSearch.swift
│ │ │ ├── LoadingViewController.swift
│ │ │ ├── OTPViewController.swift
│ │ │ ├── PaymentContentViewController.swift
│ │ │ ├── PaymentOptionsViewController+UITableView.swift
│ │ │ ├── PaymentOptionsViewController.swift
│ │ │ ├── PaymentViewController.swift
│ │ │ ├── ResizablePaymentContainerViewController.swift
│ │ │ ├── SeparateWindowViewController.swift
│ │ │ ├── SetupApplePayViewController.swift
│ │ │ ├── StatusPopupViewController.swift
│ │ │ ├── TapAlertController.swift
│ │ │ ├── WebPaymentContentViewController.swift
│ │ │ ├── WebPaymentPopupViewController.swift
│ │ │ └── WebPaymentViewController.swift
│ │ ├── Data
│ │ │ ├── AddressFieldsDataManager+CountrySelection.swift
│ │ │ ├── AddressFieldsDataManager.swift
│ │ │ ├── BINDataManager.swift
│ │ │ ├── CountriesDataManager.swift
│ │ │ ├── CurrencyCodesDataManager.swift
│ │ │ ├── ErrorActionExecutor.swift
│ │ │ ├── ErrorDataManager.swift
│ │ │ ├── InterfaceOrientationManager.swift
│ │ │ ├── InternalSession.swift
│ │ │ ├── LocalizationManager.swift
│ │ │ ├── OTPTimerDataManager.swift
│ │ │ ├── SessionDelegateProxy.swift
│ │ │ └── WebPaymentURLDecision.swift
│ │ ├── Enums
│ │ │ ├── AppearanceMode.swift
│ │ │ ├── Image.swift
│ │ │ ├── LocalizedTextAlignment.swift
│ │ │ ├── OTPTimerState.swift
│ │ │ ├── PaymentStatus.swift
│ │ │ ├── StatusBarStyle.swift
│ │ │ ├── TextInputType.swift
│ │ │ ├── ValidationType.swift
│ │ │ └── ViewControllerOperation.swift
│ │ ├── Extensions
│ │ │ ├── Address+Additions.swift
│ │ │ ├── AddressType+Additions.swift
│ │ │ ├── AmountedCurrency+Additions.swift
│ │ │ ├── BillingAddressField+Additions.swift
│ │ │ ├── Bundle+Additions.swift
│ │ │ ├── Comparable+Additions.swift
│ │ │ ├── Country+Additions.swift
│ │ │ ├── EditableTextInsetsTextField+Additions.swift
│ │ │ ├── Equatable+Additions.swift
│ │ │ ├── ExpirationDate+Additions.swift
│ │ │ ├── LocalizationKey+Additions.swift
│ │ │ ├── NSTextAlignment+Additions.swift
│ │ │ ├── Notification.Name+Additions.swift
│ │ │ ├── String+Additions.swift
│ │ │ ├── String+SAR.swift
│ │ │ ├── TapBlurEffectStyle+Additions.swift
│ │ │ ├── TapSearchView+Additions.swift
│ │ │ ├── UIButton+Additions.swift
│ │ │ ├── UIColor+Additions.swift
│ │ │ ├── UIEdgeInsets+Additions.swift
│ │ │ ├── UIFont+Additions.swift
│ │ │ ├── UIImage+Additions.swift
│ │ │ ├── UILabel+Additions.swift
│ │ │ ├── UIStoryboard+Additions.swift
│ │ │ ├── UITextField+Additions.swift
│ │ │ ├── UIView+Additions.swift
│ │ │ └── UIWindow.Level+Additions.swift
│ │ ├── Interaction Controllers
│ │ │ ├── BaseInteractionController.swift
│ │ │ ├── OTPDismissalInteractionController.swift
│ │ │ └── UINavigationControllerPopInteractionController.swift
│ │ ├── Process
│ │ │ ├── Process+Additions.swift
│ │ │ ├── Process.AddressInputHandler.swift
│ │ │ ├── Process.AmountCalculator.swift
│ │ │ ├── Process.CardScannerHandler.swift
│ │ │ ├── Process.CurrencySelectionHandler.swift
│ │ │ ├── Process.DataManager.swift
│ │ │ ├── Process.Implementation.swift
│ │ │ ├── Process.OTPHandler.swift
│ │ │ ├── Process.TapButtonHandler.swift
│ │ │ ├── Process.Validation.swift
│ │ │ ├── Process.ViewModelsHandler.swift
│ │ │ ├── Process.WebPaymentHandler.swift
│ │ │ ├── Process.Wrapped.swift
│ │ │ ├── Process.swift
│ │ │ ├── ProcessHandlerInterface.swift
│ │ │ ├── ProcessInterface.swift
│ │ │ └── ProcessMode.swift
│ │ ├── Protocols
│ │ │ ├── AddressFieldsDataManagerLoadingListener.swift
│ │ │ ├── BindingWithModelCell.swift
│ │ │ ├── CardAddressDataStorage.swift
│ │ │ ├── CardAddressInputListener.swift
│ │ │ ├── CardBrandChangeReporting.swift
│ │ │ ├── CardCollectionViewCellLoading.swift
│ │ │ ├── CardInputTableViewCellLoading.swift
│ │ │ ├── CardScannerViewControllerDelegate.swift
│ │ │ ├── CardValidatorDelegate.swift
│ │ │ ├── CountrySelectionViewControllerDelegate.swift
│ │ │ ├── CurrencySelectionViewControllerDelegate.swift
│ │ │ ├── DataManagerWithFilteredData.swift
│ │ │ ├── DataValidation.swift
│ │ │ ├── DynamicLayoutTableViewCellModel.swift
│ │ │ ├── Filterable.swift
│ │ │ ├── FilterableByCurrency.swift
│ │ │ ├── GlowingViewHandler.swift
│ │ │ ├── InstantiatableFromStoryboard.swift
│ │ │ ├── InteractivePopViewController.swift
│ │ │ ├── InteractiveTransitionControllerDelegate.swift
│ │ │ ├── InternalSessionImplementation.swift
│ │ │ ├── InternalSessionProtocol.swift
│ │ │ ├── LayoutDirectionObserver.swift
│ │ │ ├── ListValue.swift
│ │ │ ├── LoadingWithModelCell.swift
│ │ │ ├── Localizable.swift
│ │ │ ├── LocalizationObserver.swift
│ │ │ ├── NavigationContentViewController.swift
│ │ │ ├── OTPViewControllerDelegate.swift
│ │ │ ├── PayButtonInternalImplementation.swift
│ │ │ ├── PaymentOptionCellViewModel.swift
│ │ │ ├── PopupOverlaySupport.swift
│ │ │ ├── PopupPresentationSupport.swift
│ │ │ ├── SetupApplePayViewControllerDelegate.swift
│ │ │ ├── SingleCellModel.swift
│ │ │ ├── Singleton.swift
│ │ │ ├── SortableByOrder.swift
│ │ │ ├── StaticlyDestroyable.swift
│ │ │ ├── TapButtonDelegate.swift
│ │ │ ├── TextFieldInputDataValidation.swift
│ │ │ ├── TextInputDataValidation.swift
│ │ │ ├── TextLabelInputDataValidation.swift
│ │ │ ├── ThemeObserver.swift
│ │ │ ├── Transformable.swift
│ │ │ ├── ViewControllerLayoutListener.swift
│ │ │ ├── WebPaymentContentViewControllerDelegate.swift
│ │ │ └── WobblingViewHandler.swift
│ │ ├── Resources
│ │ │ ├── AsyncPaymentResultView.xib
│ │ │ ├── Colors.xcassets
│ │ │ │ ├── AsyncLabelColors.colorset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── CardInputTextFieldColor.colorset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── CurrencyHolderViewColor.colorset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── DefaultCardSeparatorColor.colorset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── DefaultCellColor.colorset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── DefaultSeparatorCellColor.colorset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── OTPHolderColor.colorset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── SaveCardLabelColor.colorset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── SaveCardSwitchTintColor.colorset
│ │ │ │ │ └── Contents.json
│ │ │ │ └── SavedCardCellBackgroundColor.colorset
│ │ │ │ │ └── Contents.json
│ │ │ ├── Images.xcassets
│ │ │ │ ├── ApplePayMark.imageset
│ │ │ │ │ ├── Apple_Pay_Mark Copy 3@2x.png
│ │ │ │ │ ├── Apple_Pay_Mark Copy 3@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── ApplePaySetUp.imageset
│ │ │ │ │ ├── ApplePay-SetUp_2x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── SetupApplePaySplash.imageset
│ │ │ │ │ ├── 4.Setup Apple PayPay_Splash_2@2x.png
│ │ │ │ │ ├── 4.Setup Apple PayPay_Splash_2@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── btn_scan_frame.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── btn_scan_frame.png
│ │ │ │ │ ├── btn_scan_frame@2x.png
│ │ │ │ │ └── btn_scan_frame@3x.png
│ │ │ │ ├── btn_scan_icon.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── btn_scan_icon.png
│ │ │ │ │ ├── btn_scan_icon@2x.png
│ │ │ │ │ └── btn_scan_icon@3x.png
│ │ │ │ ├── btn_security.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── btn_security.png
│ │ │ │ │ ├── btn_security@2x.png
│ │ │ │ │ └── btn_security@3x.png
│ │ │ │ ├── delete_card_icon.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── delete_card_icon.png
│ │ │ │ ├── ic_arrow_left.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── ic_arrow_left.png
│ │ │ │ │ ├── ic_arrow_left@2x.png
│ │ │ │ │ └── ic_arrow_left@3x.png
│ │ │ │ ├── ic_arrow_right.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── ic_arrow_right.png
│ │ │ │ │ ├── ic_arrow_right@2x.png
│ │ │ │ │ └── ic_arrow_right@3x.png
│ │ │ │ ├── ic_bill.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── ic_bill.png
│ │ │ │ │ ├── ic_bill@2x.png
│ │ │ │ │ └── ic_bill@3x.png
│ │ │ │ ├── ic_checkmark.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── ic_checkmark.png
│ │ │ │ │ ├── ic_checkmark@2x.png
│ │ │ │ │ └── ic_checkmark@3x.png
│ │ │ │ ├── ic_checkmark_green.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── ic_checkmark_green.png
│ │ │ │ │ ├── ic_checkmark_green@2x.png
│ │ │ │ │ └── ic_checkmark_green@3x.png
│ │ │ │ ├── ic_checkmark_green_small.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── ic_checkmark_green_small.png
│ │ │ │ │ ├── ic_checkmark_green_small@2x.png
│ │ │ │ │ └── ic_checkmark_green_small@3x.png
│ │ │ │ ├── ic_close.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── ic_close.png
│ │ │ │ │ ├── ic_close@2x.png
│ │ │ │ │ └── ic_close@3x.png
│ │ │ │ ├── ic_close_otp.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── ic_close_otp.png
│ │ │ │ │ ├── ic_close_otp@2x.png
│ │ │ │ │ └── ic_close_otp@3x.png
│ │ │ │ ├── ic_merchant_logo_placeholder.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── ic_merchant_logo_placeholder.png
│ │ │ │ │ ├── ic_merchant_logo_placeholder@2x.png
│ │ │ │ │ └── ic_merchant_logo_placeholder@3x.png
│ │ │ │ └── ic_x_red.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── ic_x_red.png
│ │ │ │ │ ├── ic_x_red@2x.png
│ │ │ │ │ └── ic_x_red@3x.png
│ │ │ ├── LoadingView.xib
│ │ │ ├── Localization
│ │ │ │ ├── ar.lproj
│ │ │ │ │ └── Localizable.strings
│ │ │ │ ├── en.lproj
│ │ │ │ │ └── Localizable.strings
│ │ │ │ └── ru.lproj
│ │ │ │ │ └── Localizable.strings
│ │ │ ├── OTPInputView.xib
│ │ │ ├── PayButton.xib
│ │ │ ├── Payment.storyboard
│ │ │ ├── Popups.storyboard
│ │ │ ├── TapButton.xib
│ │ │ ├── TapNavigationView.xib
│ │ │ ├── WebViewProgressBar.xib
│ │ │ ├── sar-Regular.ttf
│ │ │ └── themes.json
│ │ ├── Theme
│ │ │ ├── AppearanceStyle.swift
│ │ │ ├── BlurSettings.swift
│ │ │ ├── CardCellStyle.swift
│ │ │ ├── CaseSelectionCellStyle.swift
│ │ │ ├── CommonImages.swift
│ │ │ ├── CommonStyle.swift
│ │ │ ├── CurrencySelectionCellStyle.swift
│ │ │ ├── Font.swift
│ │ │ ├── GlowStyle.swift
│ │ │ ├── GroupCellStyle.swift
│ │ │ ├── GroupWithButtonCellStyle.swift
│ │ │ ├── HexColor.swift
│ │ │ ├── IconStyle.swift
│ │ │ ├── KeyboardAppearance.swift
│ │ │ ├── NavigationBarStyle.swift
│ │ │ ├── OTPScreenStyle.swift
│ │ │ ├── PaymentOptionCellsStyle.swift
│ │ │ ├── ResourceImage.swift
│ │ │ ├── SaveCardStyle.swift
│ │ │ ├── SavedCardStyle.swift
│ │ │ ├── SearchBarStyle.swift
│ │ │ ├── StatusPopupStyle.swift
│ │ │ ├── TapButtonStateStyle.swift
│ │ │ ├── TapButtonStyle.swift
│ │ │ ├── TextInputStyle.swift
│ │ │ ├── TextStyle.swift
│ │ │ ├── Theme.swift
│ │ │ ├── ThemeManager.swift
│ │ │ ├── ThemesContainer.swift
│ │ │ └── WebCellStyle.swift
│ │ ├── Utils
│ │ │ ├── BrandWithScheme.swift
│ │ │ ├── CardsCollectionViewLayout.swift
│ │ │ ├── CurrencyFormatter.swift
│ │ │ ├── KnownStaticallyDestroyableTypes.swift
│ │ │ ├── LocalizedParagraphStyle.swift
│ │ │ ├── TapEdgeInsets.swift
│ │ │ ├── WeaklyWrapped.swift
│ │ │ └── WrappedAndTypeErased.swift
│ │ ├── Validators
│ │ │ ├── CVVValidator.swift
│ │ │ ├── CardAddressValidator.swift
│ │ │ ├── CardNumberValidator.swift
│ │ │ ├── CardValidator.swift
│ │ │ ├── CardholderNameValidator.swift
│ │ │ ├── ExpirationDateValidator.swift
│ │ │ └── SaveCardValidator.swift
│ │ ├── View Models
│ │ │ ├── AddressDropdownFieldTableViewCellModel.swift
│ │ │ ├── AddressFieldTableViewCellModel.swift
│ │ │ ├── AddressTextInputFieldTableViewCellModel.swift
│ │ │ ├── AmountedCurrencyTableViewCellModel.swift
│ │ │ ├── ApplePaymentOptionTableViewCellModel.swift
│ │ │ ├── CardCollectionViewCellModel.swift
│ │ │ ├── CardInputTableViewCellModel+AddressInput.swift
│ │ │ ├── CardInputTableViewCellModel+CardScanning.swift
│ │ │ ├── CardInputTableViewCellModel+DataValidation.swift
│ │ │ ├── CardInputTableViewCellModel+UITableView.swift
│ │ │ ├── CardInputTableViewCellModel.swift
│ │ │ ├── CardsContainerTableViewCellModel+UICollectionView.swift
│ │ │ ├── CardsContainerTableViewCellModel.swift
│ │ │ ├── CellViewModel.swift
│ │ │ ├── CollectionViewCellViewModel.swift
│ │ │ ├── CountryTableViewCellModel.swift
│ │ │ ├── CurrencySelectionTableViewCellViewModel.swift
│ │ │ ├── EmptyTableViewCellModel.swift
│ │ │ ├── GroupTableViewCellModel.swift
│ │ │ ├── GroupWithButtonTableViewCellModel.swift
│ │ │ ├── ImageTableViewCellModel.swift
│ │ │ ├── PaymentOptionCollectionCellViewModel.swift
│ │ │ ├── PaymentOptionTableCellViewModel.swift
│ │ │ ├── TableViewCellViewModel.swift
│ │ │ ├── ViewModel.swift
│ │ │ └── WebPaymentOptionTableViewCellModel.swift
│ │ └── Views
│ │ │ ├── AsyncPaymentResultView
│ │ │ └── AsyncPaymentResultView.swift
│ │ │ ├── LoadingView
│ │ │ ├── LoadingView.swift
│ │ │ └── LoadingViewSupport.swift
│ │ │ ├── MaskedWindow
│ │ │ ├── MaskedWindow.swift
│ │ │ └── MaskedWindowContentProvider.swift
│ │ │ ├── MirrorableView
│ │ │ └── MirrorableView.swift
│ │ │ ├── OTPInputView
│ │ │ ├── OTPInputView.swift
│ │ │ └── OTPInputViewDelegate.swift
│ │ │ ├── TapNavigationView
│ │ │ ├── TapNavigationView.swift
│ │ │ ├── TapNavigationViewDataSource.swift
│ │ │ └── TapNavigationViewDelegate.swift
│ │ │ └── WebViewProgressBar
│ │ │ └── WebViewProgressBar.swift
│ │ └── Public
│ │ ├── Buttons
│ │ └── PayButton.swift
│ │ ├── Data
│ │ ├── GoSellSDK.swift
│ │ └── Session.swift
│ │ ├── Enums
│ │ ├── SDKAppearanceMode.swift
│ │ ├── SDKLightDarkMode.swift
│ │ └── TapBlurStyle.swift
│ │ ├── Extensions
│ │ ├── SeparateWindowRootViewController+Additions.swift
│ │ └── TapFont+Additions.swift
│ │ └── Protocols
│ │ ├── SessionAppearance.swift
│ │ ├── SessionDataSource.swift
│ │ ├── SessionDelegate.swift
│ │ └── SessionProtocol.swift
├── ErrorReporting
│ └── Internal
│ │ ├── Classes
│ │ └── Reporter.swift
│ │ └── Extensions
│ │ ├── ErrorAction+ErrorReporting.swift
│ │ └── InterfaceOrientationManager+ErrorReporting.swift
├── Info.plist
└── goSellSDK.h
└── sar-Regular.ttf
/.jazzy.yaml:
--------------------------------------------------------------------------------
1 | exclude:
2 | - "Example"
3 | min_acl: public
4 | xcodebuild_arguments:
5 | - clean
6 | - -workspace
7 | - goSellSDK.xcworkspace
8 | - -scheme
9 | - goSellSDK
--------------------------------------------------------------------------------
/Example/Podfile:
--------------------------------------------------------------------------------
1 | platform :ios, '13.0'
2 | use_frameworks!
3 |
4 | source 'https://github.com/CocoaPods/Specs.git'
5 |
6 | target 'goSellSDKExample' do
7 |
8 | pod 'Crashlytics'
9 | pod 'Fabric'
10 | pod 'TapApplePayKit-iOS'
11 | pod 'goSellSDK', :path => '../'
12 | # pod 'goSellSDK/ErrorReporting', :path => '../'
13 |
14 | end
15 |
16 | post_install do |installer|
17 |
18 | installer.pods_project.targets.each do |target|
19 |
20 | target.build_configurations.each do |config|
21 |
22 | if config.name.include?("Debug")
23 |
24 | config.build_settings['SWIFT_OPTIMIZATION_LEVEL'] = '-Onone'
25 |
26 | end
27 |
28 | end
29 |
30 | end
31 |
32 | end
33 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildSystemType
6 | Latest
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Cells/ColorTableViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ColorTableViewCell.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UIView.UIView
9 |
10 | internal final class ColorTableViewCell: TitleTableViewCell {
11 |
12 | // MARK: - Internal -
13 | // MARK: Methods
14 |
15 | internal func setColor(_ color: Color) {
16 |
17 | self.setTitle(color.description)
18 |
19 | self.colorView?.backgroundColor = color.asUIColor
20 | }
21 |
22 | // MARK: - Private -
23 | // MARK: Properties
24 |
25 | @IBOutlet private weak var colorView: UIView?
26 | }
27 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Cells/DestinationTableViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DestinationTableViewCell.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UILabel.UILabel
9 | import class UIKit.UITableViewCell.UITableViewCell
10 |
11 | internal final class DestinationTableViewCell: UITableViewCell {
12 |
13 | // MARK: - Internal -
14 | // MARK: Methods
15 |
16 | internal func setIdentifier(_ identifier: String, amount: String, currency: String) {
17 |
18 | self.identiferLabel?.text = identifier
19 | self.amountLabel?.text = amount
20 | self.currencyLabel?.text = currency
21 | }
22 |
23 | // MARK: - Private -
24 | // MARK: Properties
25 |
26 | @IBOutlet private weak var identiferLabel: UILabel?
27 | @IBOutlet private weak var amountLabel: UILabel?
28 | @IBOutlet private weak var currencyLabel: UILabel?
29 | }
30 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Cells/FontTableViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // FontTableViewCell.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UIFont.UIFont
9 |
10 | internal class FontTableViewCell: TitleTableViewCell {
11 |
12 | // MARK: - Internal -
13 | // MARK: Methods
14 |
15 | internal func setFont(_ font: String) {
16 |
17 | let uiFont = UIFont(name: font, size: 17.0)!
18 | self.setTitle(uiFont.familyName)
19 |
20 | self.titleTextLabel?.font = uiFont
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Cells/GroupHeaderCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // GroupHeaderCell.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UILabel.UILabel
9 | import class UIKit.UITableViewCell.UITableViewCell
10 |
11 | internal final class GroupHeaderCell: UITableViewCell {
12 |
13 | // MARK: - Internal -
14 | // MARK: Methods
15 |
16 | internal func setGroupTitle(_ groupTitle: String) {
17 |
18 | self.groupTitleLabel?.text = groupTitle
19 | }
20 |
21 | // MARK: - Private -
22 | // MARK: Properties
23 |
24 | @IBOutlet private weak var groupTitleLabel: UILabel?
25 | }
26 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Cells/SelectableCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SelectableCell.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UIImageView.UIImageView
9 | import class UIKit.UITableViewCell.UITableViewCell
10 |
11 | internal class SelectableCell: UITableViewCell {
12 |
13 | // MARK: - Internal -
14 | // MARK: Methods
15 |
16 | internal override func setSelected(_ selected: Bool, animated: Bool) {
17 |
18 | super.setSelected(selected, animated: animated)
19 | self.checkmarkImageView?.isHidden = !selected
20 | }
21 |
22 | // MARK: - Private -
23 | // MARK: Properties
24 |
25 | @IBOutlet private weak var checkmarkImageView: UIImageView?
26 | }
27 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Cells/ShippingTableViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ShippingTableViewCell.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UILabel.UILabel
9 | import class UIKit.UITableViewCell.UITableViewCell
10 |
11 | internal final class ShippingTableViewCell: UITableViewCell {
12 |
13 | // MARK: - Internal -
14 | // MARK: Methods
15 |
16 | internal func setTitleText(_ titleText: String, amountText: String) {
17 |
18 | self.titleLabel?.text = titleText
19 | self.amountLabel?.text = amountText
20 | }
21 |
22 | // MARK: - Private -
23 | // MARK: Properties
24 |
25 | @IBOutlet private weak var titleLabel: UILabel?
26 | @IBOutlet private weak var amountLabel: UILabel?
27 | }
28 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Cells/TaxTableViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TaxTableViewCell.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UILabel.UILabel
9 | import class UIKit.UITableViewCell.UITableViewCell
10 |
11 | internal final class TaxTableViewCell: UITableViewCell {
12 |
13 | // MARK: - Internal -
14 | // MARK: Methods
15 |
16 | internal func setTitle(_ title: String?, descriptionText: String?, valueText: String?) {
17 |
18 | self.titleTextLabel?.text = title
19 | self.descriptionTextLabel?.text = descriptionText
20 | self.valueLabel?.text = valueText
21 | }
22 |
23 | // MARK: - Private -
24 | // MARK: Properties
25 |
26 | @IBOutlet private weak var titleTextLabel: UILabel?
27 | @IBOutlet private weak var descriptionTextLabel: UILabel?
28 | @IBOutlet private weak var valueLabel: UILabel?
29 | }
30 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Cells/TitleTableViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TitleTableViewCell.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UILabel.UILabel
9 | import class UIKit.UITableViewCell.UITableViewCell
10 |
11 | internal class TitleTableViewCell: UITableViewCell {
12 |
13 | // MARK: - Internal -
14 | // MARK: Properties
15 |
16 | @IBOutlet internal private(set) weak var titleTextLabel: UILabel?
17 |
18 | // MARK: Methods
19 |
20 | internal func setTitle(_ title: CustomStringConvertible) {
21 |
22 | self.titleTextLabel?.text = title.description.capitalized
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Extensions/Currency+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Currency+Additions.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import Foundation
9 | import class goSellSDK.Currency
10 |
11 | internal extension Currency {
12 |
13 | // MARK: - Internal -
14 | // MARK: Properties
15 |
16 | var localizedSymbol: String {
17 |
18 | return (Locale.current as NSLocale).displayName(forKey: .currencySymbol, value: self.isoCode) ?? self.isoCode
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Extensions/Decodable+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Decodable+Additions.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import Foundation
9 |
10 | internal extension Decodable {
11 |
12 | // MARK: - Internal -
13 | // MARK: Methods
14 |
15 | init?(dictionaryRepresentation: [String: Any]) {
16 |
17 | guard let jsonData = try? JSONSerialization.data(withJSONObject: dictionaryRepresentation, options: []) else { return nil }
18 |
19 | do {
20 |
21 | self = try JSONDecoder().decode(Self.self, from: jsonData)
22 | }
23 | catch let error {
24 |
25 | print("Error retrieving settings: \(error)")
26 | return nil
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Extensions/Encodable+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Encodable+Additions.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import Foundation
9 |
10 | internal extension Encodable {
11 |
12 | var dictionaryRepresentation: [String: Any]? {
13 |
14 | guard let data = try? JSONEncoder().encode(self) else { return nil }
15 | let object = try? JSONSerialization.jsonObject(with: data, options: [])
16 |
17 | if let dictionaryObject = object as? [String: Any] {
18 |
19 | return dictionaryObject
20 | }
21 | else {
22 |
23 | return nil
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Extensions/Measurement+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Measurement+Additions.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import enum goSellSDK.Measurement
9 |
10 | internal extension Measurement {
11 |
12 | static var allCategoriesWithDefaultUnitsOfMeasurement: [Measurement] {
13 |
14 | return [
15 |
16 | .area(.squareMeters),
17 | .duration(.seconds),
18 | .electricCharge(.ampereHours),
19 | .electricCurrent(.amperes),
20 | .energy(.joules),
21 | .length(.meters),
22 | .mass(.kilograms),
23 | .power(.watts),
24 | .volume(.cubicMeters),
25 | .units
26 | ]
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Models/GroupHeaderCellModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // GroupHeaderCellModel.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UITableViewCell.UITableViewCell
9 |
10 | internal class GroupHeaderCellModel: TableViewCellModel {
11 |
12 | // MARK: - Internal -
13 | // MARK: Properties
14 |
15 | internal let title: String
16 |
17 | internal override class var cellClass: UITableViewCell.Type {
18 |
19 | return GroupHeaderCell.self
20 | }
21 |
22 | // MARK: Methods
23 |
24 | internal init(title: String) {
25 |
26 | self.title = title
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Models/PaymentItemTableViewCellModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PaymentItemTableViewCellModel.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class goSellSDK.PaymentItem
9 | import class UIKit.UITableViewCell.UITableViewCell
10 |
11 | internal class PaymentItemTableViewCellModel: TableViewCellModel {
12 |
13 | // MARK: - Internal -
14 | // MARK: Properties
15 |
16 | internal let paymentItem: PaymentItem
17 |
18 | internal override class var cellClass: UITableViewCell.Type {
19 |
20 | return PaymentItemTableViewCell.self
21 | }
22 |
23 | // MARK: Methods
24 |
25 | internal init(paymentItem: PaymentItem) {
26 |
27 | self.paymentItem = paymentItem
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Models/Settings/GlobalSettings.swift:
--------------------------------------------------------------------------------
1 | //
2 | // GlobalSettings.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import Foundation
9 |
10 | internal struct GlobalSettings: Encodable {
11 |
12 | // MARK: - Internal -
13 | // MARK: Properties
14 |
15 | internal static let `default` = GlobalSettings(sdkLanguage: Language(localeIdentifier: Locale.TapLocaleIdentifier.en))
16 |
17 | internal var sdkLanguage: Language
18 |
19 | // MARK: Methods
20 |
21 | internal init(sdkLanguage: Language) {
22 |
23 | self.sdkLanguage = sdkLanguage
24 | }
25 |
26 | // MARK: - Private -
27 |
28 | private enum CodingKeys: String, CodingKey {
29 |
30 | case sdkLanguage = "sdk_language"
31 | }
32 | }
33 |
34 | // MARK: - Decodable
35 | extension GlobalSettings: Decodable {
36 |
37 | internal init(from decoder: Decoder) throws {
38 |
39 | let container = try decoder.container(keyedBy: CodingKeys.self)
40 | let sdkLanguage = try container.decodeIfPresent (Language.self, forKey: .sdkLanguage) ?? GlobalSettings.default.sdkLanguage
41 |
42 | self.init(sdkLanguage: sdkLanguage)
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Models/TableViewCellModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TableViewCellModel.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UITableViewCell.UITableViewCell
9 |
10 | internal class TableViewCellModel {
11 |
12 | // MARK: - Internal -
13 | // MARK: Properties
14 |
15 | internal var isSelected = false
16 |
17 | internal class var cellClass: UITableViewCell.Type {
18 |
19 | return UITableViewCell.self
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Protocols/CaseSelectionTableViewControllerDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CaseSelectionTableViewControllerDelegate.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol CaseSelectionTableViewControllerDelegate: class {
9 |
10 | func caseSelectionViewController(_ controller: CaseSelectionTableViewController, didFinishWith value: CaseSelectionTableViewController.Value)
11 | }
12 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Protocols/CustomerViewControllerDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CustomerViewControllerDelegate.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class goSellSDK.Customer
9 |
10 | internal protocol CustomerViewControllerDelegate: class {
11 |
12 | func customerViewController(_ controller: CustomerViewController, didFinishWith customer: EnvironmentCustomer)
13 | }
14 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Protocols/CustomersListViewControllerDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CustomersListViewControllerDelegate.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class goSellSDK.Customer
9 |
10 | internal protocol CustomersListViewControllerDelegate: class {
11 |
12 | func customersListViewController(_ controller: CustomersListViewController, didFinishWith customer: EnvironmentCustomer?)
13 | }
14 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Protocols/DestinationViewControllerDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DestinationViewControllerDelegate.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class goSellSDK.Destination
9 |
10 | internal protocol DestinationViewControllerDelegate: class {
11 |
12 | func destinationViewController(_ controller: DestinationViewController, didFinishWith destination: Destination)
13 | }
14 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Protocols/PaymentItemViewControllerDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PaymentItemViewControllerDelegate.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class goSellSDK.PaymentItem
9 |
10 | internal protocol PaymentItemViewControllerDelegate: class {
11 |
12 | func paymentItemViewController(_ controller: PaymentItemViewController, didFinishWith item: PaymentItem)
13 | }
14 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Protocols/SeguePresenter.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SeguePresenter.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class Dispatch.DispatchQueue
9 | import class UIKit.UIViewController.UIViewController
10 |
11 | internal protocol SeguePresenter where Self: UIViewController { }
12 |
13 | internal extension SeguePresenter {
14 |
15 | func show(_ controller: UIViewController.Type) {
16 |
17 | DispatchQueue.main.async {
18 |
19 | self.performSegue(withIdentifier: "\(controller.tap_className)Segue", sender: self)
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Protocols/SettingsTableViewControllerDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SettingsTableViewControllerDelegate.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol SettingsTableViewControlerDelegate: class {
9 |
10 | func settingsViewController(_ controller: SettingsTableViewController, didFinishWith settings: Settings)
11 | }
12 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Protocols/ShippingViewControllerDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ShippingViewControllerDelegate.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class goSellSDK.Shipping
9 |
10 | internal protocol ShippingViewControllerDelegate: class {
11 |
12 | func shippingViewController(_ controller: ShippingViewController, didFinishWith shipping: Shipping)
13 | }
14 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Protocols/TaxViewControllerDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TaxViewControllerDelegate.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class goSellSDK.Tax
9 |
10 | internal protocol TaxViewControllerDelegate: class {
11 |
12 | func taxViewController(_ controller: TaxViewController, didFinishWith tax: Tax)
13 | }
14 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_1024.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_120-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_120-1.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_120.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_152.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_167.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_180.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_20.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_29.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_40-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_40-1.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_40-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_40-2.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_40.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_58-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_58-1.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_58.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_60.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_76.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_80-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_80-1.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_80.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/AppIcon.appiconset/gosell_icon_87.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/background.imageset/5840375-nissan-gtr-iphone-6-wallpaper.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/background.imageset/5840375-nissan-gtr-iphone-6-wallpaper.jpg
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/background.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "5840375-nissan-gtr-iphone-6-wallpaper.jpg",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/ic_checkmark.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_checkmark.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_checkmark@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "ic_checkmark@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/ic_checkmark.imageset/ic_checkmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/ic_checkmark.imageset/ic_checkmark.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/ic_checkmark.imageset/ic_checkmark@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/ic_checkmark.imageset/ic_checkmark@2x.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Resources/Assets.xcassets/ic_checkmark.imageset/ic_checkmark@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/Example/goSellSDKExample/Resources/Assets.xcassets/ic_checkmark.imageset/ic_checkmark@3x.png
--------------------------------------------------------------------------------
/Example/goSellSDKExample/Utils/SerializationHelper.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SerializationHelper.swift
3 | // goSellSDKExample
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class goSellSDK.Customer
9 |
10 | internal class SerializationHelper {
11 |
12 | // MARK: - Internal -
13 | // MARK: Methods
14 |
15 | internal static func updateCustomer(_ customer: Customer, with identifier: String) -> EnvironmentCustomer? {
16 |
17 | var allCustomers: [EnvironmentCustomer] = Serializer.deserialize()
18 | guard let index = allCustomers.firstIndex(where: { $0.customer == customer }) else { return nil }
19 |
20 | let envCustomer = allCustomers[index]
21 | envCustomer.customer.identifier = identifier
22 |
23 | allCustomers.remove(at: index)
24 | allCustomers.insert(envCustomer, at: index)
25 |
26 | Serializer.serialize(allCustomers)
27 |
28 | return envCustomer
29 | }
30 |
31 | // MARK: - Private -
32 | // MARK: Methods
33 |
34 | //@available(*, unavailable) private init() {}
35 | }
36 |
--------------------------------------------------------------------------------
/Example/goSellSDKExample/goSellSDKExample.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.developer.in-app-payments
6 |
7 | merchant.tap.ApplePayTemplate
8 | merchant.tap.gosell
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source "https://rubygems.org"
2 |
3 | gem 'cocoapods', :git => 'https://github.com/CocoaPods/CocoaPods.git', :tag => '1.7.0.beta.3'
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Tap-Payments
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Podfile:
--------------------------------------------------------------------------------
1 | platform :ios, '11.0'
2 | use_frameworks!
3 |
4 | source 'https://github.com/CocoaPods/Specs.git'
5 |
6 | def shared_pods
7 |
8 | pod 'EditableTextInsetsTextFieldV2'
9 | pod 'TapAdditionsKitV2'
10 | pod 'TapAlertViewControllerV2'
11 | pod 'TapApplicationV2'
12 | pod 'TapBundleLocalizationV2'
13 | pod 'TapCardVlidatorKit-iOS'
14 | pod 'TapEditableViewV2'
15 | pod 'TapErrorReportingV2'
16 | pod 'TapFontsKitV2'
17 | pod 'TapGLKitV2'
18 | pod 'TapKeychainV2'
19 | pod 'TapNetworkManagerV2'
20 | pod 'TapNibViewV2'
21 | pod 'TapResponderChainInputViewV2'
22 | pod 'TapSearchViewV2'
23 | pod 'TapVisualEffectViewV2'
24 | pod 'SwiftyRSA'
25 |
26 | end
27 |
28 | target 'goSellSDK' do
29 |
30 | shared_pods
31 |
32 | end
33 |
--------------------------------------------------------------------------------
/docs/badge.svg:
--------------------------------------------------------------------------------
1 |
29 |
--------------------------------------------------------------------------------
/docs/docsets/goSellSDK.docset/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleIdentifier
6 | com.jazzy.gosellsdk
7 | CFBundleName
8 | goSellSDK
9 | DocSetPlatformFamily
10 | gosellsdk
11 | isDashDocset
12 |
13 | dashIndexFilePath
14 | index.html
15 | isJavaScriptEnabled
16 |
17 | DashDocSetFamily
18 | dashtoc
19 |
20 |
21 |
--------------------------------------------------------------------------------
/docs/docsets/goSellSDK.docset/Contents/Resources/Documents/img/carat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/docs/docsets/goSellSDK.docset/Contents/Resources/Documents/img/carat.png
--------------------------------------------------------------------------------
/docs/docsets/goSellSDK.docset/Contents/Resources/Documents/img/dash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/docs/docsets/goSellSDK.docset/Contents/Resources/Documents/img/dash.png
--------------------------------------------------------------------------------
/docs/docsets/goSellSDK.docset/Contents/Resources/Documents/img/gh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/docs/docsets/goSellSDK.docset/Contents/Resources/Documents/img/gh.png
--------------------------------------------------------------------------------
/docs/docsets/goSellSDK.docset/Contents/Resources/docSet.dsidx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/docs/docsets/goSellSDK.docset/Contents/Resources/docSet.dsidx
--------------------------------------------------------------------------------
/docs/docsets/goSellSDK.tgz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/docs/docsets/goSellSDK.tgz
--------------------------------------------------------------------------------
/docs/img/carat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/docs/img/carat.png
--------------------------------------------------------------------------------
/docs/img/dash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/docs/img/dash.png
--------------------------------------------------------------------------------
/docs/img/gh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/docs/img/gh.png
--------------------------------------------------------------------------------
/goSellSDK.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/goSellSDK.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/goSellSDK.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/goSellSDK.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/goSellSDK.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Client/APIClient+Retrievable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // APIClient+Retrievable.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class TapNetworkManagerV2.TapNetworkRequestOperation
9 | import enum TapNetworkManagerV2.TapURLModel
10 |
11 | internal extension APIClient {
12 |
13 | // MARK: - Internal -
14 | // MARK: Methods
15 |
16 | func retrieveObject(with identifier: String, completion: @escaping Completion) {
17 |
18 | let urlModel = TapURLModel.array(parameters: [identifier])
19 | let route = T.retrieveRoute
20 |
21 | let operation = TapNetworkRequestOperation(path: route.rawValue, method: .GET, headers: self.staticHTTPHeaders, urlModel: urlModel, bodyModel: nil, responseType: .json)
22 |
23 | self.performRequest(operation, using: route.decoder, completion: completion)
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Enums/AddressFormat.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AddressFormat.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Address format enum.
9 | ///
10 | /// - a: Format A.
11 | /// - b: Format B.
12 | /// - c: Format C.
13 | internal enum AddressFormat: String, Codable {
14 |
15 | case a = "FORMAT_A"
16 | case b = "FORMAT_B"
17 | case c = "FORMAT_C"
18 | }
19 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Enums/CardScheme.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CardScheme.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import enum TapCardVlidatorKit_iOS.CardBrand
9 |
10 | internal struct CardScheme {
11 |
12 | // MARK: - Internal -
13 | // MARK: Properties
14 |
15 | internal let cardBrand: CardBrand
16 |
17 | // MARK: - Private -
18 | // MARK: Methods
19 |
20 | private init(_ brand: CardBrand) {
21 |
22 | self.cardBrand = brand
23 | }
24 | }
25 |
26 | // MARK: - Decodable
27 | extension CardScheme: Decodable {
28 |
29 | internal init(from decoder: Decoder) throws {
30 |
31 | let container = try decoder.singleValueContainer()
32 | let brand = try container.decode(CardBrand.self)
33 |
34 | self.init(brand)
35 | }
36 | }
37 |
38 | // MARK: - Equatable
39 | extension CardScheme: Equatable {
40 |
41 | internal static func == (lhs: CardScheme, rhs: CardScheme) -> Bool {
42 |
43 | return lhs.cardBrand == rhs.cardBrand
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Enums/CardType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AcceptedCardType.swift
3 | // goSellSDK
4 | //
5 | // Created by Osama Rabie on 19/02/2020.
6 | // Copyright © 2020 Tap Payments. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | /// Card Types the merchanty will use to define what types of cards he wants his clients to use
11 | @objcMembers public class CardType:NSObject {
12 |
13 |
14 | var cardType:cardTypes = .All
15 |
16 | public init(cardTypeString:String) {
17 | if cardTypeString.lowercased() == "credit"
18 | {
19 | self.cardType = .Credit
20 | }else if cardTypeString.lowercased() == "debit"
21 | {
22 | self.cardType = .Debit
23 | }else
24 | {
25 | self.cardType = .All
26 | }
27 | }
28 |
29 | public init(cardType:cardTypes) {
30 | self.cardType = cardType
31 | }
32 |
33 | override public func isEqual(_ object: Any?) -> Bool {
34 | if let other = object as? CardType {
35 | return self.cardType == other.cardType
36 | } else {
37 | return false
38 | }
39 | }
40 | }
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Enums/ErrorAction.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ErrorAction.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Error action.
9 | internal struct ErrorAction: OptionSet {
10 |
11 | // MARK: - Internal -
12 | // MARK: Properties
13 |
14 | internal let rawValue: Int
15 |
16 | internal static let retry = ErrorAction(rawValue: 1 )
17 | internal static let alert = ErrorAction(rawValue: 1 << 1)
18 | internal static let closePayment = ErrorAction(rawValue: 1 << 2)
19 | }
20 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Enums/InitializationStatus.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InitializationStatus.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal enum InitializationStatus {
9 |
10 | case notInitiated
11 | case initiated
12 | case succeed
13 | }
14 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Enums/InternalError.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InternalError.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal enum InternalError: Int {
9 |
10 | case invalidCountryCode = 1
11 | case invalidAddressType
12 | case invalidAmountModificatorType
13 | case invalidAuthorizeActionType
14 | case invalidCurrency
15 | case invalidCustomerInfo
16 | case invalidTokenType
17 | case customerAlreadyExists
18 | case cardAlreadyExists
19 | case invalidEmail
20 | case invalidISDNumber
21 | case invalidPhoneNumber
22 | case invalidUnitOfMeasurement
23 | case invalidMeasurement
24 | case invalidEnumValue
25 | case noMerchantData
26 | }
27 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Enums/TapSerializationError.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TapSerializationError.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Serialization error.
9 | ///
10 | /// - wrongData: Wrong data to serialize/deserialize.
11 | internal enum TapSerializationError: Int, Error {
12 |
13 | /// Wrong data to serialize/deserialize.
14 | case wrongData
15 |
16 | // MARK: - Private -
17 | // MARK: Properties
18 |
19 | private var readableType: String {
20 |
21 | switch self {
22 |
23 | case .wrongData:
24 |
25 | return "Wrong data"
26 | }
27 | }
28 | }
29 |
30 | // MARK: - CustomStringConvertible
31 | extension TapSerializationError: CustomStringConvertible {
32 |
33 | public var description: String {
34 |
35 | return self.readableType
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/AddressField.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AddressField.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Address field model.
9 | internal struct AddressField: Decodable {
10 |
11 | // MARK: - Internal -
12 | // MARK: Properties
13 |
14 | /// Field name.
15 | internal let name: String
16 |
17 | /// Field input type.
18 | internal let type: AddressFieldInputType
19 |
20 | /// Placeholder text.
21 | internal let placeholder: String
22 |
23 | // MARK: - Private -
24 |
25 | private enum CodingKeys: String, CodingKey {
26 |
27 | case name = "name"
28 | case type = "type"
29 | case placeholder = "place_holder"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/AuthenticationRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AuthenticationRequest.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Structure to authenticate the charge.
9 | internal struct AuthenticationRequest: Encodable {
10 |
11 | // MARK: - Internal -
12 | // MARK: Properties
13 |
14 | /// Authentication type.
15 | internal let type: AuthenticationType
16 |
17 | /// Authentication value.
18 | internal let value: String
19 |
20 | // MARK: Methods
21 |
22 | internal init(type: AuthenticationType, value: String) {
23 |
24 | self.type = type
25 | self.value = value
26 | }
27 |
28 | // MARK: - Private -
29 |
30 | private enum CodingKeys: String, CodingKey {
31 |
32 | case type = "type"
33 | case value = "value"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/BillingAddressField.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BillingAddressField.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Address field.
9 | internal struct BillingAddressField: Decodable {
10 |
11 | // MARK: - Internal -
12 | // MARK: Properties
13 |
14 | /// Address field name.
15 | internal let name: String
16 |
17 | /// Defines if the field is required
18 | internal let isRequired: Bool
19 |
20 | /// Field input order.
21 | internal let inputOrder: Int
22 |
23 | /// Field display order.
24 | internal let displayOrder: Int
25 |
26 | // MARK: - Private -
27 |
28 | private enum CodingKeys: String, CodingKey {
29 |
30 | case name = "name"
31 | case isRequired = "required"
32 | case inputOrder = "order_by"
33 | case displayOrder = "display_order"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/BillingAddressFormat.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BillingAddressFormat.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal struct BillingAddressFormat: Decodable {
9 |
10 | // MARK: - Internal -
11 | // MARK: Properties
12 |
13 | /// Address format name.
14 | internal let name: AddressFormat
15 |
16 | /// Address fields.
17 | internal let fields: [BillingAddressField]
18 | }
19 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/CreateCardRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CreateCardRequest.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Request body for Create Card API.
9 | internal struct CreateCardRequest: Encodable {
10 |
11 | // MARK: - Internal -
12 | // MARK: Properties
13 |
14 | /// Card source identifier (token identifier).
15 | internal let source: String
16 |
17 | // MARK: Methods
18 |
19 | /// Initializes create card request from the source of the card.
20 | ///
21 | /// - Parameter source: Card source identifier.
22 | internal init(_ source: Source) {
23 |
24 | self.source = source.identifier
25 | }
26 |
27 | // MARK: - Private -
28 |
29 | private enum CodingKeys: String, CodingKey {
30 |
31 | case source = "source"
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/CreateCardVerificationRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CreateCardVerificationRequest.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal struct CreateCardVerificationRequest: Encodable {
9 |
10 | // MARK: - Internal -
11 | // MARK: Properties
12 |
13 | internal let is3DSecureRequired: Bool?
14 |
15 | internal let shouldSaveCard: Bool
16 |
17 | internal let metadata: Metadata?
18 |
19 | internal let customer: Customer
20 |
21 | internal let currency: Currency
22 |
23 | internal let source: SourceRequest
24 |
25 | internal let redirect: TrackingURL
26 |
27 | internal let post: TrackingURL?
28 |
29 | internal let merchant: Merchant?
30 |
31 | // MARK: - Private -
32 |
33 | private enum CodingKeys: String, CodingKey {
34 |
35 | case is3DSecureRequired = "threeDSecure"
36 | case shouldSaveCard = "save_card"
37 | case metadata = "metadata"
38 | case customer = "customer"
39 | case currency = "currency"
40 | case source = "source"
41 | case redirect = "redirect"
42 | case post = "post"
43 | case merchant = "merchant"
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/CreateTokenApplePay.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CreateTokenApplePay.swift
3 | // goSellSDK
4 | //
5 | // Created by Osama Rabie on 11/01/2020.
6 | // Copyright © 2020 Tap Payments. All rights reserved.
7 | //
8 |
9 | internal struct CreateTokenApplePay: Encodable,Decodable {
10 |
11 | // MARK: - Internal -
12 | // MARK: Properties
13 |
14 | /// Card identifier.
15 | internal let appleToken: AppleTokenModel
16 | internal let paymentType: String
17 | // MARK: Methods
18 |
19 | /// Initializes the model with decoded apple pay token
20 | ///
21 | /// - Parameters:
22 | /// - appleToken: The base64 apple pay token
23 | internal init(appleToken: AppleTokenModel) {
24 |
25 | self.appleToken = appleToken
26 | self.paymentType = "applepay"
27 | }
28 |
29 | // MARK: - Private -
30 |
31 | private enum CodingKeys: String, CodingKey {
32 |
33 | case appleToken = "token_data"
34 | case paymentType = "type"
35 | }
36 | }
37 |
38 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/CreateTokenWithCardDataRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CreateTokenWithCardDataRequest.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Request model for token creation with card data.
9 | internal struct CreateTokenWithCardDataRequest: CreateTokenRequest {
10 |
11 | // MARK: - Internal -
12 | // MARK: Properties
13 |
14 | /// Card to create token for.
15 | internal let card: CreateTokenCard
16 |
17 | internal let merchant: Merchant?
18 |
19 | internal let route: Route = .tokens
20 |
21 | // MARK: - Internal -
22 | // MARK: Methods
23 |
24 | /// Initializes the request with card.
25 | ///
26 | /// - Parameter card: Card.
27 | internal init(card: CreateTokenCard, merchant: Merchant?) {
28 | self.card = card
29 | self.merchant = merchant
30 | }
31 |
32 | // MARK: - Private -
33 |
34 | private enum CodingKeys: String, CodingKey {
35 | case card = "card"
36 | case merchant = "merchant"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/CreateTokenWithSavedCardRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CreateTokenWithSavedCardRequest.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Request model for token creation with existing card data.
9 | internal struct CreateTokenWithSavedCardRequest: CreateTokenRequest {
10 |
11 | // MARK: - Internal -
12 | // MARK: Properties
13 |
14 | /// Saved card details.
15 | internal let savedCard: CreateTokenSavedCard
16 |
17 | internal let merchant: Merchant?
18 |
19 | internal let route: Route = .tokens
20 |
21 | // MARK: Methods
22 |
23 | /// Initializes the model with saved card.
24 | ///
25 | /// - Parameter savedCard: Saved card.
26 | internal init(savedCard: CreateTokenSavedCard, merchant: Merchant?) {
27 | self.savedCard = savedCard
28 | self.merchant = merchant
29 | }
30 |
31 | // MARK: - Private -
32 |
33 | private enum CodingKeys: String, CodingKey {
34 |
35 | case savedCard = "saved_card"
36 | case merchant = "merchant"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/DeleteCardResponse.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DeleteCardResponse.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal struct DeleteCardResponse: IdentifiableWithString, Decodable {
9 |
10 | // MARK: - Internal -
11 | // MARK: Properties
12 |
13 | internal let isDeleted: Bool
14 | internal let identifier: String
15 |
16 | // MARK: - Private -
17 |
18 | private enum CodingKeys: String, CodingKey {
19 |
20 | case isDeleted = "deleted"
21 | case identifier = "id"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/InternalSDKSettings.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InternalSDKSettings.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Internal SDK settings model
9 | internal struct InternalSDKSettings: Decodable {
10 |
11 | // MARK: - Internal -
12 | // MARK: Properties
13 |
14 | internal static let `default` = InternalSDKSettings(statusDisplayDuration: 5.0, otpResendInterval: 60.0, otpResendAttempts: 3)
15 |
16 | /// Visibility duration of payment status.
17 | internal let statusDisplayDuration: TimeInterval
18 |
19 | /// Time interval between OTP resends.
20 | internal let otpResendInterval: TimeInterval
21 |
22 | /// Number of attempts to resend OTP.
23 | internal let otpResendAttempts: Int
24 |
25 | // MARK: - Private -
26 |
27 | private enum CodingKeys: String, CodingKey {
28 |
29 | case statusDisplayDuration = "status_display_duration"
30 | case otpResendInterval = "otp_resend_interval"
31 | case otpResendAttempts = "otp_resend_attempts"
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/ListCardsResponse.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ListCardsResponse.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Response object for List All Cards API.
9 | internal struct ListCardsResponse: Decodable {
10 |
11 | // MARK: - Internal -
12 | // MARK: Properties
13 |
14 | /// Object type.
15 | internal let object: String
16 |
17 | /// Defines if there are more cards to load.
18 | internal let hasMore: Bool
19 |
20 | /// Cards.
21 | internal let cards: [SavedCard]
22 |
23 | // MARK: - Private -
24 |
25 | private enum CodingKeys: String, CodingKey {
26 |
27 | case object = "object"
28 | case hasMore = "has_more"
29 | case cards = "data"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/Merchant.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Merchant.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Merchant model.
9 | internal struct Merchant: Codable, OptionallyIdentifiableWithString {
10 |
11 | // MARK: - Internal -
12 | // MARK: Properties
13 |
14 | /// Merchant identifier.
15 | internal private(set) var identifier: String?
16 |
17 | /// Merchant name
18 | internal private(set) var name: String?
19 |
20 | /// Merchant logo URL
21 | internal private(set) var logoURL: URL?
22 |
23 | // MARK: Methods
24 |
25 | /// Initializes merchant with the identifier.
26 | ///
27 | /// - Parameter identifier: Merchant identifier.
28 | internal init(identifier: String) {
29 |
30 | self.identifier = identifier
31 | }
32 |
33 | // MARK: - Private -
34 |
35 | private enum CodingKeys: String, CodingKey {
36 |
37 | case identifier = "id"
38 | case name = "name"
39 | case logoURL = "logo"
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/Order.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Order.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal struct Order: IdentifiableWithString, Encodable {
9 |
10 | // MARK: - Internal -
11 | // MARK: Properties
12 |
13 | internal let identifier: String
14 |
15 | // MARK: Methods
16 |
17 | internal init(identifier: String) {
18 |
19 | self.identifier = identifier
20 | }
21 |
22 | // MARK: - Private -
23 |
24 | private enum CodingKeys: String, CodingKey {
25 |
26 | case identifier = "id"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/SDKSettings.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SDKSettings.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// goSell SDK Settings model.
9 | internal class SDKSettings: Decodable {
10 |
11 | // MARK: - Internal -
12 | // MARK: Properties
13 |
14 | /// Data.
15 | internal var data: SDKSettingsData?
16 |
17 | // MARK: - Private -
18 |
19 | private enum CodingKeys: String, CodingKey {
20 |
21 | case data = "data"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Models/TopupChargeModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TopupChargeModel.swift
3 | // goSellSDK
4 | //
5 | // Created by Osama Rabie on 6/24/21.
6 | //
7 |
8 | import Foundation
9 | /// TopUp Charge model.
10 | internal final class TopupChargeModel: NSObject,Codable {
11 |
12 | // MARK: - Public -
13 | // MARK: Properties
14 |
15 | /// The topup charge id
16 | private let id: String
17 |
18 | // MARK: - Private -
19 |
20 | internal enum CodingKeys: String, CodingKey {
21 |
22 | case id = "id"
23 | }
24 |
25 | // MARK: Methods
26 |
27 | init(id: String) {
28 |
29 | self.id = id
30 | }
31 | }
32 |
33 | // MARK: - Decodable
34 | extension TopupChargeModel {
35 |
36 | public convenience init(from decoder: Decoder) throws {
37 |
38 | let container = try decoder.container(keyedBy: CodingKeys.self)
39 |
40 | let id = try container.decode (String.self, forKey: .id)
41 |
42 | self.init(id:id)
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Protocols/Authenticatable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Authenticatable.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol Authenticatable: Decodable {
9 |
10 | /// Unique object identifier.
11 | var identifier: String { get }
12 |
13 | /// Charge authentication if required.
14 | var authentication: Authentication? { get }
15 |
16 | /// Authentication route.
17 | static var authenticationRoute: Route { get }
18 | }
19 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Protocols/AuthorizeProtocol.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AuthorizeProtocol.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol AuthorizeProtocol: ChargeProtocol {
9 |
10 | /// Authorize action.
11 | var authorizeAction: AuthorizeActionResponse { get }
12 | }
13 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Protocols/CreateTokenRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CreateTokenRequest.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol CreateTokenRequest: Encodable {
9 |
10 | var route: Route { get }
11 | }
12 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Protocols/EmptyInitializable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // EmptyInitializable.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol EmptyInitializable {
9 |
10 | init()
11 | }
12 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Protocols/IdentifiableWithString.swift:
--------------------------------------------------------------------------------
1 | //
2 | // IdentifiableWithString.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// All models that have identifier are conforming to this protocol.
9 | internal protocol IdentifiableWithString {
10 |
11 | // MARK: Properties
12 |
13 | /// Unique identifier of an object.
14 | var identifier: String { get }
15 | }
16 |
17 |
18 | extension Array where Element: Hashable {
19 | func removingDuplicates() -> [Element] {
20 | var addedDict = [Element: Bool]()
21 |
22 | return filter {
23 | addedDict.updateValue(true, forKey: $0) == nil
24 | }
25 | }
26 |
27 | mutating func removeDuplicates() {
28 | self = self.removingDuplicates()
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Protocols/InitializableWithString.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InitializableWithString.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol InitializableWithString {
9 |
10 | init?(string: String)
11 | }
12 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Protocols/OptionallyIdentifiableWithString.swift:
--------------------------------------------------------------------------------
1 | //
2 | // OptionallyIdentifiableWithString.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// All models that have identifier are conforming to this protocol.
9 | internal protocol OptionallyIdentifiableWithString {
10 |
11 | // MARK: Properties
12 |
13 | /// Unique identifier of an object.
14 | var identifier: String? { get }
15 | }
16 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Protocols/ProportionalToOrigin.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ProportionalToOrigin.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol ProportionalToOrigin {
9 |
10 | var inUnitsOfOrigin: Decimal { get }
11 | }
12 |
13 | internal extension ProportionalToOrigin {
14 |
15 | func `in`(_ another: Self) -> Decimal {
16 |
17 | return another.inUnitsOfOrigin / self.inUnitsOfOrigin
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Protocols/Retrievable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Retrievable.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol Retrievable: IdentifiableWithString, Decodable {
9 |
10 | static var retrieveRoute: Route { get }
11 | }
12 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Internal/Utils/ErrorUtils.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ErrorUtils.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal class ErrorUtils {
9 |
10 | // MARK: - Internal -
11 | // MARK: Methods
12 |
13 | internal static func createEnumStringInitializationError(for enumerationType: T.Type, value: String) -> TapSDKError {
14 |
15 | let userInfo: [String: String] = [
16 |
17 | ErrorConstants.UserInfoKeys.enumName: String(describing: enumerationType),
18 | ErrorConstants.UserInfoKeys.enumValue: value
19 | ]
20 |
21 | let underlyingError = NSError(domain: ErrorConstants.internalErrorDomain, code: InternalError.invalidEnumValue.rawValue, userInfo: userInfo)
22 | return TapSDKKnownError(type: .internal, error: underlyingError, response: nil, body: nil)
23 | }
24 |
25 | // MARK: - Private -
26 | // MARK: Methods
27 |
28 | //@available(*, unavailable) private init() { }
29 | }
30 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Public/Enums/SDKMode.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SDKMode.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Enum defining SDK mode.
9 | @objc public enum SDKMode: Int, CaseIterable {
10 |
11 | /// Sandbox mode.
12 | @objc(Sandbox) case sandbox
13 |
14 | /// Production mode.
15 | @objc(Production) case production
16 | }
17 |
18 | // MARK: - CustomStringConvertible
19 | extension SDKMode: CustomStringConvertible {
20 |
21 | public var description: String {
22 |
23 | switch self {
24 |
25 | case .sandbox: return "Sandbox"
26 | case .production: return "Production"
27 |
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Public/Enums/cardType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // cardType.swift
3 | // goSellSDK
4 | //
5 | // Created by Osama Rabie on 01/03/2020.
6 | // Copyright © 2020 Tap Payments. All rights reserved.
7 | //
8 |
9 |
10 | /// Enum defining SDK mode.
11 | @objc public enum cardTypes: Int, CaseIterable {
12 |
13 | @objc(Credit) case Credit
14 | @objc(Debit) case Debit
15 | @objc(All) case All
16 | }
17 |
18 | // MARK: - CustomStringConvertible
19 | extension cardTypes: CustomStringConvertible {
20 |
21 | public var description: String {
22 |
23 | switch self {
24 | case .Credit: return "Credit"
25 | case .Debit: return "Debit"
26 | case .All: return "All"
27 | }
28 | }
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Public/Models/Acquirer.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Acquirer.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Acquirer information class.
9 | @objcMembers public final class Acquirer: NSObject, Decodable {
10 |
11 | // MARK: - Public -
12 | // MARK: Properties
13 |
14 | /// Acquirer response.
15 | public private(set) var response: Response?
16 |
17 | // MARK: - Private -
18 |
19 | private enum CodingKeys: String, CodingKey {
20 |
21 | case response = "response"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Public/Models/AuthorizeActionResponse.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AuthorizeActionResponse.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Authorize action response class.
9 | @objcMembers public final class AuthorizeActionResponse: AuthorizeAction {
10 |
11 | // MARK: - Public -
12 | // MARK: Properties
13 |
14 | /// Authorize action status.
15 | public private(set) var status: AuthorizeActionStatus = .failed
16 |
17 | // MARK: - Private -
18 |
19 | private enum CodingKeys: String, CodingKey {
20 |
21 | case type = "type"
22 | case time = "time"
23 | case status = "status"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Public/Models/Metadata.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Metadata.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Metadata object.
9 | public typealias Metadata = [String: String]
10 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Public/Models/SecretKey.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SecretKey.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Secret key class.
9 | @objcMembers public final class SecretKey: NSObject {
10 |
11 | // MARK: - Public -
12 | // MARK: Properties
13 |
14 | /// Sandbox secret key.
15 | public let sandbox: String
16 |
17 | /// Production secret key.
18 | public let production: String
19 |
20 | // MARK: Methods
21 |
22 | /// Initializes secret key with sandbox and production keys.
23 | ///
24 | /// - Parameters:
25 | /// - sandbox: Sandbox key.
26 | /// - production: Production key.
27 | public required init(sandbox: String, production: String) {
28 |
29 | self.sandbox = sandbox
30 | self.production = production
31 |
32 | super.init()
33 | }
34 |
35 | // MARK: - Internal -
36 | // MARK: Properties
37 |
38 | internal static let empty: SecretKey = SecretKey(sandbox: .tap_empty, production: .tap_empty)
39 | }
40 |
--------------------------------------------------------------------------------
/goSellSDK/Core/API/Public/Models/Transfer.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Transfer.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Transfer model.
9 | @objcMembers public final class Transfer: NSObject, OptionallyIdentifiableWithString, Decodable {
10 |
11 | // MARK: - Public -
12 | // MARK: Properties
13 |
14 | /// Identifier.
15 | public private(set) var identifier: String?
16 |
17 | /// Transfer amount.
18 | public private(set) var amount: Decimal?
19 |
20 | /// Transfer currency
21 | public private(set) var currency: Currency?
22 |
23 | /// Reversed amount.
24 | public private(set) var reversedAmount: Decimal?
25 |
26 | /// Reversal identifiers.
27 | public private(set) var reversalIdentifiers: [String]?
28 |
29 | // MARK: - Private -
30 |
31 | private enum CodingKeys: String, CodingKey {
32 |
33 | case identifier = "id"
34 | case amount = "amount"
35 | case currency = "currency"
36 | case reversedAmount = "reversed_amount"
37 | case reversalIdentifiers = "reversal_id"
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Cells/Collection View/BaseCollectionViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BaseCollectionViewCell.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UICollectionViewCell.UICollectionViewCell
9 |
10 | /// Base Collection View Cell.
11 | internal class BaseCollectionViewCell: UICollectionViewCell {
12 |
13 | internal override func awakeFromNib() {
14 |
15 | super.awakeFromNib()
16 |
17 | self.translatesAutoresizingMaskIntoConstraints = true
18 | self.contentView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
19 |
20 | if let glowingCell = self as? GlowingViewHandler {
21 |
22 | glowingCell.prepareForGlowing()
23 | }
24 |
25 | self.tap_updateLayoutDirectionIfRequired()
26 | }
27 |
28 | internal override func prepareForReuse() {
29 |
30 | super.prepareForReuse()
31 |
32 | if let glowingCell = self as? GlowingViewHandler {
33 |
34 | glowingCell.prepareForGlowing()
35 | }
36 |
37 | self.tap_updateLayoutDirectionIfRequired()
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Cells/Table View/EmptyTableViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // EmptyTableViewCell.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import CoreGraphics
9 | import class UIKit.UITableViewCell.UITableViewCell
10 |
11 | internal class EmptyTableViewCell: BaseTableViewCell {
12 |
13 | // MARK: - Internal -
14 | // MARK: Properties
15 |
16 | internal weak var model: EmptyTableViewCellModel?
17 | }
18 |
19 | // MARK: - LoadingWithModelCell
20 | extension EmptyTableViewCell: LoadingWithModelCell {
21 |
22 | internal func updateContent(animated: Bool) {
23 | self.backgroundColor = UIColor.clear
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Cells/Table View/GroupTableViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // GroupTableViewCell.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import CoreGraphics
9 | import class UIKit.UILabel.UILabel
10 | import class UIKit.UITableViewCell.UITableViewCell
11 |
12 | internal class GroupTableViewCell: BaseTableViewCell {
13 |
14 | // MARK: - Internal -
15 | // MARK: Properties
16 |
17 | internal weak var model: GroupTableViewCellModel?
18 |
19 | // MARK: - Private -
20 | // MARK: Properties
21 |
22 | @IBOutlet private weak var titleLabel: UILabel?
23 | }
24 |
25 | // MARK: - LoadingWithModelCell
26 | extension GroupTableViewCell: LoadingWithModelCell {
27 |
28 | internal func updateContent(animated: Bool) {
29 |
30 | self.titleLabel?.setLocalizedText(self.model?.key)
31 | self.titleLabel?.setTextStyle(Theme.current.paymentOptionsCellStyle.group.titleStyle)
32 |
33 | self.backgroundColor = UIColor.clear
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Cells/Table View/PaymentCardCellSeprator.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PaymentCardCellSeprator.swift
3 | // goSellSDK
4 | //
5 | // Created by Osama Rabie on 27/01/2020.
6 | // Copyright © 2020 Tap Payments. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class PaymentCardCellSeprator: UIView {
12 |
13 | override init(frame: CGRect) {
14 | super.init(frame: frame)
15 | fillBackGroundColor()
16 | }
17 |
18 | required init?(coder: NSCoder) {
19 | super.init(coder: coder)
20 | fillBackGroundColor()
21 | }
22 |
23 |
24 | func fillBackGroundColor()
25 | {
26 | self.backgroundColor = UIColor.init(tap_hex: "E1E1E1")?.loadCompatibleDarkModeColor(forColorNamed: "DefaultCardSeparatorColor")
27 | }
28 |
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Cells/Table View/PaymentCellSeprator.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PaymentCellSeprator.swift
3 | // goSellSDK
4 | //
5 | // Created by Osama Rabie on 21/01/2020.
6 | // Copyright © 2020 Tap Payments. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class PaymentCellSeprator: UIView {
12 |
13 | override init(frame: CGRect) {
14 | super.init(frame: frame)
15 | fillBackGroundColor()
16 | }
17 |
18 | required init?(coder: NSCoder) {
19 | super.init(coder: coder)
20 | fillBackGroundColor()
21 | }
22 |
23 |
24 | func fillBackGroundColor()
25 | {
26 | self.backgroundColor = UIColor.init(tap_hex: "E1E1E1")?.loadCompatibleDarkModeColor(forColorNamed: "DefaultSeparatorCellColor")
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Data/WebPaymentURLDecision.swift:
--------------------------------------------------------------------------------
1 | //
2 | // WebPaymentURLDecision.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Web Payment URL decision.
9 | internal struct WebPaymentURLDecision {
10 |
11 | // MARK: - Internal -
12 | // MARK: Properties
13 |
14 | /// Defines if URL should be loaded.
15 | internal let shouldLoad: Bool
16 |
17 | /// Defines if web payment screen should be closed.
18 | internal let shouldCloseWebPaymentScreen: Bool
19 |
20 | /// Defines if web payment flow redirections are finished.
21 | internal let redirectionFinished: Bool
22 |
23 | /// Charge or authorize identifier.
24 | internal let tapID: String?
25 | }
26 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Enums/AppearanceMode.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppearanceMode.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// Internal SDK appearance mode.
9 | ///
10 | /// - fullscreen: Fullscreen mode.
11 | /// - windowed: Windowed mode.
12 | internal enum AppearanceMode: String, Decodable {
13 |
14 | case fullscreen
15 | case windowed
16 |
17 | // MARK: - Internal -
18 | // MARK: Methods
19 |
20 | internal init(publicAppearance: SDKAppearanceMode, transactionMode: TransactionMode) {
21 |
22 | switch publicAppearance {
23 |
24 | case .fullscreen: self = .fullscreen
25 | case .windowed: self = .windowed
26 | case .default: self = (transactionMode == .cardSaving || transactionMode == .cardTokenization) ? .windowed : .fullscreen
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Enums/Image.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Image.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UIImage.UIImage
9 |
10 | /// Enum representing image with the source to load from.
11 | ///
12 | /// - named: Local image with `name` from `bundle`
13 | /// - remote: Remote image with source url.
14 | internal enum Image: Equatable {
15 |
16 | case named(String, Bundle)
17 | case ready(UIImage)
18 | case remote(URL)
19 | }
20 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Enums/LocalizedTextAlignment.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LocalizedTextAlignment.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import enum UIKit.NSText.NSTextAlignment
9 |
10 | internal enum LocalizedTextAlignment: String, Decodable {
11 |
12 | case left = "left"
13 | case center = "center"
14 | case right = "right"
15 | case leading = "leading"
16 | case trailing = "trailing"
17 | case natural = "natural"
18 | case justified = "justified"
19 |
20 | // MARK: Properties
21 |
22 | internal var textAlignment: NSTextAlignment {
23 |
24 | switch self {
25 |
26 | case .left: return .left
27 | case .center: return .center
28 | case .right: return .right
29 | case .leading: return LocalizationManager.shared.layoutDirection == .leftToRight ? .left : .right
30 | case .trailing: return LocalizationManager.shared.layoutDirection == .leftToRight ? .right : .left
31 | case .natural: return .natural
32 | case .justified: return .justified
33 |
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Enums/OTPTimerState.swift:
--------------------------------------------------------------------------------
1 | //
2 | // OTPTimerState.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal enum OTPTimerState {
9 |
10 | case ticking(TimeInterval)
11 | case notTicking
12 | case attemptsFinished
13 | }
14 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Enums/PaymentStatus.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PaymentStatus.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal enum PaymentStatus {
9 |
10 | case cancelled
11 | case successfulCharge(Charge)
12 | case successfulAuthorize(Authorize)
13 | case successfulCardSave(CardVerification)
14 | case successfulCardTokenize(Token, Bool)
15 | case chargeFailure(Charge?, TapSDKError?)
16 | case authorizationFailure(Authorize?, TapSDKError?)
17 | case cardSaveFailure(CardVerification?, TapSDKError?)
18 | case cardTokenizeFailure(TapSDKError)
19 | }
20 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Enums/StatusBarStyle.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StatusBarStyle.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import enum UIKit.UIApplication.UIStatusBarStyle
9 |
10 | internal enum StatusBarStyle: String, Decodable {
11 |
12 | case light = "light"
13 | case dark = "dark"
14 |
15 | // MARK: - Internal -
16 | // MARK: Properties
17 |
18 | internal var uiStatusBarStyle: UIStatusBarStyle {
19 |
20 | switch self {
21 |
22 | case .light: return .lightContent
23 | case .dark: return .default
24 |
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Enums/TextInputType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TextInputType.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal enum TextInputType {
9 |
10 | case text
11 | case digits
12 | }
13 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Enums/ValidationType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ValidationType.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal enum ValidationType {
9 |
10 | case cardNumber
11 | case expirationDate
12 | case cvv
13 | case nameOnCard
14 | case addressOnCard
15 | case saveCard
16 | }
17 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Enums/ViewControllerOperation.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewControllerOperation.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal enum ViewControllerOperation {
9 |
10 | case presentation
11 | case dismissal
12 | }
13 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/AddressType+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AddressType+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | extension AddressType: Transformable {
9 |
10 | internal init?(untransformedValue: Any?) {
11 |
12 | if let stringValue = untransformedValue as? String {
13 |
14 | try? self.init(string: stringValue)
15 | }
16 | else if let addressType = untransformedValue as? AddressType {
17 |
18 | self.init(rawValue: addressType.rawValue)
19 | }
20 | else {
21 |
22 | return nil
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/AmountedCurrency+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AmountedCurrency+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal extension AmountedCurrency {
9 |
10 | // MARK: - Internal -
11 | // MARK: Properties
12 |
13 | var displayValue: String {
14 |
15 | return CurrencyFormatter.shared.format(self)
16 | }
17 |
18 | var readableCurrencyName: String {
19 |
20 | let locale = LocalizationManager.shared.selectedLocale
21 |
22 | if let currencyName = locale.localizedString(forCurrencyCode: self.currency.isoCode) {
23 |
24 | return currencyName.prefix(1).capitalized + currencyName.dropFirst()
25 | }
26 | else {
27 |
28 | return self.currency.isoCode
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/BillingAddressField+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BillingAddressField+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal extension BillingAddressField {
9 |
10 | // MARK: - Internal -
11 | // MARK: Properties
12 |
13 | func canBeFilled(with data: Any?, considering specification: AddressField) -> Bool {
14 |
15 | switch specification.type {
16 |
17 | case .dropdown: return true
18 |
19 | case .textInput(let inputType):
20 |
21 | if data == nil {
22 |
23 | return !self.isRequired
24 | }
25 |
26 | guard let string = data as? String else { return false }
27 | if self.isRequired && string.isEmpty { return false }
28 |
29 | switch inputType {
30 |
31 | case .digits:
32 |
33 | return string.tap_containsOnlyDigits
34 |
35 | case .text:
36 |
37 | return true
38 | }
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/Bundle+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Bundle+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal extension Bundle {
9 |
10 | static let goSellSDKResources: Bundle = {
11 |
12 | guard let result = Bundle(for: PaymentContentViewController.self).tap_childBundle(named: Constants.goSellSDKResourcesBundleName) else {
13 |
14 | fatalError("There is no \(Constants.goSellSDKResourcesBundleName) bundle.")
15 | }
16 |
17 | return result
18 | }()
19 |
20 | private struct Constants {
21 |
22 | fileprivate static let goSellSDKResourcesBundleName = "goSellSDKResources"
23 |
24 | //@available(*, unavailable) private init() { }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/Comparable+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Comparable+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal extension Comparable {
9 |
10 | // MARK: - Internal -
11 | // MARK: Methods
12 |
13 | func tap_isIn(_ range: ClosedRange) -> Bool {
14 |
15 | return range.contains(self)
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/EditableTextInsetsTextField+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // EditableTextInsetsTextFieldV2.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class EditableTextInsetsTextFieldV2.EditableTextInsetsTextField
9 |
10 | internal extension EditableTextInsetsTextField {
11 |
12 | // MARK: - Internal -
13 | // MARK: Properties
14 |
15 | var localizedClearButtonPosition: EditableTextInsetsTextField.ClearButtonPosition {
16 |
17 | get {
18 |
19 | return self.clearButtonPosition
20 | }
21 | set {
22 |
23 | let ltr = LocalizationManager.shared.layoutDirection == .leftToRight
24 |
25 | var desiredPosition: EditableTextInsetsTextField.ClearButtonPosition
26 |
27 | switch newValue {
28 |
29 | case .left: desiredPosition = ltr ? .left : .right
30 | case .right: desiredPosition = ltr ? .right : .left
31 |
32 | }
33 |
34 | self.clearButtonPosition = desiredPosition
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/Equatable+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Equatable+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal extension Equatable {
9 |
10 | // MARK: - Internal -
11 | // MARK: Methods
12 |
13 | func tap_isIn(_ array: [Self]) -> Bool {
14 |
15 | return array.contains(self)
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/NSTextAlignment+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSTextAlignment+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import enum UIKit.NSText.NSTextAlignment
9 |
10 | internal extension NSTextAlignment {
11 |
12 | // MARK: - Internal -
13 | // MARK: Properties
14 |
15 | var tap_localizedTextAlignment: LocalizedTextAlignment {
16 |
17 | switch self {
18 |
19 | case .left: return .left
20 | case .center: return .center
21 | case .right: return .right
22 | case .natural: return .natural
23 | case .justified: return .justified
24 |
25 | @unknown default: return .left
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/String+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // String+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | // MARK: - Transformable
9 | extension String: Transformable {
10 |
11 | internal init?(untransformedValue: Any?) {
12 |
13 | guard let stringValue = untransformedValue as? String else { return nil }
14 | self.init(stringValue)
15 | }
16 |
17 | internal func trunc(length: Int, trailing: String = "…") -> String {
18 | return (self.count > length) ? self.prefix(length) + trailing : self
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/TapSearchView+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TapSearchView+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class TapSearchViewV2.TapSearchView
9 |
10 | internal extension TapSearchView {
11 |
12 | // MARK: - Internal -
13 | // MARK: Methods
14 |
15 | func setStyle(_ style: SearchBarStyle) {
16 | self.searchField.setTextStyle(style.text, style.placeholder)
17 | self.searchHolderBackgroundColor = style.searchHolderBackgroundColor.color
18 | }
19 |
20 | func setBackGround(_ color: UIColor) {
21 | self.backgroundColor = color
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/UIButton+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIButton+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class TapAdditionsKitV2.UIButton
9 |
10 | internal extension UIButton {
11 |
12 | func setTitleStyle(_ style: TextStyle) {
13 |
14 | self.titleLabel?.font = style.font.localized
15 | self.titleLabel?.textAlignment = style.alignment.textAlignment
16 | self.titleLabel?.textColor = style.color.color
17 | }
18 | }
19 |
20 | // MARK: - SingleLocalizable
21 | extension UIButton: SingleLocalizable {
22 |
23 | internal func setLocalized(text: String?) {
24 |
25 | self.tap_title = text
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/UIColor+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIColor+Additions.swift
3 | // goSellSDK
4 | //
5 | // Created by Osama Rabie on 21/01/2020.
6 | // Copyright © 2020 Tap Payments. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | internal extension UIColor
12 | {
13 | func loadCompatibleDarkModeColor(forColorNamed:String)->UIColor
14 | {
15 |
16 | if #available(iOS 13.0, *), Process.shared.externalSession?.dataSource?.uiModeDisplay?.userInterface == .dark {
17 |
18 | if let color = UIColor(named: forColorNamed, in: .goSellSDKResources, compatibleWith: nil)
19 | {
20 | return color
21 | }
22 | }
23 | return self
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/UIEdgeInsets+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIEdgeInsets+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import struct UIKit.UIGeometry.UIEdgeInsets
9 |
10 | internal extension UIEdgeInsets {
11 |
12 | // MARK: - Internal -
13 | // MARK: Properties
14 |
15 | var tap_localized: UIEdgeInsets {
16 |
17 | switch LocalizationManager.shared.layoutDirection {
18 |
19 | case .leftToRight: return self
20 | case .rightToLeft: return self.tap_mirrored
21 |
22 | @unknown default:
23 |
24 | print("Unknown layout direction to localize edge insets: \(LocalizationManager.shared.layoutDirection)")
25 | return self
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/UIImage+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIImage+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UIImage.UIImage
9 |
10 | internal extension UIImage {
11 |
12 | // MARK: - Internal -
13 | // MARK: Properties
14 |
15 | var tap_asResourceImage: ResourceImage {
16 |
17 | return ResourceImage(data: self.tap_pngData!, scale: scale)!
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/UILabel+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UILabel+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UILabel.UILabel
9 |
10 | extension UILabel {
11 |
12 | internal func setTextStyle(_ textStyle: TextStyle) {
13 | DispatchQueue.main.async {
14 | self.textAlignment = textStyle.alignment.textAlignment
15 | self.font = textStyle.font.localized
16 | self.textColor = textStyle.color.color
17 | }
18 | }
19 | }
20 |
21 | extension UILabel: SingleLocalizable {
22 |
23 | // MARK: - Internal -
24 | // MARK: Properties
25 |
26 | internal var tap_localizedTextAlignment: LocalizedTextAlignment {
27 |
28 | get {
29 |
30 | return self.textAlignment.tap_localizedTextAlignment
31 | }
32 | set {
33 |
34 | self.textAlignment = newValue.textAlignment
35 | }
36 | }
37 |
38 | // MARK: Methods
39 |
40 | internal func setLocalized(text: String?) {
41 |
42 | self.text = text
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/UIStoryboard+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIStoryboard+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UIStoryboard.UIStoryboard
9 |
10 | internal extension UIStoryboard {
11 |
12 | // MARK: - Internal -
13 | // MARK: Properties
14 |
15 | /// Reference to payment storyboard.
16 | static let goSellSDKPayment = UIStoryboard(name: UIStoryboardGoSellConstants.paymentStoryboardName, bundle: .goSellSDKResources)
17 |
18 | /// Reference to popups storyboard.
19 | static let goSellSDKPopups = UIStoryboard(name: UIStoryboardGoSellConstants.popupsStoryboardName, bundle: .goSellSDKResources)
20 |
21 | // MARK: - Private -
22 |
23 | private struct UIStoryboardGoSellConstants {
24 |
25 | fileprivate static let paymentStoryboardName = "Payment"
26 | fileprivate static let popupsStoryboardName = "Popups"
27 |
28 | //@available(*, unavailable) private init() { }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/UIView+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIView+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import struct TapAdditionsKitV2.TypeAlias
9 | import enum UIKit.UIView.UISemanticContentAttribute
10 | import class UIKit.UIView.UIView
11 |
12 | internal extension UIView {
13 |
14 | // MARK: - Internal -
15 | // MARK: Methods
16 |
17 | func tap_updateLayoutDirectionIfRequired() {
18 |
19 | if #available(iOS 9.0, *) {
20 |
21 | let requiredContentAttribute: UISemanticContentAttribute = LocalizationManager.shared.layoutDirection == .rightToLeft ? .forceRightToLeft : .forceLeftToRight
22 | if requiredContentAttribute != self.semanticContentAttribute {
23 |
24 | self.tap_applySemanticContentAttribute(requiredContentAttribute)
25 | }
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Extensions/UIWindow.Level+Additions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIWindow.Level+Additions.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UIWindow.UIWindow
9 |
10 | #if !swift(>=4.2)
11 | import var UIKit.UIWindow.UIWindowLevelStatusBar
12 | #endif
13 |
14 | internal extension UIWindow.Level {
15 |
16 | static var tap_statusBar: UIWindow.Level {
17 |
18 | #if swift(>=4.2)
19 | return .statusBar
20 | #else
21 | return UIWindowLevelStatusBar
22 | #endif
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Process/Process.AddressInputHandler.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PaymentProcess.AddressInputHandler.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol AddressInputHandlerInterface {
9 |
10 | func prepareAddressInputController(_ addressInputController: AddressInputViewController)
11 | }
12 |
13 | internal extension Process {
14 |
15 | final class AddressInputHandler: AddressInputHandlerInterface {
16 |
17 | // MARK: - Internal -
18 | // MARK: Properties
19 |
20 | internal unowned let process: ProcessInterface
21 |
22 | // MARK: Methods
23 |
24 | internal init(process: ProcessInterface) {
25 |
26 | self.process = process
27 | }
28 |
29 | internal func prepareAddressInputController(_ addressInputController: AddressInputViewController) {
30 |
31 | guard let cardInputCellViewModel = self.process.viewModelsHandlerInterface.cellModels(of: CardInputTableViewCellModel.self).first else { return }
32 | guard let validator = cardInputCellViewModel.validator(of: .addressOnCard) as? CardAddressValidator else { return }
33 |
34 | addressInputController.setValidator(validator)
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Process/Process.Wrapped.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Process.ImplementationWrapper.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal extension Process {
9 |
10 | final class Wrapped {
11 |
12 | internal func implementation() -> Implementation? {
13 |
14 | return self.erasedTypeImplementation as? Process.Implementation
15 | }
16 |
17 | internal init(_ implementation: Process.Implementation) {
18 |
19 | self.erasedTypeImplementation = implementation
20 | }
21 |
22 | // MARK: - Private -
23 | // MARK: Properties
24 |
25 | private let erasedTypeImplementation: Any
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Process/ProcessHandlerInterface.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ProcessHandlerInterface.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol ProcessHandlerInterface: ClassProtocol {
11 |
12 | associatedtype Mode
13 | associatedtype ProcessClass: ProcessGenericInterface where ProcessClass.HandlerMode == Self.Mode
14 |
15 | var process: ProcessClass { get }
16 |
17 | init(process: ProcessClass)
18 | }
19 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Process/ProcessMode.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ProcessMode.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol ProcessMode {}
9 | internal protocol Payment: ProcessMode {}
10 | internal protocol CardSaving: ProcessMode {}
11 | internal protocol CardTokenization: ProcessMode {}
12 |
13 | internal class ProcessModeClass: ProcessMode {}
14 |
15 | internal class PaymentClass: ProcessModeClass, Payment {}
16 | internal class CardSavingClass: ProcessModeClass, CardSaving {}
17 | internal class CardTokenizationClass: ProcessModeClass, CardTokenization {}
18 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/AddressFieldsDataManagerLoadingListener.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AddressFieldsDataManagerLoadingListener.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol AddressFieldsDataManagerLoadingListener: ClassProtocol {
11 |
12 | func addressFieldsDataManagerDidStartLoadingFormats()
13 | func addressFieldsDataManagerDidStopLoadingFormats()
14 | }
15 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/BindingWithModelCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BindingWithModelCell.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol BindingWithModelCell: LoadingWithModelCell {
9 |
10 | var isContentBinded: Bool { get }
11 |
12 | /// Binds cell's content with the model (e.g. setting up table view data source with the model ).
13 | func bindContent()
14 |
15 | /// Unbinds cell's content from the model.
16 | func unbindContent()
17 | }
18 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/CardAddressDataStorage.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CardAddressDataStorage.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol CardAddressDataStorage: ClassProtocol {
11 |
12 | func cardInputData(for field: BillingAddressField) -> Any?
13 | }
14 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/CardAddressInputListener.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CardAddressInputListener.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | /// Protocol to listen to input changes.
11 | internal protocol CardAddressInputListener: ClassProtocol {
12 |
13 | /// Notifies the receiver that input has changed in a given field.
14 | ///
15 | /// - Parameters:
16 | /// - field: Input field.
17 | /// - value: Input value.
18 | func inputChanged(in field: BillingAddressField, to value: Any?)
19 | }
20 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/CardBrandChangeReporting.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CardBrandChangeReporting.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol CardBrandChangeReporting: ClassProtocol {
11 |
12 | func cardNumberValidator(_ validator: CardNumberValidator, cardNumberInputChanged cardNumber: String)
13 | func recognizedCardBrandChanged(_ definedCardBrand: BrandWithScheme)
14 | }
15 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/CardCollectionViewCellLoading.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CardCollectionViewCellLoading.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 | import class UIKit.UIImage.UIImage
10 |
11 | internal protocol CardCollectionViewCellLoading: ClassProtocol {
12 |
13 | var isSelected: Bool { get }
14 | var smallImage: UIImage? { get }
15 | var bigImage: UIImage { get }
16 | var checkmarkImage: UIImage { get }
17 | var currencyLabelText: String { get }
18 | var cardNumberText: String { get }
19 |
20 | var deleteCardImage: UIImage { get }
21 |
22 | var isDeleteCellMode: Bool { get }
23 |
24 | func cellTapDetected()
25 |
26 | func cellLongPressDetected()
27 |
28 | func deleteCardButtonClicked()
29 | }
30 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/CardScannerViewControllerDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CardScannerViewControllerDelegate.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol CardScannerViewControllerDelegate: ClassProtocol {
11 |
12 | func cardScannerController(_ scannerController: CardScannerViewController, didScan cardNumber: String?, expirationDate: ExpirationDate?, cvv: String?, cardholderName: String?)
13 | }
14 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/CardValidatorDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CardValidatorDelegate.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol CardValidatorDelegate: ClassProtocol {
11 |
12 | func validationStateChanged(to valid: Bool, on type: ValidationType)
13 |
14 | func cardValidator(_ validator: CardValidator, inputDataChanged data: Any?)
15 | }
16 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/CountrySelectionViewControllerDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CountrySelectionViewControllerDelegate.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol CountrySelectionViewControllerDelegate: ClassProtocol {
11 |
12 | func countriesSelectionViewControllerDidFinish(with country: Country, changed: Bool)
13 | }
14 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/CurrencySelectionViewControllerDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CurrencySelectionViewControllerDelegate.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol CurrencySelectionViewControllerDelegate: ClassProtocol {
11 |
12 | func currencySelectionViewControllerDidFinish(with currency: AmountedCurrency, changed: Bool)
13 | }
14 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/DataManagerWithFilteredData.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DataManagerWithFilteredData.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol DataManagerWithFilteredData: ClassProtocol {
11 |
12 | associatedtype DataModel: Filterable
13 |
14 | var filterQuery: String? { get set }
15 |
16 | var allData: [DataModel] { get }
17 | var filteredData: [DataModel] { get set }
18 | }
19 |
20 | internal extension DataManagerWithFilteredData {
21 |
22 | func setFilter(_ query: String?) {
23 |
24 | self.filterQuery = query
25 |
26 | if let nonnullQuery = query, !nonnullQuery.isEmpty {
27 |
28 | self.filteredData = self.allData.filter { $0.matchesFilter(nonnullQuery) }
29 | }
30 | else {
31 |
32 | self.filteredData = self.allData
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/DataValidation.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DataValidation.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 | import class UIKit.UITextField.UITextField
10 |
11 | /// Data validation protocol.
12 | internal protocol DataValidation: ClassProtocol {
13 |
14 | var validationType: ValidationType { get }
15 |
16 | var isDataValid: Bool { get }
17 |
18 | func validate()
19 | }
20 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/Filterable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Filterable.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol Filterable {
9 |
10 | func matchesFilter(_ filterText: String) -> Bool
11 | }
12 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/FilterableByCurrency.swift:
--------------------------------------------------------------------------------
1 | //
2 | // FilterableByCurrency.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol FilterableByCurrency {
9 |
10 | var supportedCurrencies: [Currency] { get }
11 | }
12 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/InstantiatableFromStoryboard.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InstantiatableFromStoryboard.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UIStoryboard.UIStoryboard
9 | import class UIKit.UIViewController.UIViewController
10 |
11 | internal protocol InstantiatableFromStoryboard where Self: UIViewController {
12 |
13 | static var hostingStoryboard: UIStoryboard { get }
14 | }
15 |
16 | internal extension InstantiatableFromStoryboard {
17 |
18 | static func instantiate() -> Self {
19 |
20 | let identifier = self.tap_className
21 | guard let result = self.hostingStoryboard.instantiateViewController(withIdentifier: identifier) as? Self else {
22 |
23 | fatalError("Unable to load \(identifier) from storyboard.")
24 | }
25 |
26 | return result
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/InteractivePopViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InteractivePopViewController.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | @objc internal protocol InteractivePopViewController {
9 |
10 | var interactivePopTransition: UINavigationControllerPopInteractionController? { get }
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/InternalSessionProtocol.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InternalSessionProtocol.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol InternalSessionProtocol: SessionProtocol {
9 |
10 | var externalSession: SessionProtocol { get }
11 | }
12 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/LayoutDirectionObserver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LayoutDirectionObserver.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 | import class UIKit.UIView.UIView
10 |
11 | internal protocol LayoutDirectionObserver: ClassProtocol {
12 |
13 | var viewToUpdateLayoutDirection: UIView { get }
14 | func layoutDirectionChanged()
15 | }
16 |
17 | internal extension LayoutDirectionObserver {
18 |
19 | func startMonitoringLayoutDirectionChanges() -> NSObjectProtocol {
20 |
21 | return NotificationCenter.default.addObserver(forName: .tap_sdkLayoutDirectionChanged, object: nil, queue: .main) { [weak self] _ in
22 |
23 | self?.viewToUpdateLayoutDirection.tap_updateLayoutDirectionIfRequired()
24 | self?.layoutDirectionChanged()
25 | }
26 | }
27 |
28 | func stopMonitoringLayoutDirectionChanges(_ observation: Any?) {
29 |
30 | if let nonnullObservation = observation {
31 |
32 | NotificationCenter.default.removeObserver(nonnullObservation, name: .tap_sdkLayoutDirectionChanged, object: nil)
33 | }
34 | }
35 |
36 | func layoutDirectionChanged() {}
37 | }
38 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/ListValue.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ListValue.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | /// List value protocol.
9 | internal protocol ListValue: Filterable {
10 |
11 | var displayValue: String { get }
12 | var displayInTheListValue: String { get }
13 | }
14 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/LoadingWithModelCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LoadingWithModelCell.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol LoadingWithModelCell: ClassProtocol {
11 |
12 | associatedtype ModelType = CellViewModel
13 |
14 | /// Reference to the model.
15 | var model: ModelType? { get set }
16 |
17 | /// Updates content of the receiver, optionally animated.
18 | func updateContent(animated: Bool)
19 | }
20 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/LocalizationObserver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LocalizationObserver.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol LocalizationObserver: ClassProtocol {
11 |
12 | func localizationChanged()
13 | }
14 |
15 | internal extension LocalizationObserver {
16 |
17 | func startMonitoringLocalizationChanges() -> NSObjectProtocol {
18 |
19 | return NotificationCenter.default.addObserver(forName: .tap_sdkLanguageChanged, object: nil, queue: .main) { [weak self] _ in
20 |
21 | self?.localizationChanged()
22 | }
23 | }
24 |
25 | func stopMonitoringLocalizationChanges(_ observation: Any?) {
26 |
27 | if let nonnullObservation = observation {
28 |
29 | NotificationCenter.default.removeObserver(nonnullObservation)
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/NavigationContentViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NavigationContentViewController.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import CoreGraphics
9 |
10 | internal protocol NavigationContentViewController {
11 |
12 | var contentTopOffset: CGFloat { get }
13 | }
14 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/OTPViewControllerDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // OTPViewControllerDelegate.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol OTPViewControllerDelegate: ClassProtocol {
11 |
12 | func otpViewControllerResendButtonTouchUpInside(_ controller: OTPViewController)
13 | func otpViewController(_ controller: OTPViewController, didEnter code: String)
14 | func otpViewControllerDidCancel(_ controller: OTPViewController)
15 | }
16 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/PaymentOptionCellViewModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PaymentOptionCellViewModel.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol PaymentOptionCellViewModel: ClassProtocol {
11 |
12 | // MARK: Properties
13 |
14 | var paymentOption: PaymentOption? { get }
15 |
16 | var isSelected: Bool { get set }
17 |
18 | var indexPathOfCellToSelect: IndexPath? { get }
19 |
20 | var isReadyForPayment: Bool { get }
21 |
22 | var affectsPayButtonState: Bool { get }
23 |
24 | var initiatesPaymentOnSelection: Bool { get }
25 |
26 | var errorCode: ErrorCode? { get }
27 | }
28 |
29 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/PopupOverlaySupport.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PopupOverlaySupport.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 | import struct TapAdditionsKitV2.TypeAlias
10 | import class UIKit.NSLayoutConstraint.NSLayoutConstraint
11 | import class UIKit.UIView.UIView
12 |
13 | internal protocol PopupOverlaySupport: ClassProtocol {
14 |
15 | var topOffsetOverlayConstraint: NSLayoutConstraint? { get }
16 | var bottomOffsetOverlayConstraint: NSLayoutConstraint? { get }
17 | var bottomOverlayView: UIView? { get }
18 | var layoutView: UIView { get }
19 |
20 | func additionalAnimations(for operation: ViewControllerOperation) -> TypeAlias.ArgumentlessClosure
21 | }
22 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/PopupPresentationSupport.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PopupPresentationSupport.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.NSLayoutConstraint.NSLayoutConstraint
9 | import class UIKit.UIView.UIView
10 |
11 | internal protocol PopupPresentationSupport {
12 |
13 | var presentationAnimationAnimatingConstraint: NSLayoutConstraint? { get }
14 | var viewToLayout: UIView { get }
15 | }
16 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/SetupApplePayViewControllerDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SetupApplePayViewControllerDelegate.swift
3 | // goSellSDK
4 | //
5 | // Created by Osama Rabie on 09/01/2020.
6 | // Copyright © 2020 Tap Payments. All rights reserved.
7 | //
8 |
9 |
10 | import protocol TapAdditionsKitV2.ClassProtocol
11 |
12 | internal protocol SetupApplePayViewControllerDelegate: ClassProtocol {
13 | /**
14 | Method to get notified when the user wants to setup his apple pay
15 | - Parameter controller: The current visible setup apple view controller
16 | */
17 | func setupApplePayViewControllerSetpButtonTouchUpInside(_ controller: SetupApplePayViewController)
18 | /**
19 | Method to get notified when the user wants to cancel setup his apple pay
20 | - Parameter controller: The current visible setup apple view controller
21 | */
22 | func setupApplePayViewControllerDidCancel(_ controller: SetupApplePayViewController)
23 | }
24 |
25 |
26 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/Singleton.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Singleton.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol Singleton: ClassProtocol {
11 |
12 | static var shared: Self { get }
13 | }
14 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/SortableByOrder.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SortableByOrder.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol SortableByOrder {
9 |
10 | var orderBy: Int { get }
11 | }
12 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/StaticlyDestroyable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StaticlyDestroyable.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 | import struct TapAdditionsKitV2.TypeAlias
10 |
11 | internal protocol StaticlyDestroyable: ClassProtocol {
12 |
13 | static var hasAliveInstance: Bool { get }
14 | }
15 |
16 | internal protocol ImmediatelyDestroyable: StaticlyDestroyable {
17 |
18 | static func destroyInstance()
19 | }
20 |
21 | internal protocol DelayedDestroyable: StaticlyDestroyable {
22 |
23 | static func destroyInstance(_ completion: TypeAlias.ArgumentlessClosure?)
24 | }
25 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/TapButtonDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TapButtonDelegate.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol TapButtonDelegate: ClassProtocol {
11 |
12 | // MARK: Properties
13 |
14 | var canBeHighlighted: Bool { get }
15 |
16 | // MARK: Methods
17 |
18 | func buttonTouchUpInside()
19 |
20 | func securityButtonTouchUpInside()
21 |
22 | func disabledButtonTouchUpInside()
23 | }
24 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/TextInputDataValidation.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TextInputDataValidation.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol TextInputDataValidation: DataValidation {
9 |
10 | var textInputFieldText: String { get }
11 | func updateSpecificInputFieldAttributes()
12 | }
13 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/TextLabelInputDataValidation.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TextLabelInputDataValidation.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import class UIKit.UILabel.UILabel
9 |
10 | internal protocol TextLabelInputDataValidation: TextInputDataValidation {
11 |
12 | var labelField: UILabel { get }
13 | }
14 |
15 | internal extension TextLabelInputDataValidation {
16 |
17 | func updateInputFieldTextAndAttributes() {
18 |
19 | let cardInputStyle = Theme.current.paymentOptionsCellStyle.card.textInput
20 | let textSettings = cardInputStyle[self.isDataValid ? .valid : .invalid]
21 | let textAttributes = textSettings.asStringAttributes
22 |
23 | self.labelField.attributedText = NSAttributedString(string: self.textInputFieldText, attributes: textAttributes)
24 |
25 | self.updateSpecificInputFieldAttributes()
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/ThemeObserver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ThemeObserver.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 |
10 | internal protocol ThemeObserver: ClassProtocol {
11 |
12 | func themeChanged()
13 | }
14 |
15 | internal extension ThemeObserver {
16 |
17 | func startMonitoringThemeChanges() -> NSObjectProtocol {
18 |
19 | return NotificationCenter.default.addObserver(forName: .tap_sdkThemeChanged, object: nil, queue: .main) { [weak self] _ in
20 |
21 | self?.themeChanged()
22 | }
23 | }
24 |
25 | func stopMonitoringThemeChanges(_ observation: Any?) {
26 |
27 | if let nonnullObservation = observation {
28 |
29 | NotificationCenter.default.removeObserver(nonnullObservation, name: .tap_sdkThemeChanged, object: nil)
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/Transformable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Transformable.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal protocol Transformable {
9 |
10 | init?(untransformedValue: Any?)
11 | }
12 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/ViewControllerLayoutListener.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewControllerLayoutListener.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import protocol TapAdditionsKitV2.ClassProtocol
9 | import class UIKit.UIViewController.UIViewController
10 |
11 | internal protocol ViewControllerLayoutListener: ClassProtocol {
12 |
13 | func viewControllerViewDidLayoutSubviews(_ viewController: UIViewController)
14 | }
15 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Protocols/WebPaymentContentViewControllerDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // WebPaymentContentViewControllerDelegate.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | import struct CoreGraphics.CGGeometry.CGPoint
9 | import protocol TapAdditionsKitV2.ClassProtocol
10 |
11 | internal protocol WebPaymentContentViewControllerDelegate: ClassProtocol {
12 |
13 | func webPaymentContentViewControllerRequestedDismissal(_ controller: WebPaymentContentViewController)
14 | }
15 |
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Colors.xcassets/AsyncLabelColors.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | },
6 | "colors" : [
7 | {
8 | "idiom" : "universal",
9 | "color" : {
10 | "color-space" : "srgb",
11 | "components" : {
12 | "red" : "0.325",
13 | "alpha" : "1.000",
14 | "blue" : "0.325",
15 | "green" : "0.325"
16 | }
17 | }
18 | },
19 | {
20 | "idiom" : "universal",
21 | "appearances" : [
22 | {
23 | "appearance" : "luminosity",
24 | "value" : "dark"
25 | }
26 | ],
27 | "color" : {
28 | "color-space" : "srgb",
29 | "components" : {
30 | "red" : "1.000",
31 | "alpha" : "1.000",
32 | "blue" : "1.000",
33 | "green" : "1.000"
34 | }
35 | }
36 | }
37 | ]
38 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Colors.xcassets/CardInputTextFieldColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | },
6 | "colors" : [
7 | {
8 | "idiom" : "universal",
9 | "color" : {
10 | "color-space" : "srgb",
11 | "components" : {
12 | "red" : "0.000",
13 | "alpha" : "1.000",
14 | "blue" : "0.000",
15 | "green" : "0.000"
16 | }
17 | }
18 | },
19 | {
20 | "idiom" : "universal",
21 | "appearances" : [
22 | {
23 | "appearance" : "luminosity",
24 | "value" : "dark"
25 | }
26 | ],
27 | "color" : {
28 | "color-space" : "srgb",
29 | "components" : {
30 | "red" : "1.000",
31 | "alpha" : "1.000",
32 | "blue" : "1.000",
33 | "green" : "1.000"
34 | }
35 | }
36 | }
37 | ]
38 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Colors.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Colors.xcassets/CurrencyHolderViewColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | },
6 | "colors" : [
7 | {
8 | "idiom" : "universal",
9 | "color" : {
10 | "color-space" : "srgb",
11 | "components" : {
12 | "red" : "0.969",
13 | "alpha" : "1.000",
14 | "blue" : "0.969",
15 | "green" : "0.969"
16 | }
17 | }
18 | },
19 | {
20 | "idiom" : "universal",
21 | "appearances" : [
22 | {
23 | "appearance" : "luminosity",
24 | "value" : "dark"
25 | }
26 | ],
27 | "color" : {
28 | "color-space" : "srgb",
29 | "components" : {
30 | "red" : "0.082",
31 | "alpha" : "1.000",
32 | "blue" : "0.082",
33 | "green" : "0.082"
34 | }
35 | }
36 | }
37 | ]
38 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Colors.xcassets/DefaultCardSeparatorColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | },
6 | "colors" : [
7 | {
8 | "idiom" : "universal",
9 | "color" : {
10 | "color-space" : "srgb",
11 | "components" : {
12 | "red" : "0.882",
13 | "alpha" : "1.000",
14 | "blue" : "0.882",
15 | "green" : "0.882"
16 | }
17 | }
18 | },
19 | {
20 | "idiom" : "universal",
21 | "appearances" : [
22 | {
23 | "appearance" : "luminosity",
24 | "value" : "dark"
25 | }
26 | ],
27 | "color" : {
28 | "color-space" : "srgb",
29 | "components" : {
30 | "red" : "0.063",
31 | "alpha" : "0.500",
32 | "blue" : "0.063",
33 | "green" : "0.063"
34 | }
35 | }
36 | }
37 | ]
38 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Colors.xcassets/DefaultCellColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | },
6 | "colors" : [
7 | {
8 | "idiom" : "universal",
9 | "color" : {
10 | "color-space" : "srgb",
11 | "components" : {
12 | "red" : "1.000",
13 | "alpha" : "1.000",
14 | "blue" : "1.000",
15 | "green" : "1.000"
16 | }
17 | }
18 | },
19 | {
20 | "idiom" : "universal",
21 | "appearances" : [
22 | {
23 | "appearance" : "luminosity",
24 | "value" : "dark"
25 | }
26 | ],
27 | "color" : {
28 | "color-space" : "srgb",
29 | "components" : {
30 | "red" : "0.318",
31 | "alpha" : "1.000",
32 | "blue" : "0.318",
33 | "green" : "0.318"
34 | }
35 | }
36 | }
37 | ]
38 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Colors.xcassets/DefaultSeparatorCellColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | },
6 | "colors" : [
7 | {
8 | "idiom" : "universal",
9 | "color" : {
10 | "color-space" : "srgb",
11 | "components" : {
12 | "red" : "0.882",
13 | "alpha" : "1.000",
14 | "blue" : "0.882",
15 | "green" : "0.882"
16 | }
17 | }
18 | },
19 | {
20 | "idiom" : "universal",
21 | "appearances" : [
22 | {
23 | "appearance" : "luminosity",
24 | "value" : "dark"
25 | }
26 | ],
27 | "color" : {
28 | "color-space" : "srgb",
29 | "components" : {
30 | "red" : "0.475",
31 | "alpha" : "1.000",
32 | "blue" : "0.471",
33 | "green" : "0.471"
34 | }
35 | }
36 | }
37 | ]
38 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Colors.xcassets/OTPHolderColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | },
6 | "colors" : [
7 | {
8 | "idiom" : "universal",
9 | "color" : {
10 | "color-space" : "srgb",
11 | "components" : {
12 | "red" : "1.000",
13 | "alpha" : "0.360",
14 | "blue" : "1.000",
15 | "green" : "1.000"
16 | }
17 | }
18 | },
19 | {
20 | "idiom" : "universal",
21 | "appearances" : [
22 | {
23 | "appearance" : "luminosity",
24 | "value" : "dark"
25 | }
26 | ],
27 | "color" : {
28 | "color-space" : "srgb",
29 | "components" : {
30 | "red" : "0.082",
31 | "alpha" : "0.000",
32 | "blue" : "0.082",
33 | "green" : "0.082"
34 | }
35 | }
36 | }
37 | ]
38 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Colors.xcassets/SaveCardLabelColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | },
6 | "colors" : [
7 | {
8 | "idiom" : "universal",
9 | "color" : {
10 | "color-space" : "srgb",
11 | "components" : {
12 | "red" : "0.361",
13 | "alpha" : "1.000",
14 | "blue" : "0.361",
15 | "green" : "0.361"
16 | }
17 | }
18 | },
19 | {
20 | "idiom" : "universal",
21 | "appearances" : [
22 | {
23 | "appearance" : "luminosity",
24 | "value" : "dark"
25 | }
26 | ],
27 | "color" : {
28 | "color-space" : "srgb",
29 | "components" : {
30 | "red" : "0.898",
31 | "alpha" : "1.000",
32 | "blue" : "0.898",
33 | "green" : "0.898"
34 | }
35 | }
36 | }
37 | ]
38 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Colors.xcassets/SaveCardSwitchTintColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | },
6 | "colors" : [
7 | {
8 | "idiom" : "universal",
9 | "color" : {
10 | "color-space" : "srgb",
11 | "components" : {
12 | "red" : "0.165",
13 | "alpha" : "1.000",
14 | "blue" : "0.000",
15 | "green" : "0.808"
16 | }
17 | }
18 | },
19 | {
20 | "idiom" : "universal",
21 | "appearances" : [
22 | {
23 | "appearance" : "luminosity",
24 | "value" : "dark"
25 | }
26 | ],
27 | "color" : {
28 | "color-space" : "srgb",
29 | "components" : {
30 | "red" : "0.882",
31 | "alpha" : "1.000",
32 | "blue" : "0.882",
33 | "green" : "0.882"
34 | }
35 | }
36 | }
37 | ]
38 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Colors.xcassets/SavedCardCellBackgroundColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | },
6 | "colors" : [
7 | {
8 | "idiom" : "universal",
9 | "color" : {
10 | "color-space" : "srgb",
11 | "components" : {
12 | "red" : "1.000",
13 | "alpha" : "1.000",
14 | "blue" : "1.000",
15 | "green" : "1.000"
16 | }
17 | }
18 | },
19 | {
20 | "idiom" : "universal",
21 | "appearances" : [
22 | {
23 | "appearance" : "luminosity",
24 | "value" : "dark"
25 | }
26 | ],
27 | "color" : {
28 | "color-space" : "display-p3",
29 | "components" : {
30 | "red" : "1.000",
31 | "alpha" : "0.701",
32 | "blue" : "1.000",
33 | "green" : "1.000"
34 | }
35 | }
36 | }
37 | ]
38 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ApplePayMark.imageset/Apple_Pay_Mark Copy 3@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ApplePayMark.imageset/Apple_Pay_Mark Copy 3@2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ApplePayMark.imageset/Apple_Pay_Mark Copy 3@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ApplePayMark.imageset/Apple_Pay_Mark Copy 3@3x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ApplePayMark.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "Apple_Pay_Mark Copy 3@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "Apple_Pay_Mark Copy 3@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ApplePaySetUp.imageset/ApplePay-SetUp_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ApplePaySetUp.imageset/ApplePay-SetUp_2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ApplePaySetUp.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ApplePay-SetUp_2x.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/SetupApplePaySplash.imageset/4.Setup Apple PayPay_Splash_2@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/SetupApplePaySplash.imageset/4.Setup Apple PayPay_Splash_2@2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/SetupApplePaySplash.imageset/4.Setup Apple PayPay_Splash_2@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/SetupApplePaySplash.imageset/4.Setup Apple PayPay_Splash_2@3x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/SetupApplePaySplash.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "4.Setup Apple PayPay_Splash_2@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "4.Setup Apple PayPay_Splash_2@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_scan_frame.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "btn_scan_frame.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "btn_scan_frame@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "btn_scan_frame@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_scan_frame.imageset/btn_scan_frame.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_scan_frame.imageset/btn_scan_frame.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_scan_frame.imageset/btn_scan_frame@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_scan_frame.imageset/btn_scan_frame@2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_scan_frame.imageset/btn_scan_frame@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_scan_frame.imageset/btn_scan_frame@3x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_scan_icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "btn_scan_icon.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "btn_scan_icon@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "btn_scan_icon@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_scan_icon.imageset/btn_scan_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_scan_icon.imageset/btn_scan_icon.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_scan_icon.imageset/btn_scan_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_scan_icon.imageset/btn_scan_icon@2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_scan_icon.imageset/btn_scan_icon@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_scan_icon.imageset/btn_scan_icon@3x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_security.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "btn_security.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "btn_security@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "btn_security@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_security.imageset/btn_security.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_security.imageset/btn_security.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_security.imageset/btn_security@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_security.imageset/btn_security@2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_security.imageset/btn_security@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/btn_security.imageset/btn_security@3x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/delete_card_icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "delete_card_icon.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/delete_card_icon.imageset/delete_card_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/delete_card_icon.imageset/delete_card_icon.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_arrow_left.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_arrow_left.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_arrow_left@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "ic_arrow_left@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_arrow_left.imageset/ic_arrow_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_arrow_left.imageset/ic_arrow_left.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_arrow_left.imageset/ic_arrow_left@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_arrow_left.imageset/ic_arrow_left@2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_arrow_left.imageset/ic_arrow_left@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_arrow_left.imageset/ic_arrow_left@3x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_arrow_right.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_arrow_right.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_arrow_right@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "ic_arrow_right@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_arrow_right.imageset/ic_arrow_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_arrow_right.imageset/ic_arrow_right.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_arrow_right.imageset/ic_arrow_right@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_arrow_right.imageset/ic_arrow_right@2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_arrow_right.imageset/ic_arrow_right@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_arrow_right.imageset/ic_arrow_right@3x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_bill.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_bill.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_bill@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "ic_bill@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_bill.imageset/ic_bill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_bill.imageset/ic_bill.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_bill.imageset/ic_bill@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_bill.imageset/ic_bill@2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_bill.imageset/ic_bill@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_bill.imageset/ic_bill@3x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_checkmark.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_checkmark@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "ic_checkmark@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark.imageset/ic_checkmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark.imageset/ic_checkmark.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark.imageset/ic_checkmark@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark.imageset/ic_checkmark@2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark.imageset/ic_checkmark@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark.imageset/ic_checkmark@3x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark_green.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_checkmark_green.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_checkmark_green@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "ic_checkmark_green@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark_green.imageset/ic_checkmark_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark_green.imageset/ic_checkmark_green.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark_green.imageset/ic_checkmark_green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark_green.imageset/ic_checkmark_green@2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark_green.imageset/ic_checkmark_green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark_green.imageset/ic_checkmark_green@3x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark_green_small.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_checkmark_green_small.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_checkmark_green_small@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "ic_checkmark_green_small@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark_green_small.imageset/ic_checkmark_green_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark_green_small.imageset/ic_checkmark_green_small.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark_green_small.imageset/ic_checkmark_green_small@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark_green_small.imageset/ic_checkmark_green_small@2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark_green_small.imageset/ic_checkmark_green_small@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_checkmark_green_small.imageset/ic_checkmark_green_small@3x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_close.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_close.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_close@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "ic_close@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_close.imageset/ic_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_close.imageset/ic_close.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_close.imageset/ic_close@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_close.imageset/ic_close@2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_close.imageset/ic_close@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_close.imageset/ic_close@3x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_close_otp.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_close_otp.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_close_otp@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "ic_close_otp@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_close_otp.imageset/ic_close_otp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_close_otp.imageset/ic_close_otp.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_close_otp.imageset/ic_close_otp@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_close_otp.imageset/ic_close_otp@2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_close_otp.imageset/ic_close_otp@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_close_otp.imageset/ic_close_otp@3x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_merchant_logo_placeholder.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_merchant_logo_placeholder.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_merchant_logo_placeholder@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "ic_merchant_logo_placeholder@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_merchant_logo_placeholder.imageset/ic_merchant_logo_placeholder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_merchant_logo_placeholder.imageset/ic_merchant_logo_placeholder.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_merchant_logo_placeholder.imageset/ic_merchant_logo_placeholder@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_merchant_logo_placeholder.imageset/ic_merchant_logo_placeholder@2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_merchant_logo_placeholder.imageset/ic_merchant_logo_placeholder@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_merchant_logo_placeholder.imageset/ic_merchant_logo_placeholder@3x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_x_red.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_x_red.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_x_red@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "ic_x_red@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_x_red.imageset/ic_x_red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_x_red.imageset/ic_x_red.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_x_red.imageset/ic_x_red@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_x_red.imageset/ic_x_red@2x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_x_red.imageset/ic_x_red@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/Images.xcassets/ic_x_red.imageset/ic_x_red@3x.png
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Resources/sar-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tap-Payments/goSellSDK-iOS/d442e067c28a50f3abe16fa14abdc9730b81395b/goSellSDK/Core/UI/Internal/Resources/sar-Regular.ttf
--------------------------------------------------------------------------------
/goSellSDK/Core/UI/Internal/Theme/AppearanceStyle.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppearanceStyle.swift
3 | // goSellSDK
4 | //
5 | // Copyright © 2019 Tap Payments. All rights reserved.
6 | //
7 |
8 | internal struct AppearanceStyle