diff --git a/Stripe/StripeiOSTests/PayWithLinkButtonSnapshotTests.swift b/Stripe/StripeiOSTests/PayWithLinkButtonSnapshotTests.swift
index 6b0a6e9298f..7792c569d3c 100644
--- a/Stripe/StripeiOSTests/PayWithLinkButtonSnapshotTests.swift
+++ b/Stripe/StripeiOSTests/PayWithLinkButtonSnapshotTests.swift
@@ -64,55 +64,7 @@ class PayWithLinkButtonSnapshotTests: STPSnapshotTestCase {
}
func testRegistered_withLongEmailAddress() {
- let sut = makeSUT(useNewBrand: true)
- sut.linkAccount = makeAccountStub(email: longEmailAddress, isRegistered: true)
- verify(sut)
- }
-
- func testDefault_legacy() {
- let sut = makeSUT(useNewBrand: false)
- sut.linkAccount = makeAccountStub(email: emailAddress, isRegistered: false)
- verify(sut)
-
- sut.isHighlighted = true
- verify(sut, identifier: "Highlighted")
- }
-
- func testDefault_rounded_legacy() {
- let sut = makeSUT(useNewBrand: false)
- sut.cornerRadius = 16
- sut.linkAccount = makeAccountStub(email: emailAddress, isRegistered: false)
- verify(sut)
- }
-
- func testDisabled_legacy() {
- let sut = makeSUT(useNewBrand: false)
- sut.isEnabled = false
- verify(sut)
- }
-
- func testRegistered_legacy() {
- let sut = makeSUT(useNewBrand: false)
- sut.linkAccount = makeAccountStub(email: emailAddress, isRegistered: true)
- verify(sut)
- }
-
- func testRegistered_rounded_legacy() {
- let sut = makeSUT(useNewBrand: false)
- sut.cornerRadius = 16
- sut.linkAccount = makeAccountStub(email: emailAddress, isRegistered: true)
- verify(sut)
- }
-
- func testRegistered_square_legacy() {
- let sut = makeSUT(useNewBrand: false)
- sut.cornerRadius = 0
- sut.linkAccount = makeAccountStub(email: emailAddress, isRegistered: true)
- verify(sut)
- }
-
- func testRegistered_withLongEmailAddress_legacy() {
- let sut = makeSUT(useNewBrand: false)
+ let sut = makeSUT()
sut.linkAccount = makeAccountStub(email: longEmailAddress, isRegistered: true)
verify(sut)
}
@@ -143,8 +95,7 @@ extension PayWithLinkButtonSnapshotTests {
)
}
- fileprivate func makeSUT(useNewBrand: Bool = true) -> PayWithLinkButton {
- LinkUI.useNewBrand = useNewBrand
+ fileprivate func makeSUT() -> PayWithLinkButton {
return PayWithLinkButton()
}
diff --git a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Carousel/carousel_link_deprecated.imageset/Contents.json b/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Carousel/carousel_link_deprecated.imageset/Contents.json
deleted file mode 100644
index 9a56af3f39b..00000000000
--- a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Carousel/carousel_link_deprecated.imageset/Contents.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "images" : [
- {
- "filename" : "carousel_link.svg",
- "idiom" : "universal"
- },
- {
- "appearances" : [
- {
- "appearance" : "luminosity",
- "value" : "dark"
- }
- ],
- "filename" : "linkDark.svg",
- "idiom" : "universal"
- }
- ],
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
diff --git a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Carousel/carousel_link_deprecated.imageset/carousel_link.svg b/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Carousel/carousel_link_deprecated.imageset/carousel_link.svg
deleted file mode 100644
index b4db24e1ec6..00000000000
--- a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Carousel/carousel_link_deprecated.imageset/carousel_link.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Carousel/carousel_link_deprecated.imageset/linkDark.svg b/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Carousel/carousel_link_deprecated.imageset/linkDark.svg
deleted file mode 100644
index 3cfd3222173..00000000000
--- a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Carousel/carousel_link_deprecated.imageset/linkDark.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/icon-pm-link-deprecated.imageset/Contents.json b/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/icon-pm-link-deprecated.imageset/Contents.json
deleted file mode 100644
index d36c000cba7..00000000000
--- a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/icon-pm-link-deprecated.imageset/Contents.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "images" : [
- {
- "filename" : "vector (2).svg",
- "idiom" : "universal"
- }
- ],
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
diff --git a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/icon-pm-link-deprecated.imageset/vector (2).svg b/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/icon-pm-link-deprecated.imageset/vector (2).svg
deleted file mode 100644
index b7359ef3634..00000000000
--- a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/icon-pm-link-deprecated.imageset/vector (2).svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
diff --git a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/link_arrow_deprecated.imageset/Contents.json b/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/link_arrow_deprecated.imageset/Contents.json
deleted file mode 100644
index 431148498e1..00000000000
--- a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/link_arrow_deprecated.imageset/Contents.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "images" : [
- {
- "filename" : "vector.svg",
- "idiom" : "universal"
- }
- ],
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
diff --git a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/link_arrow_deprecated.imageset/vector.svg b/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/link_arrow_deprecated.imageset/vector.svg
deleted file mode 100644
index 94f853fd282..00000000000
--- a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/link_arrow_deprecated.imageset/vector.svg
+++ /dev/null
@@ -1,38 +0,0 @@
-
diff --git a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/link_logo_deprecated.imageset/Contents.json b/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/link_logo_deprecated.imageset/Contents.json
deleted file mode 100644
index d65f4c5b630..00000000000
--- a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/link_logo_deprecated.imageset/Contents.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "images" : [
- {
- "filename" : "link_logo_deprecated.svg",
- "idiom" : "universal",
- "scale" : "1x"
- },
- {
- "idiom" : "universal",
- "scale" : "2x"
- },
- {
- "idiom" : "universal",
- "scale" : "3x"
- }
- ],
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
diff --git a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/link_logo_deprecated.imageset/link_logo_deprecated.svg b/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/link_logo_deprecated.imageset/link_logo_deprecated.svg
deleted file mode 100644
index 3c6d8830480..00000000000
--- a/StripePaymentSheet/StripePaymentSheet/Resources/StripePaymentSheet.xcassets/Link/link_logo_deprecated.imageset/link_logo_deprecated.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
diff --git a/StripePaymentSheet/StripePaymentSheet/Source/Helpers/Images.swift b/StripePaymentSheet/StripePaymentSheet/Source/Helpers/Images.swift
index 6f534887594..8adc9216eb5 100644
--- a/StripePaymentSheet/StripePaymentSheet/Source/Helpers/Images.swift
+++ b/StripePaymentSheet/StripePaymentSheet/Source/Helpers/Images.swift
@@ -34,7 +34,6 @@ enum Image: String, CaseIterable, ImageMaker {
case pm_type_p24 = "icon-pm-p24"
case pm_type_sepa = "icon-pm-sepa"
case pm_type_paypal = "icon-pm-paypal"
- case pm_type_link_deprecated = "icon-pm-link-deprecated"
case pm_type_upi = "icon-pm-upi"
case pm_type_cashapp = "icon-pm-cashapp"
case pm_type_revolutpay = "icon-pm-revolutpay"
@@ -59,8 +58,6 @@ enum Image: String, CaseIterable, ImageMaker {
case link_logo = "link_logo"
case link_logo_bw = "link_logo_bw"
case link_logo_knockout = "link_logo_knockout"
- case link_logo_deprecated = "link_logo_deprecated"
- case link_arrow_deprecated = "link_arrow_deprecated"
// Carousel
case carousel_applepay
@@ -73,7 +70,6 @@ enum Image: String, CaseIterable, ImageMaker {
case carousel_card_unionpay
case carousel_card_unknown
case carousel_card_visa
- case carousel_link_deprecated
case carousel_sepa
// Affirm Images
diff --git a/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/UIColor+Link.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/UIColor+Link.swift
index 272b2869c97..8c8a3b55dd6 100644
--- a/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/UIColor+Link.swift
+++ b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/UIColor+Link.swift
@@ -18,14 +18,14 @@ extension UIColor {
///
/// Use it as accent color for controls and activity indicators.
static var linkBrand: UIColor {
- LinkUI.useNewBrand ? UIColor(red: 0, green: 0.84, blue: 0.44, alpha: 1.0) : UIColor(red: 0.2, green: 0.867, blue: 0.702, alpha: 1.0)
+ UIColor(red: 0, green: 0.84, blue: 0.44, alpha: 1.0)
}
/// Level 400 variant of Link brand color.
///
/// Use for separator bars over the Link brand color.
static var linkBrand400: UIColor {
- LinkUI.useNewBrand ? UIColor(red: 0.0, green: 0.64, blue: 0.33, alpha: 1.0) : UIColor(red: 0.102, green: 0.773, blue: 0.608, alpha: 1.0)
+ UIColor(red: 0.0, green: 0.64, blue: 0.33, alpha: 1.0)
}
/// Color of the Link logo in the navigation bar.
@@ -36,7 +36,7 @@ extension UIColor {
/// Foreground color of the primary button.
static var linkPrimaryButtonForeground: UIColor {
- LinkUI.useNewBrand ? UIColor(red: 0, green: 0.12, blue: 0.06, alpha: 1.0) : UIColor(red: 0.012, green: 0.141, blue: 0.149, alpha: 1.0)
+ UIColor(red: 0, green: 0.12, blue: 0.06, alpha: 1.0)
}
}
diff --git a/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/LinkUI.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/LinkUI.swift
index aa5624fa81e..13b9a403aef 100644
--- a/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/LinkUI.swift
+++ b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/LinkUI.swift
@@ -52,10 +52,6 @@ enum LinkUI {
static let smallContentSpacing: CGFloat = 8
static let tinyContentSpacing: CGFloat = 4
-
- /// Enable 2024 brand
- /// Delete this after rollout. (~May 2024)
- @_spi(STP) public static var useNewBrand = false
}
// MARK: Development flags
diff --git a/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Views/LinkMoreInfoView.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Views/LinkMoreInfoView.swift
index af589cfcb67..5c68caa9f5d 100644
--- a/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Views/LinkMoreInfoView.swift
+++ b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Views/LinkMoreInfoView.swift
@@ -16,18 +16,13 @@ import UIKit
final class LinkMoreInfoView: UIView {
struct Constants {
static var logoWidth: CGFloat {
- LinkUI.useNewBrand ? 42 : 31
+ 42
}
static let logoHeight: CGFloat = 14
}
private lazy var logoView: UIImageView = {
let imageView: UIImageView
- if LinkUI.useNewBrand {
- imageView = DynamicImageView(dynamicImage: Image.link_logo_knockout.makeImage(template: false), pairedColor: theme.colors.background)
- } else {
- imageView = UIImageView(image: Image.link_logo_deprecated.makeImage(template: true))
- imageView.tintColor = theme.colors.secondaryText
- }
+ imageView = DynamicImageView(dynamicImage: Image.link_logo_knockout.makeImage(template: false), pairedColor: theme.colors.background)
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.contentMode = .scaleAspectFit
imageView.isAccessibilityElement = true
diff --git a/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/LinkPaymentController.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/LinkPaymentController.swift
index 0bbec83800b..1ea965ac86c 100644
--- a/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/LinkPaymentController.swift
+++ b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/LinkPaymentController.swift
@@ -48,7 +48,7 @@ import UIKit
@_spi(LinkOnly) public var paymentOption: PaymentOptionDisplayData? {
if paymentMethodId == nil { return nil }
- return PaymentOptionDisplayData(image: (LinkUI.useNewBrand ? Image.link_logo : Image.pm_type_link_deprecated).makeImage(), label: STPPaymentMethodType.link.displayName)
+ return PaymentOptionDisplayData(image: Image.link_logo.makeImage(), label: STPPaymentMethodType.link.displayName)
}
/// The parent view controller to present
diff --git a/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentOption+Images.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentOption+Images.swift
index 63e8cbcfc04..e9a1c828dc3 100644
--- a/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentOption+Images.swift
+++ b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentOption+Images.swift
@@ -26,7 +26,7 @@ extension PaymentOption {
case .new(let confirmParams):
return confirmParams.makeIcon(updateImageHandler: updateImageHandler)
case .link:
- return (LinkUI.useNewBrand ? Image.link_logo : Image.pm_type_link_deprecated).makeImage()
+ return Image.link_logo.makeImage()
case .external(let paymentMethod, _):
return PaymentSheet.PaymentMethodType.external(paymentMethod).makeImage(
forDarkBackground: traitCollection?.isDarkMode ?? false,
@@ -46,7 +46,7 @@ extension PaymentOption {
assertionFailure("This shouldn't be called - we don't show new PMs in the saved PM collection view")
return UIImage()
case .link:
- return (LinkUI.useNewBrand ? Image.link_logo : Image.carousel_link_deprecated).makeImage(template: false)
+ return Image.link_logo.makeImage()
case .external:
assertionFailure("This shouldn't be called - we don't show EPMs in the saved PM collection view")
return UIImage()
@@ -91,7 +91,7 @@ extension STPPaymentMethod {
case .SEPADebit:
return Image.carousel_sepa.makeImage().withRenderingMode(.alwaysOriginal)
case .link:
- return (LinkUI.useNewBrand ? Image.link_logo : Image.pm_type_link_deprecated).makeImage().withRenderingMode(.alwaysOriginal)
+ return Image.link_logo.makeImage().withRenderingMode(.alwaysOriginal)
default:
assertionFailure("\(type) not supported for saved PMs")
return makeIcon()
diff --git a/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetLoader.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetLoader.swift
index 1c0706b45aa..08333c3c89f 100644
--- a/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetLoader.swift
+++ b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetLoader.swift
@@ -84,10 +84,6 @@ final class PaymentSheetLoader {
&& configuration.applePay != nil
&& intent.isApplePayEnabled
- // If Link is enabled, set the `useNewBrand`
- // Should default to true in case we remove the server-side flag someday
- LinkUI.useNewBrand = intent.elementsSession.linkSettings?.useRebrand ?? true
-
// Send load finished analytic
// This is hacky; the logic to determine the default selected payment method belongs to the SavedPaymentOptionsViewController. We invoke it here just to report it to analytics before that VC loads.
let (defaultSelectedIndex, paymentOptionsViewModels) = SavedPaymentOptionsViewController.makeViewModels(
diff --git a/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/PayWithLinkButton.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/PayWithLinkButton.swift
index a09293cbf11..120f7eeef3e 100644
--- a/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/PayWithLinkButton.swift
+++ b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/PayWithLinkButton.swift
@@ -109,23 +109,17 @@ final class PayWithLinkButton: UIControl {
let payWithLinkString = NSMutableAttributedString(string: String.Localized.pay_with_link)
// Create the Link logo attachment
- let linkImage = LinkUI.useNewBrand ? Image.link_logo_bw.makeImage(template: false) : Image.link_logo_deprecated.makeImage(template: true)
+ let linkImage = Image.link_logo_bw.makeImage(template: false)
let linkAttachment = NSTextAttachment(image: linkImage)
let linkLogoRatio = linkImage.size.width / linkImage.size.height
let linkTextSpacing = 0.073 // the total top+bottom space outside the Link logo
- if LinkUI.useNewBrand {
- let linkLogoHeight = (linkView.font.capHeight + (linkView.font.pointSize * 0.1)) *
- (1.0 + linkTextSpacing)
- let linkY = (linkTextSpacing) * linkLogoHeight
- linkAttachment.bounds = CGRect(x: 0, y: -linkY, width: linkLogoHeight * linkLogoRatio, height: linkLogoHeight)
- } else {
- // Link logo should be a little taller than the height of a cap in SF Medium
- let linkLogoHeight = linkView.font.capHeight + (linkView.font.pointSize * 0.1)
- linkAttachment.bounds = CGRect(x: 0, y: 0, width: linkLogoHeight * linkLogoRatio, height: linkLogoHeight)
- }
+ let linkLogoHeight = (linkView.font.capHeight + (linkView.font.pointSize * 0.1)) *
+ (1.0 + linkTextSpacing)
+ let linkY = (linkTextSpacing) * linkLogoHeight
+ linkAttachment.bounds = CGRect(x: 0, y: -linkY, width: linkLogoHeight * linkLogoRatio, height: linkLogoHeight)
// Add a spacer before the Link logo and after the Link logo
let range = payWithLinkString.mutableString.range(of: "Link")
@@ -144,7 +138,6 @@ final class PayWithLinkButton: UIControl {
private lazy var payWithStackView: UIStackView = {
let stackView = UIStackView(arrangedSubviews: [
payWithLinkView,
- LinkUI.useNewBrand ? nil : Self.makeDeprecatedArrowView(),
].compactMap({ $0 }))
stackView.spacing = 6
stackView.translatesAutoresizingMaskIntoConstraints = false
@@ -160,15 +153,9 @@ final class PayWithLinkButton: UIControl {
logoView,
emailSeparatorView,
emailLabel,
- LinkUI.useNewBrand ? nil : Self.makeDeprecatedArrowView(),
].compactMap({ $0 }))
- if LinkUI.useNewBrand {
- stackView.spacing = 8
- stackView.setCustomSpacing(14, after: logoView)
- } else {
- stackView.spacing = 10
- stackView.setCustomSpacing(8, after: emailLabel)
- }
+ stackView.spacing = 8
+ stackView.setCustomSpacing(14, after: logoView)
stackView.translatesAutoresizingMaskIntoConstraints = false
stackView.distribution = .fill
stackView.alignment = .center
@@ -196,7 +183,6 @@ final class PayWithLinkButton: UIControl {
cardBrandSeparatorView,
cardBrandView,
last4Label,
- LinkUI.useNewBrand ? nil : Self.makeDeprecatedArrowView(),
].compactMap({ $0 }))
stackView.spacing = 10
stackView.setCustomSpacing(5, after: cardBrandView)
@@ -272,7 +258,7 @@ private extension PayWithLinkButton {
}
static func makeLogoView() -> UIImageView {
- let logoView = UIImageView(image: LinkUI.useNewBrand ? Image.link_logo_bw.makeImage(template: false) : Image.link_logo_deprecated.makeImage(template: true))
+ let logoView = UIImageView(image: Image.link_logo_bw.makeImage(template: false))
logoView.translatesAutoresizingMaskIntoConstraints = false
logoView.contentMode = .scaleAspectFill
@@ -284,21 +270,6 @@ private extension PayWithLinkButton {
return logoView
}
- static func makeDeprecatedArrowView() -> UIImageView {
- let arrowView = UIImageView(image: Image.link_arrow_deprecated.makeImage(template: true)
- .withAlignmentRectInsets(Constants.cardBrandInsets)
- )
- arrowView.translatesAutoresizingMaskIntoConstraints = false
- arrowView.contentMode = .scaleAspectFill
-
- NSLayoutConstraint.activate([
- arrowView.widthAnchor.constraint(equalToConstant: Constants.arrowSize.width),
- arrowView.heightAnchor.constraint(equalToConstant: Constants.arrowSize.height),
- ])
-
- return arrowView
- }
-
static func makeSeparatorView() -> UIView {
let lineView = UIView()
lineView.translatesAutoresizingMaskIntoConstraints = false
@@ -501,7 +472,6 @@ struct LinkButtonPreviews_Previews: PreviewProvider {
static var previews: some View {
VStack {
UIViewPreview {
- LinkUI.useNewBrand = true
let lb = PayWithLinkButton()
return lb
}.padding()
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testDefaultState_textFieldsOnly@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testDefaultState_textFieldsOnly@3x.png
index 73c1cefe37f..c0b5da20c79 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testDefaultState_textFieldsOnly@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testDefaultState_textFieldsOnly@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState@3x.png
index 0030d51e516..ccf5ec3d0a5 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS@3x.png
index b7c5a023280..7d1cfd9eba7 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS_preFilled@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS_preFilled@3x.png
index 26e00acda56..d399a2c9d03 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS_preFilled@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS_preFilled@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS_preFilled_textFieldsOnly@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS_preFilled_textFieldsOnly@3x.png
index 78673e61124..0333e27a426 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS_preFilled_textFieldsOnly@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS_preFilled_textFieldsOnly@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS_textFieldsOnly@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS_textFieldsOnly@3x.png
index bf68874508e..881bc5f6320 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS_textFieldsOnly@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_nonUS_textFieldsOnly@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_textFieldsOnly@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_textFieldsOnly@3x.png
index 48fb15bdd0c..e19227334c0 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_textFieldsOnly@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.LinkInlineSignupElementSnapshotTests/testExpandedState_textFieldsOnly@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testDefault_legacy@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testDefault_legacy@3x.png
deleted file mode 100644
index 556ed38cd24..00000000000
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testDefault_legacy@3x.png and /dev/null differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testDefault_legacy_Highlighted@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testDefault_legacy_Highlighted@3x.png
deleted file mode 100644
index 8b5d43e11a5..00000000000
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testDefault_legacy_Highlighted@3x.png and /dev/null differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testDefault_rounded_legacy@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testDefault_rounded_legacy@3x.png
deleted file mode 100644
index 44869217e8c..00000000000
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testDefault_rounded_legacy@3x.png and /dev/null differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testDisabled_legacy@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testDisabled_legacy@3x.png
deleted file mode 100644
index 742f804d938..00000000000
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testDisabled_legacy@3x.png and /dev/null differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testRegistered_legacy@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testRegistered_legacy@3x.png
deleted file mode 100644
index 3b2f0670145..00000000000
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testRegistered_legacy@3x.png and /dev/null differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testRegistered_rounded_legacy@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testRegistered_rounded_legacy@3x.png
deleted file mode 100644
index d893db90860..00000000000
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testRegistered_rounded_legacy@3x.png and /dev/null differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testRegistered_square_legacy@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testRegistered_square_legacy@3x.png
deleted file mode 100644
index f27fe1df7b9..00000000000
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testRegistered_square_legacy@3x.png and /dev/null differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testRegistered_withLongEmailAddress_legacy@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testRegistered_withLongEmailAddress_legacy@3x.png
deleted file mode 100644
index 3c6bceba455..00000000000
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.PayWithLinkButtonSnapshotTests/testRegistered_withLongEmailAddress_legacy@3x.png and /dev/null differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtons@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtons@3x.png
index 15b37e83cc3..18a037d3dcf 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtons@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtons@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsSetupIntent@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsSetupIntent@3x.png
index a2960fc72d6..e88cbde82e9 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsSetupIntent@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsSetupIntent@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsSetupIntent_Card_only@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsSetupIntent_Card_only@3x.png
index bdcf88fd686..09c1b1b74af 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsSetupIntent_Card_only@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsSetupIntent_Card_only@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsWithCustomApplePayCta@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsWithCustomApplePayCta@3x.png
index 5f886ee0423..7c649a59d74 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsWithCustomApplePayCta@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsWithCustomApplePayCta@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsWithCustomApplePayCta_Card_only@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsWithCustomApplePayCta_Card_only@3x.png
index e4b04148834..096350a9de0 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsWithCustomApplePayCta_Card_only@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtonsWithCustomApplePayCta_Card_only@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtons_Card_only@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtons_Card_only@3x.png
index 89915996256..902b8c8f476 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtons_Card_only@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testAllButtons_Card_only@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testCustomCornerRadius@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testCustomCornerRadius@3x.png
index 3058063955b..a83325daab7 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testCustomCornerRadius@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testCustomCornerRadius@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testCustomFontAndReturnError_@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testCustomFontAndReturnError_@3x.png
index ec4a213a5d5..03424ce10ca 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testCustomFontAndReturnError_@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testCustomFontAndReturnError_@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testCustomFontScalesAndReturnError_@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testCustomFontScalesAndReturnError_@3x.png
index 53b4de88e6f..8d40fa54e48 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testCustomFontScalesAndReturnError_@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testCustomFontScalesAndReturnError_@3x.png differ
diff --git a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testLinkButton@3x.png b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testLinkButton@3x.png
index d7d5f91a48d..9bf66c5a486 100644
Binary files a/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testLinkButton@3x.png and b/Tests/ReferenceImages_64/StripeiOS_Tests.WalletHeaderViewSnapshotTests/testLinkButton@3x.png differ