Commit Graph

3651 Commits

Author SHA1 Message Date
Yuki 87a8b0b386
Add decline code to userInfo of STPError (#112) 2021-03-15 16:55:56 -07:00
Yuki c745623921
[MC] Add SetupIntents support (#145)
* Fix STPSetupIntent

* Update public API

* Refactor Intent into PaymentSheet, PSFlowController, PS+Helpers, ApplePayContext+PS

* Refactor ConfirmButton, PSVC

* PS+Helper

* Update test playground for SI

* Update ChoosePOVC

* update PaymentSheetFlowController

* Hide the 'save this card' checkbox

* Add allowlist of pm types for reuse/setup/saving

* clean up

* Fix test, add localization

* add nodoc...

* Run swift-format on some files
2021-03-12 10:02:28 -08:00
Mel 2b2233e702
Enable DEBUG compilation condition for swift (#149) 2021-03-11 17:15:43 -08:00
Cameron d6a96be051
Fixes STPPaymentHandler canPresent errors not being reported (#147) 2021-03-11 15:28:30 -08:00
davidme-stripe 32410470e3
Merge pull request #117 from stripe-ios/davidme/fix-brand-colors
Fix brand colors
2021-03-11 11:00:02 -08:00
David Estes 48c285010f Fix brand colors 2021-03-11 10:11:42 -08:00
Cameron 29c9d859f0
Check set key instead of default key to add Stripe test BSB number (#146) 2021-03-08 15:41:22 -08:00
Yuki c8c0a0a583
Don't pass universalLinksOnly option to openURL on mac catalyst (#144) 2021-03-04 11:20:04 -08:00
Cameron fd9d0ed9f3
Only auto-advance from cvc field when it is max possible length (#141) 2021-03-03 11:33:31 -08:00
Cameron fbd12ae891
Marks STPPaymentCardTextField as an open class (#140) 2021-03-02 16:57:51 -08:00
Yuki e5b32fb6b7
Remove public initializers for PaymentSheet, PaymentSheet.FlowController (#136)
* Remove public initializers for PaymentSheet, PaymentSheet.FlowController

* Add TODO
2021-03-02 11:12:35 -08:00
davidme-stripe 4f6dbf400d
Re-run swift-format (#183)
Re-run swift-format.
2021-03-02 10:11:38 -08:00
David Estes 72dd8f52bc Re-run swift-format 2021-03-01 17:04:01 -08:00
Yuki a07276083a
Merge origin/mc (#135)
* Squashed commit of the following:

commit 4482647bc76cc9827a66238e5885507a812150f1
Author: Yuki <yuki@stripe.com>
Date:   Thu Feb 25 17:09:02 2021 -0800

    [origin/mc] Add Alipay (#129)

    * Add Alipay

    * Add :nodoc:...

commit ab270754e9d843b12bb823411b6becd423f9655d
Merge: 9366ab5a b11111d7
Author: Yuki <yuki@stripe.com>
Date:   Tue Feb 23 14:58:09 2021 -0800

    Merge pull request #128 from stripe-ios/yuki/mc-merge-2

    [origin/mc] merge private

commit 9366ab5ad075a46f5559d5ed6fadec1f7927e96e
Author: Cameron <36750494+csabol-stripe@users.noreply.github.com>
Date:   Tue Feb 23 11:12:17 2021 -0800

    Adds ability to remove saved payment methods (#125)

    * Adds ability to remove saved payment methods

    * Color update

    * Refactor suggestions from review

    * Better reload

commit b11111d74f43ca3dc469d7b546ccfe22e60c3908
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Mon Feb 22 17:07:56 2021 -0800

    Update PaymentSheet with ApplePay changes

commit f17660592bd7622ce2cfc053895617387bdb8b42
Merge: 6043ae8d 73306f38
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Thu Feb 18 15:39:26 2021 -0800

    Merge remote-tracking branch 'origin/private' into yuki/mc-merge-2

commit 6043ae8d2ecea159dc52aba02e0d8d35b99ef24a
Merge: b42929a6 12570b63
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Thu Feb 18 15:36:09 2021 -0800

    Merge remote-tracking branch 'origin/yuki/mc-merge' into mc

commit b42929a6749d4054f82f9d581120c08b3e6a0bf6
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Thu Feb 18 15:36:01 2021 -0800

    Revert "[origin/mc] Merge private  (#119)"

    This reverts commit 8f6e043260e2e8eb522d96c5a38273f1291f2b85.

commit 8f6e043260e2e8eb522d96c5a38273f1291f2b85
Author: Yuki <yuki@stripe.com>
Date:   Thu Feb 18 14:55:23 2021 -0800

    [origin/mc] Merge private  (#119)

    * Disable card scanning until I get more feedback

    * Add a few convenience accessors to make the SDK 21 transition easier

    * Update config test

    * Change GrabPay to synchronous

    * Fix Carthage and Swift Package Manager (#17)

    The dynamic .xcframework can't be imported by Carthage, and requires that manual users embed Stripe3DS2.xcframework separately. Fix this by using the static Stripe3DS2.xcframework to create a combined Stripe.xcframework, like we distribute in the existing Objective-C version.

    * Start 21.0.0

    * Update version numbers 21.0.0

    * Update docs

    * Fix a compiler warning on Catalyst

    * Move LocalizationTester to a separate xcodeproj to work around a Carthage bug

    * Update package configuration

    * Adding UPI integration for iOS (#13)

    * Adding UPI integration

    * project.pbxproj changes

    * project.pbxproj changes

    * fix linting tests

    * making vpa non-optional

    * change Upi to UPI

    * fix name in comments

    Co-authored-by: David Estes <davidestes@stripe.com>

    * Fix public initializers (#22)

    * Fix public initializers

    * Add two more missing publics

    * Add a few more missing publics

    * Add docstrings

    * Revert "Adding UPI integration for iOS (#13)" (#24)

    This reverts commit 1b1b4ad7e6.

    * Update version, README, CHANGELOG, and docs

    * Update Package.swift

    * Expose cardNumber from STPPaymentCardTextField (#27)

    * Fix STPPaymentHandler (#29)

    * Remove extraneous modulemap (#28)

    * Fix marlin return url for Alipay

    * Adding UPI integration for iOS (#26)

    * Adding UPI integration

    * project.pbxproj changes

    * project.pbxproj changes

    * fix linting tests

    * making vpa non-optional

    * change Upi to UPI

    * fix name in comments

    Co-authored-by: David Estes <davidestes@stripe.com>

    * Attempt to fix Cocoapod spec (#30)

    * Attempt to fix Cocoapod spec

    * These shouldn't be scoped to iOS only

    * Release 21.1.0

    * Release 21.1.0

    * Release 21.1.0

    * Update Package.swift

    * Add PRIVACY.md (#43)

    * Add netbanking integration for iOS (#34)

    * adding netbanking integration

    * add netbanking params test

    * revert contents.xcworkspacedata

    * merge fix

    * linting fix

    * fix copy paste error in function name

    * name case change

    * fix casing in test case

    * Re-add breaks into text field that were dropped during switification (#51)

    * Adds attach & detach methods to CustomerContext that take PaymentMeth… (#52)

    * Adds attach & detach methods to CustomerContext that take PaymentMethod ids instead of the entire object

    https://github.com/stripe/stripe-ios/issues/1729

    * Add tests

    * Add docstrings

    * Update Stripe/STPCustomerContext.swift

    Co-authored-by: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>

    Co-authored-by: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>

    * Fix directoryServerKeyID in 3DS2 request (#54)

    We weren't filling this out correctly after the Swift conversion.

    * Release 3DS2 framework source code (#62)

    Stripe3DS2 is now open source under the MIT license.

    * Switch from Asset Catalogs to 3x PNGs (#58)

    * Switch from asset catalogs to 3x PNGs

    * Don't query the service for non-UnionPay BINs (#63)

    ## Summary
    Add a check to `retrieveBINRanges` to make sure users of STPBINRange can't unintentionally fetch metadata for non-UnionPay BINs.
    While we're dealing with BINs, fix a compiler issue with `binRanges.map(\.brand)`. (Some users are reporting a compile error when Xcode can't infer the type from the key path: That doesn't make any sense to me, but this is the only place we use key-path expressions, so we might as well get rid of it.)

    ## Motivation
    We were mistakenly querying the service in some situations with non-UnionPay BINs.

    ## Testing
    Tested with Basic Integration using a 19-digit UnionPay test card.

    * Begin 21.2.0

    * 21.2.0

    * Use Podspec to build docs

    * Use Podspec to build docs

    * Add more image tests (#55)

    * added AfterpayClearpay

    * Added tests and AfterpayExampleVC

    * Check localized bundle for card scanner description (#76)

    It's possible to define your NSCameraUsageDescription in InfoPlist.strings instead of Info.plist. If you do this, we block the card scanner because we think you haven't defined an NSCameraUsageDescription. (We check this because accessing the camera permissions API without it would cause a crash.)

    * Fix Card Scanning setting after Objective-C conversion

    After the conversion from Objective-C, we were still checking if configuration?.cardScanningEnabled == nil. nil and false aren't equal in Swift.

    * fix numberOfRows in table, pass supported_payment_methods from client to example backend for beta payment methods like Afterpay

    * ran localized strings script

    * Added Afterpay case to _isProcessingIntentSuccess

    * add docstring

    * Optimize some tests (#89)

    Tried a few things to speed up our CI. It's 35% less expensive to run, and we can use this workspace-caching stuff to add more complex integration tests in the future.

    * Fix payment card text field resizing

    * Add additionalDocument for verification (#94)

    * Fix missing translations for language dialects (#92)

    The old code didn't handle region-specific variations: If an app supported `fr-CH`, we'd compare `fr-CH` with `fr`, notice that they were different, and fall back to the app's main bundle. This would cause us to always show the unlocalized English key instead, as the string wouldn't be found.

    But always reading the main bundle first means a user could accidentally override our strings in an unexpected way: For example, by replacing "Check" in a paper check payment with a word that means "✔️".

    To work around this, we'll use the old behavior combined with glaures-ioki's change: If the languages don't match, we should check the main bundle for the string. If we don't find it there, we fall back to the Stripe bundle.

    I also considered just checking the first two letters of the language code, but it's possible a user would want to override our implementation of a two-letter language prefix (for example, if we only supported `pt`, but a user required `pt-br`).

    * Fix handling of nil region code (#91)

    * Fix STPTheme with navigation bar (#93)

    We were updating the navigation bar appearance when the navigationController was nil. We'll update it after the view appears too, to make sure the theme takes effect. This was a pull request from rbenna.

    While I was in this code, I fixed a bug where the Edit/Done button in the list of cards didn't always use the font from the theme.

    * Update CHANGELOG for 21.2.1 (#97)

    * updated to 21.2.1 in readme and changelog

    * update to 21.2.1 in podspec, plist, STPAPIClient and VERSION

    * ran build_documentation script

    * Update cert chain for 3DS2 test (#104)

    * Remove carthage hacks

    * Remove carthage hacks

    * Clean up project

    * Fix Carthage

    * Fix CI, carthage

    * brew upgrade carthage

    * add carthage to prep environment step

    * Remove extra script step for tests, it never really gave the correct info

    * Don't mark empty metadata responses as errors (#106)

    * Don't mark empty metadata responses as errors

    * Only one request per prefix per session

    * Stop overreporting missing metadata

    * SwiftUI Custom Integration

    * Update apple pay paymentRequest convenience method docstring (#108)

    * Tests

    * Allow 13.6

    * Removes unwanted weak declarations in STPPaymentOptionsViewController (#110)

    * Removes unwanted weak declarations in STPPaymentOptionsViewController

    * Adds country code to fix failing STPApplePayContextFunctionalTests

    * Run on iOS 14

    * Run on latest

    * Uncommit accidental cartfile update

    * Base copied params on stored params

    * Fix isEqual to include more data

    * Add SetupIntent support

    * Fix SetupIntent example

    * Disable WeChatPay tests (#113)

    * Add improvements to CI app

    * Remove unnecessarily added files

    * Update CI related files to origin/private

    * Re-add PaymentSheet specifics?

    * Also update stripe3ds2-support/ci_scripts to origin/private

    * Also update Tests/installation_tests/carthage to origin/private

    * Update Localizable.strings

    * Fix STPPaymentMethodEnums

    * Fix missing assets on iOS 11, 12

    * Remove extraneous *.orig files

    Co-authored-by: David Estes <davidestes@stripe.com>
    Co-authored-by: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>
    Co-authored-by: Cameron Sabol <csabol@stripe.com>
    Co-authored-by: Cameron <36750494+csabol-stripe@users.noreply.github.com>
    Co-authored-by: anirudh-stripe <60690025+anirudh-stripe@users.noreply.github.com>
    Co-authored-by: Ali Riaz <aliriaz@stripe.com>
    Co-authored-by: aliriaz-stripe <42750433+aliriaz-stripe@users.noreply.github.com>
    Co-authored-by: Mel <78050250+mludowise-stripe@users.noreply.github.com>

commit 12570b6336d2c70129109cf903b08d9bba1fe491
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Thu Feb 18 14:19:59 2021 -0800

    Remove extraneous *.orig files

commit a8b9978c1977f5fda52fe87d42033418620ae7dc
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Tue Feb 16 18:48:06 2021 -0800

    Fix missing assets on iOS 11, 12

commit 22760ab897b82744edebffa0bbdb51d820cfac24
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Tue Feb 16 15:54:39 2021 -0800

    Fix STPPaymentMethodEnums

commit 5162ec316c4398ce032236957fb228735bcc05c7
Merge: 74e30eef e9f607b1
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Tue Feb 16 13:55:54 2021 -0800

    Merge branch 'mc' into yuki/mc-merge

commit e9f607b132d3df1be4f2d7ce6cac59b6b720b628
Author: Cameron <36750494+csabol-stripe@users.noreply.github.com>
Date:   Tue Feb 16 13:28:53 2021 -0800

    Don't mark empty metadata responses as errors (#121)

    * ctrl+i

    * Merge

commit b8f88422f5d48fbc20dba0b482bceaacf0590eed
Author: Mel <78050250+mludowise-stripe@users.noreply.github.com>
Date:   Tue Feb 16 11:10:20 2021 -0800

    iDEAL payments for Mobile Checkout (#109)

    Added the iDEAL payment method to mobile checkouts. Note that this change does not address specifying billing information when paying with iDEAL – this will be added in a subsequent PR.

commit 804b367005a13b15e6c0d18036acd1364a09c9c5
Author: Mel <78050250+mludowise-stripe@users.noreply.github.com>
Date:   Thu Feb 11 11:26:43 2021 -0800

    Disable WeChatPay tests (#113)

commit 74e30eefa4619a607cb4f6ad4fc508a1a6c9efd3
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Mon Feb 15 12:40:42 2021 -0800

    Update Localizable.strings

commit f7b6ddf9733e3669b87c9b7ad23a9d20911f8ba8
Merge: ad1ec00a 644c7cef
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Mon Feb 15 11:22:45 2021 -0800

    Merge remote-tracking branch 'origin/private' into yuki/mc-merge-ci_scripts

commit ad1ec00a87aec9614b18fc7bf5f8470145f31bab
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Fri Feb 12 14:40:12 2021 -0800

    Also update Tests/installation_tests/carthage to origin/private

commit cf5cb37e83333659546c514e5e70dd99d35a125a
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Fri Feb 12 14:37:30 2021 -0800

    Also update stripe3ds2-support/ci_scripts to origin/private

commit 682ac556584c87d08d353ae02f07a67f4634b6c2
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Fri Feb 12 14:26:14 2021 -0800

    Re-add PaymentSheet specifics?

commit 129e81539531773b0daa4ce019858fb5c46ddf48
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Fri Feb 12 14:16:41 2021 -0800

    Update CI related files to origin/private

commit 0ad2822806cb82b519083b0b1fb362d624f388fb
Author: Yuki <yuki@stripe.com>
Date:   Fri Feb 5 09:58:58 2021 -0800

    [origin/mc] Add support for multiple payment method types  (#103)

    * Rename setErrorIfNecessary

    * Get rid of safeAreaLayoutGuide usage in child VCs

    * PaymentMethod carousel

    * Toggle 'Or pay using..' text under Apple Pay button

    * Toggle 'Add a card' / 'Add a payment method' title

    * Swap the new and old pm detail views

    * Prep sheet to handle multiple PM types

    * Refactor paymentMethodTypes

    * Fix tests

    * More fixes

    * Fix documentation

    * Update cert chain for 3DS2 test (#104)

    (cherry picked from commit 6d256ca463)

    * delete extraneous border color setting

commit 58998ebb035763b808532cd93b8fa16016815649
Merge: e527bc75 cd6053b4
Author: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>
Date:   Thu Feb 4 09:24:59 2021 -0800

    Merge pull request #105 from stripe-ios/davidme/mc-pk

    Send publishable key with events

commit e527bc75c66b4b14be466c2b788ff7c5708f4fb5
Author: Yuki <yuki@stripe.com>
Date:   Wed Feb 3 16:31:01 2021 -0800

    Update cert chain for 3DS2 test (#104)

    (cherry picked from commit 6d256ca463)

commit cd6053b4c59d34090b93e748d8a22caff2979a3f
Author: David Estes <davidestes@stripe.com>
Date:   Wed Feb 3 16:31:47 2021 -0800

    Send publishable key in events

commit 3c37b41b4589cafa75e484bfc504ee07faa6e315
Merge: 934db8ee e8b61e57
Author: kush-stripe <75282116+kush-stripe@users.noreply.github.com>
Date:   Tue Feb 2 19:02:12 2021 -0500

    Merge pull request #102 from stripe-ios/kush/dash-moto

    Mobile dashboard SCA exemption

commit e8b61e57cffb0f7329b42d6b72cdaa796f1a82a6
Author: Kush Agrawal <kush@stripe.com>
Date:   Tue Feb 2 13:32:18 2021 -0800

    Remove SCA comment about mobile

commit e96b808abd8f21b53f4a1c3e979996c2182b0e39
Author: Kush Agrawal <kush@stripe.com>
Date:   Mon Feb 1 20:11:29 2021 -0800

    Moto exemption

commit 934db8ee573bbcd5bfd6414a1b2ac4b76a9a35a0
Merge: 7114cfe3 b1f1cb68
Author: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>
Date:   Fri Jan 29 15:33:32 2021 -0800

    Merge pull request #100 from stripe-ios/davidme/updated-confirmation

    Expose ViewModifier APIs publicly in SwiftUI

commit b1f1cb684eedee35a3eb03bdcb6ee74eac00a3bf
Author: David Estes <davidestes@stripe.com>
Date:   Fri Jan 29 14:45:30 2021 -0800

    change oncompletion again

commit f21b98a1b57061c72a920b2908f03ff32eabb880
Author: David Estes <davidestes@stripe.com>
Date:   Fri Jan 29 14:29:50 2021 -0800

    onPaymentCompletion

commit b0b15ff52a98e9179b596bc2db60fb24cad7d81f
Author: David Estes <davidestes@stripe.com>
Date:   Fri Jan 29 14:27:33 2021 -0800

    Update based on feedback

commit bbcad2319361ae152b4113b79d9c56fa363be126
Author: David Estes <davidestes@stripe.com>
Date:   Fri Jan 29 13:56:26 2021 -0800

    Fix comment

commit 5542ea1e9ac37f463c28b664c91f0783787e176f
Author: David Estes <davidestes@stripe.com>
Date:   Fri Jan 29 13:52:07 2021 -0800

    Expose ViewModifier API, update examples

commit 7114cfe32319ae8e2b314d57121951c6fddc145b
Author: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>
Date:   Thu Jan 28 09:09:20 2021 -0800

    Fix podspec xcassets (#95)

commit 324f4331e2b62f6c016ca688a7bab71d0c3e8eaa
Author: Cameron <36750494+csabol-stripe@users.noreply.github.com>
Date:   Wed Jan 27 12:30:47 2021 -0800

    Fixes flying card icon when loading metadata (#90)

commit b42550b15a6920d2cb1a7666b7d2a012ac18daa4
Author: Yuki <yuki@stripe.com>
Date:   Tue Jan 26 13:23:54 2021 -0800

    [origin/mc] Bugfixes (#88)

    * Fix home indicator dismiss animation

    * Fix playground label color

    * Fix card form not updating delegate when country changes

    * Auto-prefix expiry month values that start with 2...9 with a 0

commit 9e682cef24debd5fff475752141d71668576f2da
Author: Cameron <36750494+csabol-stripe@users.noreply.github.com>
Date:   Fri Jan 22 17:56:35 2021 -0800

    Adds localized MC strings (#87)

    * Adds localized MC strings

    * Update screenshot for zh-Hans

    * whitespace fix

commit f3808dae63784571b32de35ff87a749a77a4051e
Author: Yuki <yuki@stripe.com>
Date:   Fri Jan 22 16:14:06 2021 -0800

    Make checkbox button tappable target include the label (#86)

commit bd98bf095578a0f2deea1b3b52566ddd18c28c2e
Author: Cameron <36750494+csabol-stripe@users.noreply.github.com>
Date:   Fri Jan 22 13:59:26 2021 -0800

    Embeds 3DS2 challenge flow in PaymentSheet (#85)

    * Embeds 3DS2 challenge flow in PaymentSheet

    * SceneDelegate >> AppDelegate apparently

commit e883ec69ba2f63eab56957e3584c6da0b030b6f2
Author: Cameron <36750494+csabol-stripe@users.noreply.github.com>
Date:   Fri Jan 22 10:26:48 2021 -0800

    Displays API errors in form view when possible (#77)

    * Displays API errors in form view when possible

    * Tests

commit 62edfa65a5e52916bae8d10affe61a0af726a484
Author: Yuki <yuki@stripe.com>
Date:   Fri Jan 22 09:58:05 2021 -0800

    [origin/mc] Custom flow bugfixes (#82)

    * Fix PaymentSheetFlowController paymentOption non-nil even when we know it errored

    * Fix custom flow button flashing

commit 18b531c2a3860fe8bff489d618b452d5092e54bd
Author: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>
Date:   Fri Jan 22 09:41:24 2021 -0800

    Add UI Tests to PaymentSheet Examples (#83)

    * Add PaymentSheet UI Tests

commit cf0558e27d85b1ec577c23e58a9f35fdbe9f2185
Author: Yuki <yuki@stripe.com>
Date:   Fri Jan 22 07:48:16 2021 -0800

    [origin/mc] Fix autolayout feedback loop  (#84)

    * Fix autolayout feedback loop, modal constraints

    * Fix #available

commit 09182c0cd27016f122b9cf5000a5d4c6f84ff259
Author: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>
Date:   Thu Jan 21 15:59:46 2021 -0800

    Hide the keyboard while scanning (#81)

commit 58e7abcc5096f8c94f75f8b14c36d59e278ea2a0
Author: Cameron <36750494+csabol-stripe@users.noreply.github.com>
Date:   Thu Jan 21 14:26:24 2021 -0800

    Adds error icons to STPInputTextField (#67)

    Also fixes sizing issues with STPFloatingPlaceholderTextField and RTL issues with STPStackViewWithSeparator.

commit 754305192709ee7b24c4e089e41269ec91c83a16
Author: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>
Date:   Thu Jan 21 09:07:37 2021 -0800

    SwiftUI Support (#73)

    This adds SwiftUI support to MC.

    We add three new SwiftUI Views: `ConfirmButton`, `FlowController.PaymentOptionsButton`, and `FlowController.ConfirmPaymentButton`.

    `ConfirmButton` takes a PaymentSheet, a completion block, and a content block. It behaves the same way as a SwiftUI `Button`, so you can add your own content (`Text()`, `Image()`, etc.) and apply styling as needed. The intent is that a user will create their own Model object and store the PaymentResult in a `@Published` object to observe in their View.

    `FlowController.PaymentOptionsButton`, and `FlowController.ConfirmPaymentButton` are similar, but for the corresponding functions of `FlowController`.

    Under the hood, these are using a new `.paymentSheet()` extension to View, which uses a ViewModifier to add a `PaymentSheetPresenter` and an empty UIViewController to the background of the attached view.  It observes the state of `$isPresented`, and appears when true. This is loosely based on the strategy in https://github.com/stleamist/BetterSafariView, and is similar to how the built-in `.sheet()` API works. We won't make those public for now: I think the `Button`s might be enough for most users and I want to reduce the API surface as much as possible, but we can open them up later if needed.

commit 155e0096d9717c190130eab667dd00495a9239e0
Author: Cameron <36750494+csabol-stripe@users.noreply.github.com>
Date:   Wed Jan 20 13:46:48 2021 -0800

    Adds shadow to PaymentSheet forms (#71)

    Updates CTA button shadow to match

commit eb7741c312a00bee861e2fe05c4e821b1cf1447f
Author: Cameron <36750494+csabol-stripe@users.noreply.github.com>
Date:   Wed Jan 20 13:44:51 2021 -0800

    Update postal code validation when country code changes (#78)

commit b58c3c036c442bf8a5bc3ad35815af717f1c7cc4
Author: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>
Date:   Tue Jan 19 15:58:02 2021 -0800

    Improve placeholder text field animations (#75)

    Use a spring (but with ~no bounce) for placeholder text fields. The damping ratio / frequency response values were tuned by jarvis.
    Make the animation interruptible, fixing an issue where a label could get stuck when quickly switching between fields.

commit 47ef174ca97623b6dc06205951254e3dac253e79
Author: Cameron <36750494+csabol-stripe@users.noreply.github.com>
Date:   Tue Jan 19 10:40:04 2021 -0800

    Update text color based on validation state on user interactability change (#74)

commit 6ae55b01054b68e3ed08ca4815587bb819b6d401
Author: Yuki <yuki@stripe.com>
Date:   Thu Jan 14 10:53:36 2021 -0800

    [origin/mc] Polish round 4 (#72)

    * Disable add button if not saving after tapped

    * Tweak loading height

    * Put the navigation bar on top of the content, so shadow always draws

    * Add publishable key to analytics

    * Fix Add your payment information copy

    * Dont have header underlap content when content expands

    * Remove drag handle

    * Update localizable.strings

commit 3e5ab770ace448b5e94952f36e98cb9e600631f0
Author: Yuki <yuki@stripe.com>
Date:   Wed Jan 13 15:49:51 2021 -0800

    [origin/mc] Improve MC height animations (#69)

    * Improve dynamic height animations by refactoring PanModal to use autolayout

    * Fix jumpiness

    * Animate add card button removal/addition

    * Rework animation to use spring

commit d0fd255e2e4d5625c0ab7284f1c6a3c64b38ca3a
Author: Yuki <yuki@stripe.com>
Date:   Tue Jan 12 15:59:56 2021 -0800

    Updated copy to latest state, ready for localization (#70)

commit 87ea2c83798a1e25a323339b89dc72a4604972cc
Author: Yuki <yuki@stripe.com>
Date:   Mon Jan 11 18:04:31 2021 -0800

    Update card form error copy and multiple error logic to match Checkout. (#66)

    * Update card form error copy and multiple error logic to match Checkout.

    * Update card scanning copy too

    * Fix tests

    * Update snapshot test

commit e8b07db432b0c8015e995c9eb3604259025f87fd
Merge: f3724aef f4018188
Author: vineet-stripe <62961342+vineet-stripe@users.noreply.github.com>
Date:   Mon Jan 11 20:07:26 2021 -0500

    Merge pull request #68 from stripe-ios/vineet/optional-partnerid

    Make STPAppInfo partnerId optional

commit f401818820519dc4fdcae8b1965d43317972a084
Author: Vineet Shah <vineet@stripe.com>
Date:   Mon Jan 11 19:44:45 2021 -0500

    Make STPAppInfo partnerId optional

commit f3724aefa8fdcdbed6311257c4b53adf339c2a54
Author: Cameron <36750494+csabol-stripe@users.noreply.github.com>
Date:   Mon Jan 11 10:47:07 2021 -0800

    Merges in latest from private branch to get 3DS2 (#65)

    * Disable card scanning until I get more feedback

    * Add a few convenience accessors to make the SDK 21 transition easier

    * Update config test

    * Change GrabPay to synchronous

    * Fix Carthage and Swift Package Manager (#17)

    The dynamic .xcframework can't be imported by Carthage, and requires that manual users embed Stripe3DS2.xcframework separately. Fix this by using the static Stripe3DS2.xcframework to create a combined Stripe.xcframework, like we distribute in the existing Objective-C version.

    * Start 21.0.0

    * Update version numbers 21.0.0

    * Update docs

    * Fix a compiler warning on Catalyst

    * Move LocalizationTester to a separate xcodeproj to work around a Carthage bug

    * Update package configuration

    * Adding UPI integration for iOS (#13)

    * Adding UPI integration

    * project.pbxproj changes

    * project.pbxproj changes

    * fix linting tests

    * making vpa non-optional

    * change Upi to UPI

    * fix name in comments

    Co-authored-by: David Estes <davidestes@stripe.com>

    * Fix public initializers (#22)

    * Fix public initializers

    * Add two more missing publics

    * Add a few more missing publics

    * Add docstrings

    * Revert "Adding UPI integration for iOS (#13)" (#24)

    This reverts commit 1b1b4ad7e6.

    * Update version, README, CHANGELOG, and docs

    * Update Package.swift

    * Expose cardNumber from STPPaymentCardTextField (#27)

    * Fix STPPaymentHandler (#29)

    * Remove extraneous modulemap (#28)

    * Fix marlin return url for Alipay

    * Adding UPI integration for iOS (#26)

    * Adding UPI integration

    * project.pbxproj changes

    * project.pbxproj changes

    * fix linting tests

    * making vpa non-optional

    * change Upi to UPI

    * fix name in comments

    Co-authored-by: David Estes <davidestes@stripe.com>

    * Attempt to fix Cocoapod spec (#30)

    * Attempt to fix Cocoapod spec

    * These shouldn't be scoped to iOS only

    * Release 21.1.0

    * Release 21.1.0

    * Release 21.1.0

    * Update Package.swift

    * Add PRIVACY.md (#43)

    * Add netbanking integration for iOS (#34)

    * adding netbanking integration

    * add netbanking params test

    * revert contents.xcworkspacedata

    * merge fix

    * linting fix

    * fix copy paste error in function name

    * name case change

    * fix casing in test case

    * Re-add breaks into text field that were dropped during switification (#51)

    * Adds attach & detach methods to CustomerContext that take PaymentMeth… (#52)

    * Adds attach & detach methods to CustomerContext that take PaymentMethod ids instead of the entire object

    https://github.com/stripe/stripe-ios/issues/1729

    * Add tests

    * Add docstrings

    * Update Stripe/STPCustomerContext.swift

    Co-authored-by: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>

    Co-authored-by: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>

    * Fix directoryServerKeyID in 3DS2 request (#54)

    We weren't filling this out correctly after the Swift conversion.

    * Release 3DS2 framework source code (#62)

    Stripe3DS2 is now open source under the MIT license.

    * Switch from Asset Catalogs to 3x PNGs (#58)

    * Switch from asset catalogs to 3x PNGs

    * Don't query the service for non-UnionPay BINs (#63)

    ## Summary
    Add a check to `retrieveBINRanges` to make sure users of STPBINRange can't unintentionally fetch metadata for non-UnionPay BINs.
    While we're dealing with BINs, fix a compiler issue with `binRanges.map(\.brand)`. (Some users are reporting a compile error when Xcode can't infer the type from the key path: That doesn't make any sense to me, but this is the only place we use key-path expressions, so we might as well get rid of it.)

    ## Motivation
    We were mistakenly querying the service in some situations with non-UnionPay BINs.

    ## Testing
    Tested with Basic Integration using a 19-digit UnionPay test card.

    * Begin 21.2.0

    * 21.2.0

    * Use Podspec to build docs

    * Use Podspec to build docs

    * Fix example app 3DS2 linking. Re-add PaymentSheet xcassets

    * Podspec syntax fix

    * macCatalystApplicationExtension availability to fix jazzy

    * Update reference images for @3x pngs

    * Fix bin matching for empty strings

    Co-authored-by: David Estes <davidestes@stripe.com>
    Co-authored-by: Yuki Tokuhiro <yuki@stripe.com>
    Co-authored-by: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>
    Co-authored-by: anirudh-stripe <60690025+anirudh-stripe@users.noreply.github.com>

commit 87df6abd08eac1e828103645d50514a22ba7037e
Author: Yuki <yuki@stripe.com>
Date:   Tue Jan 5 10:35:33 2021 -0800

    [origin/mc] More polish items, fix tests (#60)

    * Disable nav bar button shadow in dark mode

    * Add shadow to green checkmark circle

    * Center the chevron in nav bar button

    * Fix Card expiry test

    * Update Stripe/SheetNavigationBar.swift

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

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

commit d230cd03f65cb97330864b057dfef99d3e2d359e
Merge: caf2c35e 79434041
Author: vineet-stripe <62961342+vineet-stripe@users.noreply.github.com>
Date:   Tue Jan 5 13:09:23 2021 -0500

    Merge pull request #61 from stripe-ios/vineet/user-key-testmode

    Use environment variable to enable testmode for user key authentication

commit 7943404105ed88da3e0e4d2104850245efc30afa
Author: Vineet Shah <vineet@stripe.com>
Date:   Tue Jan 5 12:50:32 2021 -0500

    Use environment variable to enable testmode for user key authentication

commit caf2c35ea21b21127caf10af74faeec2b11d0376
Merge: b24200a7 68106e19
Author: vineet-stripe <62961342+vineet-stripe@users.noreply.github.com>
Date:   Tue Jan 5 12:31:44 2021 -0500

    Merge pull request #59 from stripe-ios/vineet/dash-payment-acceptance

    Add user key (uk_) authentication support to PaymentSheet

commit 68106e19d2dd12de3ab462ed12b1d874b8e3459e
Author: Vineet Shah <vineet@stripe.com>
Date:   Mon Jan 4 20:27:02 2021 -0500

    Extract user key boolean

commit 3a1e34a9fb9f7b54ac6b50e42fbf547a0b8e8e13
Author: Vineet Shah <vineet@stripe.com>
Date:   Mon Jan 4 17:12:44 2021 -0500

    Change payment intent retrieval endpoint when authenticating with a user key

commit d448bdd5054982ac998586cac7b0567b6fe53bb6
Author: Vineet Shah <vineet@stripe.com>
Date:   Mon Jan 4 14:25:50 2021 -0500

    Create payment method separately when authenticating with a user key

commit c6ecf0a72bca7b4eeb566cf5d6c8fe7b87831a4b
Author: Vineet Shah <vineet@stripe.com>
Date:   Mon Jan 4 10:40:45 2021 -0500

    Set Stripe-Livemode header when authenticating with a user key

commit b24200a7ffc52bc0d30aff1b9e5a80e15bd55779
Author: Yuki <yuki@stripe.com>
Date:   Mon Dec 21 12:58:38 2020 -0800

    Fix margins (#56)

commit f9de872f90af3f54753cbc0d64090b8246a62761
Author: Yuki <yuki@stripe.com>
Date:   Thu Dec 17 15:12:18 2020 -0800

    Fix card scan button hanging main thread on device (#53)

    * Fix card scanning view hanging main thread on device (at least iOS 14.2)

    * Second attempt

commit 792f1fbfb72b5af79bd9f77357a700f97e2053a5
Author: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>
Date:   Tue Dec 15 15:55:46 2020 -0800

    Update version number for MC (#49)

commit a474d3908bd29f13c48b65822a7a918592ba56ea
Author: Yuki <yuki@stripe.com>
Date:   Tue Dec 15 15:12:36 2020 -0800

    [origin/mc] Update example apps to point to glitch, fix typo (#47)

    * * Update example apps to point back to glitch
    * billingAddressCollectionLevel

    * Fix a missed billingCollectionLevel change

commit f6427cb0833b44d93737ee174e8a9eafcff4c352
Author: Yuki <yuki@stripe.com>
Date:   Tue Dec 15 13:51:05 2020 -0800

    [origin/mc] Analytics (#45)

    * Add basic analytics

    * PR feedback

    * Update with  STPAnalyticsProtocol

commit 38136860448d132acb4fb5d059a06939055d93d8
Author: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>
Date:   Tue Dec 15 13:10:22 2020 -0800

    Make analytics not rely on Swift type names (#46)

    * Make analytics not rely on Swift type names

commit ad2729dc4ad4bba861751bec5488d7aea019f8e2
Author: Cameron <36750494+csabol-stripe@users.noreply.github.com>
Date:   Tue Dec 15 12:44:07 2020 -0800

    Adds validation errors to card form (#40)

    * Adds validation errors to card form

    * New strings

    * Updates snapshot tests

    * Missing docstrings

    * Dogfooding polish (#44)

    * Cleanup

    * Disabled state

    * Fixes padding

    * Clean up spacing

    * Checkbox

    * Cleaner

    * Fixes bouncing for hardware keyboard in simulator

    * Better border

    * Removes name from billing address. Updates billing address copy

    * No mask border

    * Fixes content compression/hugging for save this card

    * Adds new strings

    * Update snapshot tests

    * Updated icons

    * Shippable images

    * Update strings file

commit 58139ae3346ce0e16def9c1e2ac4d21d2b2c74a7
Author: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>
Date:   Tue Dec 15 11:01:40 2020 -0800

    Improve MC Accessibility (#41)

    * Fix accessibility on MC

commit 03235caa4659b09ee19c409ce86b7d2a69953962
Merge: a4f5b472 7752ca85
Author: Yuki <yuki@stripe.com>
Date:   Tue Dec 15 09:45:31 2020 -0800

    Merge pull request #42 from stripe-ios/yuki/mc-bugfixes-2

    [origin/mc] Bugfixes 2/n

commit 7752ca85fa7c5a254535739b74d358d7b5dfb23a
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Tue Dec 15 09:31:03 2020 -0800

    simplify addition to STPError

commit 1b50743bfb527ee672cf7ac5d79af8ab05cd1dee
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Mon Dec 14 21:38:26 2020 -0800

    Update bottom margins

commit 56934e594d091dd1e757d6aad76b2b7f3db1962b
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Mon Dec 14 21:26:54 2020 -0800

    Always shadow the confirm button, halve opacity

commit ce45f9b913f62a5b839eb369daf6bf3c39e4e2de
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Mon Dec 14 21:22:23 2020 -0800

    Hack around completing too soon after 3ds1 completes

commit 1641bc22e6c5988d37e922925ff13efc8e5aa7ab
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Mon Dec 14 21:11:29 2020 -0800

    Move spinner to the left a bit

commit 0d477d7a205a586497b4c31befb2d00073172c78
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Mon Dec 14 20:32:06 2020 -0800

    Put some safety rails in test playground to avoid assertion failures

commit 9067e450cce971727e005b6fe33b8d8a1b5c86f3
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Mon Dec 14 20:19:12 2020 -0800

    increase delay between success and dismissal

commit 5b2b870fd605aa712fe33afeca15b574d99d1edf
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Mon Dec 14 19:48:02 2020 -0800

    Fix not calling completion block!

commit d4f52e5e5f1f2b8f2ddfd64b0c6bac6ba90eed05
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Mon Dec 14 19:43:54 2020 -0800

    Fix ConfirmButton being disabled - didMoveToWindow is called a bunch

commit 9e532a9b42a545965370be305e4ef0df9ff9f7a8
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Mon Dec 14 15:57:14 2020 -0800

    Fix NSError localizedDescription related test failures

commit 3aeb4574ab537dbd380add37f281e7432d512fdd
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Mon Dec 14 14:57:56 2020 -0800

    Fixups

commit d1c074c55ad3c29eebd6387ca515e9392fd88dc2
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Mon Dec 14 11:16:02 2020 -0800

    SheetStyle -> UserInterfaceStyle

commit bd4a10936d5275188ba6c2493934dba73658689d
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Sun Dec 13 21:36:41 2020 -0800

    Update example apps, fix Apple Pay line item

commit 10a74ca8d42f264e4419822a8d32633d6a164990
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Fri Dec 11 16:09:58 2020 -0800

    Update saved PM cell, logo size

commit 4cad4548df4474f90eeb2a13dcc84302d9b8316d
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Fri Dec 11 13:46:50 2020 -0800

    Or pay with card

commit 6c9e2bb8cd2b5d2232bffe2e6849975fb9749929
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Fri Dec 11 02:21:13 2020 -0800

    Actually populate lastError. Renamed it to mostRecentError for clarity.
    Refactored out of PaymentResult - it doesn't apply to Custom, we never use it internally. It makes more sense as a property of PaymentSheet!

commit 2245947355b33e3dce2c7f9299c4c65aa23206eb
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Thu Dec 10 20:35:18 2020 -0800

    Move LoadingViewController, fix up tap anywhere handling

commit d7171b2259a62189e4da4cebb10f87eaad8a551d
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Thu Dec 10 15:22:58 2020 -0800

    Handle 401 No valid API Key errors better

commit f80505cac34d195b9e4b5b91af626a5a4ac361df
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Thu Dec 10 15:16:41 2020 -0800

    Fail fast if PaymentIntent is in an unexpected state

commit 0192d684edfc022924bf68cccaf5b77817860fa2
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Thu Dec 10 15:15:07 2020 -0800

    Fix STPApplePayContext allowing confirmation of an already-succeeded PaymentIntent

commit b53ecd7082158e1aa562c6dc310c00e4031053f1
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Thu Dec 10 12:13:20 2020 -0800

    Handle unrecoverable errors, refactor out PaymentSheet+Helpers, move PaymentSheetConfiguration to its own file

commit c68735f764992364f4a17c754d0c31ce75f133ab
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Wed Dec 9 16:40:06 2020 -0800

    Fix swipe-to-dismiss not calling completion block

commit 3a29010364e5f8b8066349dcce14a6575a7e52fb
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Wed Dec 9 16:30:25 2020 -0800

    Fix ConfirmButton not appearing as ApplePay initially when it should

commit 69052f44d428fd31ffc19db01d0aef2279d8703f
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Wed Dec 9 16:24:15 2020 -0800

    Pass keyboard touch events

commit a4f5b4723c1d67a4e7d9432c23aeae4cd1900fd2
Author: davidme-stripe <52758633+davidme-stripe@users.noreply.github.com>
Date:   Wed Dec 9 10:50:12 2020 -0800

    MC: Card Scanning (#35)

    * Card scanning

    * Clean up card scanning

    * Privatized

    * Hide placeholder view too

    * fix bugs

    * Remove commented code

    * Switch back to fill alignment - not sure why it was set to leading, but that breaks the change animation when we unhide the scanner

    * Update STPAddCardViewController.swift

    Reset legacy Scan Card string to uppercase

    * Rea-add Stripe33DS2

    * Move min version back to 12.0

    * Fix tests

commit 75aa59b845f99149e9ee64b1fa62b0cb24e16b61
Merge: d5ef1c80 57677009
Author: Yuki <yuki@stripe.com>
Date:   Wed Dec 9 09:47:16 2020 -0800

    Merge pull request #39 from stripe-ios/yuki/mc-bugfixes-1

    [origin/mc] Bug fixes 1/n

commit 57677009ed4d6593b4f932552706479cc0defa9d
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Wed Dec 9 09:26:23 2020 -0800

    Reduce ConfirmButton title size slightly

commit 10beb88b53b2dcef9c6b09ad7d6dcab173797844
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Tue Dec 8 21:54:12 2020 -0800

    Pass merchantDisplayName down to card text field for display

commit 575bb2c65faa8a4b47da8fd63552c0993d41c58f
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Tue Dec 8 19:30:06 2020 -0800

    Change string to Add card

commit 336538fa1d2a4beebd7d58822aaf98d6d6b8db3b
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Tue Dec 8 19:16:15 2020 -0800

    Close MC Inline upon selection of Apple Pay or saved PM

commit d3db03344059c398a7fb1adb454862ae4cc6ec79
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Tue Dec 8 17:41:51 2020 -0800

    Re-add iOS 12 support to example project, because why not

commit f22037ea306ceb176eb7b80eda9476808c8c2ba8
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Tue Dec 8 17:39:09 2020 -0800

    Handle multiple add PM actions - don't assume ConfirmButton only animates once, reset the Add PM view after adding succeeds

commit 14cea889ed90ead942368fc32b79071381f4e922
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Tue Dec 8 15:35:04 2020 -0800

    Refactor choosePaymentOptionViewController delegate to only  create+attach PMs

commit e4a1cbbb99ce8f22b7a9b60c3923579f7e36f389
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Tue Dec 8 15:19:16 2020 -0800

    Rename PaymentSheetManualFlow file

commit c4b70f3640b89c13cf006d0e87ad8f00cfbe26fc
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Tue Dec 8 15:12:11 2020 -0800

    Clean up some TODOs

commit 91e62149f2473ee273e1389fe61f8aa5d9935383
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Tue Dec 8 14:53:00 2020 -0800

    Fix webview pushing instead of presenting

commit d5ef1c809a1808c59c75c65a11672e75ee888698
Author: Cameron <36750494+csabol-stripe@users.noreply.github.com>
Date:   Tue Dec 8 16:44:51 2020 -0800

    Adds SheetStyle configuration option for iOS 13 and later (#38)

    * Adds SheetStyle configuration option for iOS 13 and later
    CTA button uses inherited tintColor

    * Update Stripe/PaymentSheet.swift

    Co-authored-by: Yuki <yuki@stripe.com>

    * Adds missing strings to strings file

    Co-authored-by: Yuki <yuki@stripe.com>

commit bcdfd9315aaeeecef66acc81bd51c3710997d4e3
Author: Yuki <yuki@stripe.com>
Date:   Tue Dec 8 12:21:15 2020 -0800

    [origin/mc] Polish (#37)

    * Polish and fixes

    - Style Navigation bar
    - Update header label depending on context
    - Saved payment method cells
    - Buy Button
    - Dont show Apple Pay sheet above Payment Sheet
    - Add Card assets
    - Icons
    - Defaulting behavior
    - Dont show PM Type carousel if only theres one choice
    - Processing disables everything behavior
    - Fix example for ios 12 - https://bugs.swift.org/browse/SR-11969
    - Increase nav button tap size, add highlighted animation to confirm button, add a minimum delay, use a big stackview
    - Refactor PaymentOption.new to contain a shouldSave bool - Rename merchantDisplayName - Animation duration constants - Animate error label
    - Nav bar, scrolling, fix saved cell selection, loading height
    - Delete this later! Apple Pay cert
    - Transition only the content btwn header and button
    - Comments, fixes, renaming, adding conveniences, example project

    * Update Stripe/SheetNavigationBar.swift

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

    * Errors

    * Fix renaming PaymentModal -> PaymentSheet in example

    * Remove thanks

    * More fixes

    * Call completion in guard

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

commit 6ec1f6fb49ce37f80a063525907b61c788ccc1f3
Author: Cameron <36750494+csabol-stripe@users.noreply.github.com>
Date:   Fri Dec 4 14:10:09 2020 -0800

    Adds multi-section support to STPFormView (#16)

    * Adds multi-section support to STPFormView
    Updates some colors and fonts to spec

    * Add new strings. CI fix

    * Adds placeholders for missing docstrings

    * Adds country selector to mc card form (#20)

    * Adds country selector to mc card form

    * Updates card form snapshot tests with correct title label sizing

    * Missing docstrings

    * Adds snapshot test

    * Disable snapshot on legacy

    * Adds full billing details to MC (#31)

    * Adding full billing

    * Working

    * Remove email and phone for now

    * Snapshot tests

    * Comment cleanup

    * docstring

    * Adds billing settings to sample app

    * Disable snapshot tests on legacy

    (cherry picked from commit 4d3448bbfc4db131c3c4f1e9372a174440c0ea3e)

commit 8dd97fb93d34777e7b47978be1da3a065bf5b2b8
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Tue Nov 17 17:05:38 2020 -0800

    PR feedback, add licenses

commit 00c3460a575f1f5e9f3b4c8d8857de42fef3818f
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Fri Nov 13 17:09:34 2020 -0800

    PaymentSheet

commit 95bb9f9ac20dfc1d11e3ae7cadca9385797bd955
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Fri Nov 13 17:07:22 2020 -0800

    Add PanModal

commit 1d5de76763369875091ba4eeecc0bf37527e8264
Author: Yuki Tokuhiro <yuki@stripe.com>
Date:   Fri Nov 13 17:02:09 2020 -0800

    Card form

* Remove incorrect public modifier in internal ConfirmButton

* Add STPAnalyticsProtocol conformance to STPApplePayContext
2021-03-01 15:12:20 -08:00
Yuki c0034cef8f
Adds support for SetupIntents to STPApplePayContext (#132)
* Add support for SetupIntent to ApplePayContext

* Add example

* Allow giving us an SI that is already succeeded e.g. if it was used to complete a pay-later Subscription
2021-02-25 16:47:22 -08:00
davidme-stripe b33030f6c2
Merge pull request #134 from stripe-ios/mludowise/release-21.3.1
Release 21.3.1
2021-02-25 15:18:39 -08:00
Mel Ludowise c7929b3cdc Release 21.3.1 2021-02-25 14:45:37 -08:00
davidme-stripe 439c4823c5
Adjust cron job to run less often (#133) 2021-02-25 13:35:21 -08:00
davidme-stripe 65a892004e
Fix E2E cron job (#130) 2021-02-23 17:26:02 -08:00
davidme-stripe e498f4488f
Add E2E test (#122) 2021-02-23 15:45:07 -08:00
davidme-stripe b39ba4f47c
Add Maestro support by default (#98) 2021-02-23 15:44:10 -08:00
davidme-stripe e0f8a74a91
Update STPFixtures.m (#111) 2021-02-23 15:44:03 -08:00
Cameron 73306f38a5
Merge pull request #127 from stripe-ios/davidme/21.3.0
Release 21.3.0
2021-02-18 14:12:47 -08:00
David Estes 1dda4ce017 Update docs 2021-02-18 13:35:30 -08:00
David Estes f8b4ddf317 Update versions 2021-02-18 13:28:10 -08:00
David Estes bff9b1d392 Initial 21.3.0 2021-02-18 13:25:48 -08:00
Cameron 15dc3870a8
Fixes bin matching logic for empty strings (#126) 2021-02-18 12:23:06 -08:00
davidme-stripe c22a4f1b95
Merge pull request #123 from stripe-ios/davidme/uikitless-apple-pay
Instead of using PKPaymentAuthorizationViewController, use PKPaymentAuthorizationController.
2021-02-18 11:30:33 -08:00
David Estes 0214a50e80 Undo PaymentContext changes 2021-02-18 10:11:24 -08:00
David Estes b3cb8afbdb Add window delegate, allow secondary windows outside of app extensions 2021-02-17 12:27:54 -08:00
David Estes 9ceba60808 Update example to new presentApplePay method 2021-02-17 10:28:01 -08:00
David Estes 860a3df90c I can't determine why PassKit is sometimes calling the dismiss block on its background queue: It doesn't always happen. Switch to the main thread if needed instead. 2021-02-17 10:22:27 -08:00
David Estes 05d59f51e6 Fix test 2021-02-16 17:08:13 -08:00
David Estes dcf6a04ec1 Cleanup 2021-02-16 16:40:24 -08:00
David Estes f4270ddae8 Remove UIKit dependency from STPApplePayContext 2021-02-16 15:58:46 -08:00
davidme-stripe 644c7cef8f
Merge pull request #101 from stripe-ios/davidme/custom-swiftui
SwiftUI support for Custom Integration
2021-02-11 15:51:33 -08:00
David Estes b93ecc1640 Remove unnecessarily added files 2021-02-11 15:35:23 -08:00
David Estes c29a06dbae Merge branch 'davidme/custom-swiftui' of github.com:stripe-ios/stripe-ios into davidme/custom-swiftui-w-tests 2021-02-11 15:31:59 -08:00
David Estes 26b74348ee Add improvements to CI app 2021-02-11 15:29:53 -08:00
David Estes f3b1d30d62 Merge remote-tracking branch 'origin/private' into davidme/custom-swiftui 2021-02-11 13:53:59 -08:00
Mel a86e18bff3
Disable WeChatPay tests (#113) 2021-02-11 11:26:43 -08:00
David Estes add18ff400 Merge remote-tracking branch 'origin/private' into davidme/custom-swiftui-w-tests 2021-02-10 15:23:34 -08:00
davidme-stripe c8fc6fc755
Merge pull request #107 from stripe-ios/davidme/carthage-7
Switch Carthage to --use-xcframeworks
2021-02-10 15:23:02 -08:00
David Estes f4ff9724b6 Fix SetupIntent example 2021-02-10 14:53:25 -08:00
David Estes 2798653c4f Add SetupIntent support 2021-02-10 14:47:06 -08:00
David Estes 41455b3448 Fix isEqual to include more data 2021-02-09 13:55:29 -08:00
David Estes 5a0c6d7e61 Base copied params on stored params 2021-02-09 13:52:30 -08:00
David Estes 51d62b4b38 Uncommit accidental cartfile update 2021-02-09 13:38:10 -08:00
David Estes 3c0d07e63b Run on latest 2021-02-09 13:22:06 -08:00
David Estes d9eaf16b80 Run on iOS 14 2021-02-09 11:59:50 -08:00