* Add revolut iDEAL bank, remove moneyou
* Refactor Intent paymentMethodTypes
* Actually properly handle all save-related scenarios
* Turn on bancontact, sofort
* Fix test
* Add pay w/ setup mode to playground
* Improve PaymentSheetTest
* Dont show PM types that require returnURL on the Add screen if configuration.returnURL is not set, since they can never succeed.
* disable sofort, bancontact
* Renamed SaveMode cases
Created a new `pod_tools.rb` script which has the following commands:
- `push`: Pushes all podspecs to `trunk` in order by dependencies.
- `add-all-owners POD`: Adds all the owners of the `Stripe` pod as owners of `POD`.
- `add-owner OWNER-EMAIL`: Adds the registered user specified with `OWNER-EMAIL` as an owner of all pods in this repo. _(Used for onboarding)_
- `remove-owner OWNER-EMAIL`: Removes the user specified with `OWNER-EMAIL` from being owner of all pods in this repo. _(Used for offboarding)_
- Migrated `NSError.stp_unexpectedErrorMessage()` from `Stripe` -> `StripeCore`
- Went through Localization process
- Fixed test snapshots that contained updated localization for zh-Hans
- `StripeCoreTestingUtils` now uses `StripeiOS-Debug.xcconfig` and `StripeiOS-Release.xcconfig` for its build settings.
- Now including `StripeCoreTestingUtils` in `StripeCoreTests` by Linking with Binary instead of Dependencies.
Adds the ability to put localized strings in `StripeCore` and sets up infrastructure for any new module to contain localized strings. Now each module will have...
- Its own version of `STPLocalizedString`
- Its own set of `Resources/Localizations/*.lproj/Localizable.strings` files
- Remove abstraction for SPI-public protocols and instead tell Jazzy to ignore them using `:nodoc:` notation.
- Added comment notes linking to https://github.com/realm/jazzy/issues/1262
* Change colors when disabled.
* Split out DropdownTextField, add disabled color
* Add some haptics, scroll to selected pm type cell
* Refactor out ValidationState, only TextField needs it.
Make TextFieldView text red if invalid
* SectionView forwards touch events to the appropriate subview
* Improve placeholder -> label
* Auto-advance
* error
* Update mandate text
* Refactor out the FloatingPlaceholderTextFieldView and make TextFieldView and DropdownFieldView use it
* Accessibility
* Dont always show save checkbox, make formelement factory a bit nicer
* Update localization
* Fix test
* DRY up FormElement factory, fix guest mode
* Rename CheckboxElement -> SaveCheckboxElement, fix tests
* Fix params convenience init
StripeCore tests:
- Migrated tests specific to classes in `StripeCore` to `StripeCoreTests`
- Created a `StripeCoreTestUtils` target to contain `MockAnalyticsClient` so the mock can be included in test targets for multiple SDKs
- Added StripeCore tests to `Fastfile` & `circleci/config.yml` so they'll run on our CI
- Updated the [Configure Tests](https://confluence.corp.stripe.com/display/~mludowise/%5BWIP%5D+iOS+SDK+Runbook%3A+Adding+a+new+module#id-[WIP]iOSSDKRunbook:Addinganewmodule-ConfigureTests) portion of our runbook for adding a new module to match the steps taken in this PR
Cleanup:
- Renamed `main_tests` and `standard-tests` to `stripeios-tests` in the Fastfile & circle yml so our test names match the module they're testing
- Added `DEFAULT_TEST_DEVICE` and `DEFAULT_TEST_VERSION` consts to our Fastfile to help ensure consistent testing platforms across our tests as we add more modules
- Migrated `STPAnalyticsClient` & dependent classes into `StripeCore`
- Exposed internally available analytics code with to spi-public using the `STP` namespace so it could be used from other Stripe modules
- Migrated `STPAPIClient.sharedUrlSessionConfiguration` -> `StripeAPIConfiguration.sharedUrlSessionConfiguration` so it can be shared across modules
- Dependency injected the public key from `STPAPIClient` into `STPAnalyticsClient` via a new `PublishableKeyProvider` protocol
- Created wrappers for protocols declared SPI-public inside `StripeCore` to avoid displaying SPI-public conformance in our docs
- Updated `build_documentation.sh` to clean the pod cache for all Stripe pods
- Add a dependency on `StripeCore` for the StripeiOS target, Carthage, SPM, and Cocoapods
- Update `StripeCore.podspec` to use a tag instead of a branch
- Shared `StripeCore.xcscheme` so Carthage builds StripeCore
- Modified `build_documentation.sh` to pass a temporary local podspec repo so it can find `StripeCore`
- Created a new `StripeCore` project (with `Placeholder.swift` file)
- Added `StripeCore.podspec` and new `StripeCore` target in `Packages.swift`
- Updated `check_version.rb` and `update_version.sh` to check & update versions in all `*.podspec` files
- Added `check_podspecs_for_branches.sh` to use during deploy process
- Moved `BuildConfigurations` out of `Stripe` folder and into root directory
- Deleted unused xcconfig files (`LocalizationTester*.xcconfig` and `StripeiOSResources.xcconfig`)
- Migrated `StripeiOS`-specific build settings out of shared xcconfig files and onto the project.
- Added `clean_project_build_settings.sh` to ensure `project.pbxproj` files don't overwrite xcconfig settings (more below)
- Removed build settings from the StripeiOS target that were overriding xcconfigs (using `clean_project_build_settings.sh`)
* Add internal ordered payment method types to PI and SI
* update comment and remove test
* removed default param
* default order to intent pm
* updated ordered payment method in si + test
* Adds 3DS2 support for Cartes Bancaires
* Fixes unused directory server value in STDSProgressViewController (does not effect production since we bypass this class in actual challenge flows)
* Add iDEAL using FormElement
* Delete old iDEAL implementation
* Dropdown and text field accessibility
* Fix email configuration
* Fix checkbox darkmode
* Remove other PM support declaration from mc until we're ready to ship them
* Add Select bank label
This change updates our release process to update fewer version and enables us to more easily share the version string across multiple frameworks when we split the SDK. We will no longer need to manually edit the version strings for:
- `Info.plist`
- `Stripe.podspec`
- `STPAPIClient.swift`
This change:
1. Adds a `Version.xcconfig` file that controls `StripeiOS` project & build version. This will eventually be shared across multiple frameworks.
2. Adds an `update_version.sh` script that will update the version strings in `Version.xcconfig`, `Stripe.podspec`, and `StripeAPIConfiguration+Version.swift` from the `VERSION` file.
3. Migrates hardcoded version string from `STPAPIClient.STPSDKVersion` into `StripeAPIConfiguration+Version.swift`. This file:
- Is autogenerated from `VERSION`
- Will be moved to `StripeCore` as part of MOBILESDK-265
* FormElement, TextFieldElement, SectionView
* Form
* Refactor PaymentOption.paymentMethodParams -> IntentConfirmParams
* Refactor AddPMVC, *PMEditViews to use Element instead of AddPaymentMethodViewProtocol
* ValidationState logic:
1. Make the pay button enabled state reflect ValidationState.
2. Make Sections display errors according to ValidationState.
* Cleanup, text field placeholder, bancontact, tests
* Added views: Checkbox, SepaMandate.
Reworked TextFieldView to handle optionality.
* Fixups
* fix documentation?
* Replace filter from text configuration
* Delete unused method
* Dont allow bancontact yet
* Add clearpay logo for gb
* add project.pbxproj for new files
* change logo size and test ref images
* add snapshot test to skip-snapshot-test list
* added comma