Commit Graph

78 Commits

Author SHA1 Message Date
davidme-stripe 4da2171c39
Remove Xcode 13 support (#2441) 2023-04-05 13:18:12 -07:00
bmelts-stripe 0d52cd4d7e
[Link] Add StripeLinkCore tests to CI (#2335) 2023-02-27 16:24:02 -08:00
bmelts-stripe 14d0557fd0
Clean up old CircleCI infra (#2325) 2023-02-24 17:39:19 -08:00
davidme-stripe 2be922155c
Fix Emerge Tools (#2138) 2022-12-12 09:55:26 -08:00
davidme-stripe b572a3eb47
Switch to Xcode 14 + Ventura + iOS 16 (#2143) 2022-12-10 00:57:53 +00:00
davidme-stripe f1f887c2d3
Move from CircleCI to Bitrise (#2111) 2022-11-30 09:59:58 -08:00
davidme-stripe 868cc0bcfe Revert "Add watchOS support (#2064)"
This reverts commit b45e86976b.
2022-11-14 12:52:24 -08:00
davidme-stripe b45e86976b
Add watchOS support (#2064) 2022-11-09 16:27:59 -08:00
davidme-stripe a87f39bd56
Fix Pull Request URL in Emerge Tools (#2054) 2022-11-02 15:23:30 -07:00
davidme-stripe 4e3eafc14a
Fix Emerge Tools builds on master (#2049) 2022-11-01 17:51:54 -07:00
davidme-stripe a485c4a8e8
Enable Emerge Tools (#2033) 2022-11-01 15:09:07 -07:00
David Estes 331f6a3364 Add new project files and scaffolding for 3 new frameworks, bump minimum version to iOS 13 2022-09-28 10:33:38 -07:00
ramont-stripe ced95e8564
Deployment script and CI improvements (#1402)
* Update text to reflect latest GitHub design

* Add check for changelog

* Update fastlane

* Allow lowercase placeholders

* Check current version in changelog

* Use checksum for cache keys

* Simulate version mismatch

* Simulate version placeholder

* Cleanup
2022-09-01 15:19:41 -04:00
vardges-stripe 83fbd7bcb5
Add ownership fields to FinancialConnectionsAccount (#1302)
* Add ownership fields

* mark fields as public
2022-07-14 20:04:46 +05:30
davidme-stripe 21fdab5349
Change parallel strategy, move some tests to nightly/release builds (#1041) 2022-04-26 07:35:02 -07:00
vardges-stripe f5b0b5973a
Rename Connections to FinancialConnections (#1019)
* Rename StripeConnections
2022-04-21 13:35:33 -07:00
Mel aca66f6236
IDPROD-3508: Reset the document scan screen on validation error (#933)
- If the API returns a validation error for a
  specific field, the error screen will return to
  the screen that edits that field when the back
  button is tapped
- The document capture screen will reset its
  state when returning from the error screen if
  the document could not be validated
2022-04-01 15:58:56 -07:00
Vardges Avetisyan cbdbcb76e5 Merge branch 'private' into connections_sdk_private 2022-03-22 20:46:01 -04:00
davidme-stripe 80e9f842aa
Fixes for Xcode 13.3, drop Xcode 12 and iOS 11 (#868) 2022-03-22 09:33:56 -07:00
Vardges Avetisyan 3196fbb2f2 Merge branch 'private' into connections_sdk_private 2022-02-24 14:51:06 -05:00
davidme-stripe c912676643
Switch legacy tests to iOS 12/13/14 (#770) 2022-02-17 12:44:33 -08:00
davidme-stripe 957483bb28
Switch CI to Xcode 13 and retry flaky tests (#756) 2022-02-15 11:56:37 -07:00
davidme-stripe 8dd77fadab
Add more StripeApplePay telemetry (#737) 2022-02-11 16:27:29 -05:00
davidme-stripe fb4d3cc9c7
Merge StripeApplePay (#717) 2022-02-07 14:58:49 -08:00
Vardges Avetisyan b571435d4d Merge branch 'private' into connections_sdk_private 2022-02-03 20:54:02 -05:00
Cameron d452d4a70a
Merge Link feature branch (#708)
* Functional signup flow prototype

* Hide sign up form for incomplete emails

* TODO cleanup kinda

* Better typing delay

* Cleanup
:

* Loading indicator

* Tests and cleanup

* StripePass -> Link refactor

* Adds new string

* Disable checkbox

* [Part 2] Link Return Flows (#228)

* Return flows (2FA and Cookies)

* Some cleanup

* Tests

* Adding tests and supporting return users w/o payment details

* StripePass -> Link

* TODO cleanup

* Linter fixes

* Link off

* testSignUpAndPayFlow

* Cleanup to prep for Link Payment Method

* Adds Link as PaymentMethod and new Link modal sign up flow

* Fixes missing reference images for StackViewWithSeparatorTests

* Fixes ConsumerSessionTests: Re-adds test consumer account, removes test for old method no longer used

* Adds new strings

* merge fix

* Migrate strings

* Fix test build

* Adds nodocs, reverts unneeded STPViewWithSeparator changes

* Disable snapshot test with new name

* Import StripeCore

* Re-add STPTestAPIClient+Swift to test target

* Migrates from create endpoint to new lookup endpoint (#454)

* Split off PayWithLinkViewController (#477)

* Split PayWithLinkViewController

* Animate the spinner right before the view appears

* Re-implement OneTimeCodeTextField (#509)

* Re-implement `OneTimeCodeTextField`

* Add test for `.isComplete`

* Visual tweaks

* Rename method

* Add snapshot tests

* Tweak animation

* Cleanup

* Fix legacy tests

* Update animation

* Animation tweaks

* Confirm button polish (#497)

* Remove hardcoded height and allow configuring the padding

* Allow customizing the radius

* Updated lock icon

* Fix tests

* Cleanup

* Allow customizing the font

* Use tint color rather than the appearance proxy

Allow configuring the color per instance of the button.

* Add saved payment methods screen (#496)

* Add saved payment methods screen

* Show saved payment methods screens

* Style nav bar

* Prep work for supporting logout

* Fix paths

* Cleanup

* Fix tests

* Fix availability check

* Add copyright notice

* Add localization TODOs

* Layout polish

* Keep header in sync

* Cleanup radio button

* Remove hardcoded color

* Skip snapshot tests on legacy versions

* Move layout magic numbers to constants

* Remove unused icon

* Cleanup

* Address feedback

* Reuse cell content

* Additional cleanup

* Remove unused file

* Cleanup methods

* Fix Xcode 12.2 tests

* Add caret animation to OneTimeCodeTextField (#563)

* Add caret animation

* Cleanup

* Pay with Link button (#521)

* Re-implement Pay with Link button

* Add tests

* Rename constant

* Fix disabled state

The disabled state is won't actually be used, it was just added for
the purpose of implementation completeness.

* Cleanup

* Fix tests

* Rework constants

* Fix build

* Call super

* Link 2FA modal polish (#559)

* Polish 2FA modal

* Use Dynamic Type

* Move 2FA logic to the 2FA controller

* Cleanup

* UX polish

* Add Toast component

* Make toast accessible

* Use custom button

* Cleanup

* Add nav bar

* Use constants

* Specify label color

* Add TODO

* Cleanup toast

* Extract logo height to constant

* Update TODO

* Move toast component

* Keep Link images together

* Add snapshot tests

* Wallet header polish - Part 1 (#582)

* Fix recurring memory leak

* Show Link account in button

* Simplify layout code

* Apply corner radius to Apple Pay button

* Refactor separator label text and add snapshot tests

* Cleanup

* Remove duplicated separator label code

* Fix Link mandate acceptance (#603)

* Update Link colors (#581)

* Update colors for dark mode

* Update RadioButton style

* Small fixes

* Update snapshot test

* Update OTC field colors

* Update snapshots

* Fix button color

* Update snapshot test

* Document custom colors

* Add light placeholder color

* Update 2FAView snapshot

* Fix typos

* Fix merge conflict in STPStackViewWithSeparatorSnapshotTests

* Wallet header polish - Part 2 (#596)

* Show wallet header in saved PM screen

* Make auto-selection optional

* Hide/show pay button

* Show header label

* Fallback to old layout when Link is not enabled

* Cleanup

* Add clarifying comment

Co-authored-by: Cameron <36750494+csabol-stripe@users.noreply.github.com>

* Add extra safety check

Co-authored-by: Cameron <36750494+csabol-stripe@users.noreply.github.com>

* Add custom activity indicator (#601)

* Add activity indicator

* Use custom activity indicator

* Add loader to Button

* Switch "Join Link" button to use `Button`

* Remove CA transaction

* Add comments

* Cleanup

* Match UIActivityIndicatorView visibility toggle behavior

* Make 100% API compatible with `UIActivityIndicatorView`

* Cleanup

* Refactor and add multiline support to CheckboxButton (#609)

* Refactor and add multiline support to CheckboxButton

* Address feedback

* Add missing strings

* Fixes cookie query and adds support for updating value (#458)

* Fixes cookie query and adds support for updating value

* Adds new test scheme with a hosted app for keychain tests

* Remove default case

* Link - Implement logout feature (#625)

* Implement logout

* Decouple cookie storage from ConsumerSession

* Cleanup tests

* Document cookie store

* Logout with server

* Move cookie deletion code to `ConsumerSession`

* Rename tests

* Fix merge conflict

* Remove unused store

* Additional tests

* Allow login/signup for Link from Payment Sheet (#648)

* Allow signing up for link by tapping on "Pay with Link"

* Add 2FA to PayWithLinkViewController

* Cleanup

* Update button behavior to match designs

* Automatically start verification if needed

* Refactor into a computed property

* Add missing constraints

* Implement resend code feature (#623)

* Implement "Resend code" feature

* Consolidate localized string

* Allows editing of email in Link Modal (#653)

* Allows editing of email in Link Modal

* Enables Link even if merchant hasn't provided email
* Looks up email based on saved cookie if available
* Returns to sign up screen on logout
* Progressive disclosure during sign up
* Updates Link account throughout PaymentSheet

* Don't turn on Link in playground by default

* Adds new lookup tests

* Update Stripe/PayWithLinkViewController-SignUpViewController.swift

Co-authored-by: ramont-stripe <88752322+ramont-stripe@users.noreply.github.com>

* Import foundation

* Older xcode build fix

Co-authored-by: ramont-stripe <88752322+ramont-stripe@users.noreply.github.com>

* Adds client_type MOBILE_SDK for extended cookies (#602)

* Link UI polish (#650)

* Add semantic typography system

* Polish signup screen

* Switch to semantic type system

* Tweak primary button style

* Better Dynamic Type support

* Tweak mandate line height

* Avoid keyboard

* UI polish

* Update footer to use the new typography system

* Update typography of the picker component

* Update toast component

* Apply Link theme to ConfirmButton

* Disable user interaction while a transaction is in progress

* Fix layout glitch

* Add title label

* Import changes from stale `ramont/link-ui-polish` branch

* Use a better default for the `animated` flag

Pushing a VC with animation is more common than without animation.

* Fix typo

* Add snapshot tests for link wallet footer

* Use consistent naming

* Fix tests

* Fix another test

* Center modal

* Present Link controller as form sheet on ipad

* Add better Dynamic Type support to 2FA modal

* Remove vertical bounce

* Fix margins

* Remove comment

* Better iPad rotation support

* Implement ConfirmButton completion block

* Fix merge

* Fixes signup flow requiring OTP verification (#684)

* Fixes verification type parsing for signup
Skips otp verification for signup verifications

* Fix objc namespacing

* [Link] Add Update card UI (#686)

* Add UpdatePaymentViewController

* Dont' use STPLocalizedString for now

* Try to make size command run against base branch

* Revert CI change

* PR feedback

* [Link] Finish update card UI (#687)

* Prefill card, lock pan

* Add some tests

* Satisfy objc symbol checker

* saveThisCardCheckboxView -> checkboxView

* Add defaults for prefillDetails & inputMode on CardDetailsEditView

* Use ElementDelegate instead of STPCardFormViewDelegate

* Naming fix

* Disable klarna test

* Phone number parsing and formatting (#200)

* Return flows (2FA and Cookies)

* Phone number parsing and formatting

* Some cleanup

* Tests

* Adding tests and supporting return users w/o payment details

* StripePass -> Link

* TODO cleanup

* Merge fix

* Linter fixes

* Link off

* testSignUpAndPayFlow

* Old style pattern filling

* Converts to Elements

* Cleanup unneeded changes

* Redacted cleanup

* Adds strings

* Cleanup comments from PR

* Add support for non-recognized country. This fails on the backend for now

* Adds different labels for in and out of the picker

* Adds explicit accessibility label

* Working on refactor

* PhoneNumberElement as standalone element

* Update e164 formatting to drop leading zeros and enforce length

* Auto advances and snapshot test

* Add strings. Fix regressed tests

* Don't commit test values

* Skip new snapshot tests.

* Updates from review

* Don't enable LInk

* Fix test build

* Project file fix

* Fixes delegate updating and sign up button enable/disable state

* Reset number when account changes

* Update strings

* Shared sorting for region codes

* Stop accidentally enabling link

* Fix objc symbols

* [Link] Extract Link legal terms to its own view (#696)

* Extract legal terms view

* Extract string

* Rename method

* Test text wrapping and line height

* Update dismiss button

* Fix objc symbol check

* Add terms view delegate

* Add TODO

* Add fallback logic

* [Link] Make API calls to update card (#695)

* Implement card update API

* Refactor to use existing setDefault code as update code

* Add testUpdatePaymentDetails

* Consolidate update params into a struct

* [Link] Handle default checkbox in update card flow (#703)

* fix merge conflicts

* Remove whitespace change

* Use CompatibleColor.secondaryLabel instead of lightGray

Co-authored-by: Cameron <36750494+csabol-stripe@users.noreply.github.com>

Co-authored-by: Cameron <36750494+csabol-stripe@users.noreply.github.com>

* Link Inline signup - Part 1 (#682)

* Basic layout

* Wire up UI

* Move checkbox element to its own file

* Add view model

* Fix glitchy transitions

* Transition tweaks

* Implement the LinkAction API

* Remove hardcoded phone number

* Add phone number element

* Fix layout glitch

* Refactor and add tests

* Display merchant name in checkbox

* Remove hardcoded depedencies

* Fix tests

* Removed global state

Inject the cookie store the same way we inject the API client.

* Fix constraint warnings

* Adjust spacing

* Switch to LinkPhoneNumberElement

* Use the appropriate API client

* Show inline signup only when supported

* Only offer Link when user is not registered

* Remove beta header

* Use the correct API client

* Document no-op

* Remove factory method

* Rename closure

* Restore code

* Consolidate view model logic

* Restore ConsumerSession code

* Document LinkAccountServiceProtocol

* Handle edge cases

* Document OperationDebouncer

* Refactor inline signup element

Element now just conform to `Element`. Delegate `PaymentOption`
building to the container.

* Cleanup

* Fix ambiguous layout issue

* Fix objc symbol

* Fix xcodebuild warning

* Add a Link switch to the payment sheet playground (#706)

* Add a Link switch to the payment sheet playground

* Update accessibilityIdentifier on link switch

* Update comment

Co-authored-by: Cameron <36750494+csabol-stripe@users.noreply.github.com>

Co-authored-by: Cameron <36750494+csabol-stripe@users.noreply.github.com>

* Adds support for Link Instant Debits (#685)

* LinkAccountSessions bindings

* Launching connections redirect

* Better button

* Starts adding Bank bindings

* Redirect working but no bank account id

* Merge fixes

* Livemode testing

* Create payment details from linked accounts

* Adds bank bindings

* Cleanup TODOs

* Adds bank icons

* Hacky fix

* Less hacky fix

* Update remove copy

* Remove prefilled email

* Revert permissions change that got merged for some reason

* Fix alignment and scaling of bank icons and card icons.
Add snapshot test to include bank icon.

* Remove test code

* Fix user interaction

* Fix test build and update snapshot tests for new cardbrandview pixel alignment

* Cleanup

* Fix test failure

* Actually revert

* Fix 12.2 build

* Add new localized strings and remove beta header hacks

* Fix objc symbols

Co-authored-by: Ramon Torres <ramont@stripe.com>

* Adds support for using Customer email with Link (#704)

* * Adds email param to STPCustomer
* Adds API method to retrieve Customer with ID and ephemeral key secret
* Adds var on PaymentSheetLinkAccount to detect if we have a session cookie stored
* Falls back to using Customer email address if available and no explicit email provided or session cookie available

* Fix example UI build

* Remove SkippedTests

Co-authored-by: ramont-stripe <88752322+ramont-stripe@users.noreply.github.com>
Co-authored-by: Nick Porter <88012362+porter-stripe@users.noreply.github.com>
Co-authored-by: Ramon Torres <ramont@stripe.com>
2022-02-03 17:42:28 -08:00
Vardges Avetisyan 5e6a6f080f Merge branch 'private' into connections_sdk_private 2022-01-25 15:32:35 -05:00
Cameron 7c2aae7999
Adds script and CI check for objc symbols without a namespace prefix (#664)
* Adds script and CI check for objc bridging header symbols without a namespace prefix
Adds custom @objc(STP_Internal_...) names for symbols that were missing a prefix

* Update changelog

* Add exit

* Uncomment
2022-01-21 17:40:37 -05:00
Vardges Avetisyan b7c62edc74 Merge branch 'private' into connections_sdk_private 2022-01-18 15:42:28 -05:00
davidme-stripe 84e9becab4
Fix SPM warning, add a check for SPM warnings (#640) 2022-01-10 11:47:33 -08:00
Vardges Avetisyan e57210ffc0 Merge branch 'private' into connections_sdk_private 2021-12-13 16:22:34 -05:00
davidme-stripe 485b992294
Disable StripeApplePay.framework (#584)
* Disable Apple Pay framework
2021-12-10 10:16:24 -08:00
Vardges Avetisyan 2069883ef8 Merge branch 'private' into connections_sdk_private 2021-12-08 13:50:24 -05:00
davidme-stripe c55393d5b4
Send install method in analytics (#583) 2021-12-08 09:34:12 -08:00
Vardges Avetisyan 9d323c95a7 Merge branch 'private' into connections_sdk_private 2021-12-01 15:38:27 -05:00
davidme-stripe 3680f1ac85
Disable Catalyst builds for StripeIdentity and StripeCardScan to fix broken export_builds.sh (#554) 2021-12-01 10:57:43 -08:00
Vardges Avetisyan 84b7a349bb Merge branch 'private' into connections_sdk_private 2021-11-19 11:09:04 -05:00
jaimepark-stripe ba3bda09a6
Updated CardImageVerificaion Example app to use CIVSheet (#530)
* Updated CardImageVerificaion Example app to use CIVSheet

* Add example app to fastfile

* Rewrite vc copy

* fix lint warning

* remove unused test target
2021-11-18 22:12:16 -08:00
Vardges Avetisyan 4530e344dc Merge branch 'private' into connections_sdk_private 2021-11-18 16:15:59 -05:00
davidme-stripe 1880ebc7d8
Re-add the build step and remove a redundant build script (#527) 2021-11-17 21:38:20 -08:00
davidme-stripe e7db20e311
Enable CircleCI parallelism and Xcode 12.2 tests (#520) 2021-11-17 16:31:41 -08:00
Vardges Avetisyan 954a06b2e2 Merge branch 'private' into connections_sdk_private 2021-11-17 11:43:14 -05:00
Cameron 85fbedce2e
Adds CustomStringConvertible to Objective-C enums (#500)
* Adds script to autogen CustomStringConvertible conformance for objc enums

* Remove StripeScan

* Add executable permission to new script

* Configure using modules.yaml

* Fix bash syntax and script prompts
2021-11-16 15:43:11 -08:00
Mel 07343d31f0
IDPROD-2773 part 2: Add tests to StripeCameraCore (#502)
Add tests to StripeCameraCore
2021-11-16 15:38:17 -08:00
Vardges Avetisyan 78efab2570 Merge branch 'private' into connections_sdk_private 2021-11-16 15:37:11 -05:00
David Estes b1a2709979 Fix fastfile merge 2021-11-15 21:53:25 -08:00
davidme-stripe 512315918d
Merge branch 'private' into davidme/sap-step2 2021-11-15 21:18:09 -08:00
kingst-stripe c81cf47992
Rename `StripeScan` to `StripeCardScan` (#499) 2021-11-15 19:41:24 -08:00
David Estes 22b2f9416a Add info.plist for StripeApplePayTestUtils 2021-11-15 16:22:22 -08:00
David Estes f0de1afd60 StripeApplePay Step 2 2021-11-15 14:41:44 -08:00