profile
viewpoint

pull request commentstripe/stripe-ios

Fix the theme of button items in the navigation bar

CLA assistant check <br/>Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.<br/><sub>You have signed the CLA already but the status is still pending? Let us recheck it.</sub>

rbenna

comment created time in 3 hours

PR opened stripe/stripe-ios

Fix the theme of button items in the navigation bar

Summary

Accessing navigationController property of UIViewController from viewDidLoad will always return nil. So, navigationController?.navigationBar.stp_theme ?? theme in updateAppearance with always use theme and not the theme that has been set on the navigation bar.

Motivation

I wanted to customize the navigation bar items with a different theme than the default one, but without success because of the bug described above.

Testing

<!-- How was the code tested? Be as specific as possible. -->

+1 -2

0 comment

1 changed file

pr created time in 3 hours

startedjasonnoahchoi/awesome-free-startup-resources

started time in 4 days

issue closedstripe/stripe-ios

Native Swift SDK?

Thanks for all the hard work on this. I know it’s not easy and requires a lot of energy and effort. Question: Is there any plan to have a Native swift implementation? I just noticed the Android SDK is written in pure Kotlin which is amazing and is forward looking. Just wondering if there has ever been any talks or discussions potentially for a native swift SDK? It’s be pretty cool and would be nice to have a swift first approach to a stripe API for iOS.

closed time in 4 days

Andrewangeta

issue commentstripe/stripe-ios

Native Swift SDK?

We shipped this, and we're now slowly adding support for SwiftUI. Follow https://github.com/stripe/stripe-ios/issues/1204#issuecomment-761274383 for details.

Andrewangeta

comment created time in 4 days

startedjasonnoahchoi/awesome-free-startup-resources

started time in 4 days

startedjasonnoahchoi/awesome-free-startup-resources

started time in 4 days

issue openedstripe/stripe-ios

Error adding a new card: You passed an empty string for 'billing_details[address][country]' ...

Summary

I migrated from SDK v.19.4.0 to 21.2.0.

While using 21.2.0 everything works, except for adding new cards (when using 19.4.0 I didn't get this error and everything worked fine). It shows this message: 'You passed an empty string for 'billing_details[address][country]' ... . Please, look at the screenshot.

I set in App Delegate: STPPaymentConfiguration.shared.requiredBillingAddressFields = .none Apart from that, I don't specify that any other billing details must be collected in any place in the app as far as I can see.

Screenshot 2021-01-21 at 15 27 44

Code to reproduce

I initialize customer and payment contexts in this way not specifying anything extra.

self.customerContext = STPCustomerContext(keyProvider: StripeAPIClient.shared)
let configuration = STPPaymentConfiguration.shared
self.paymentContext = STPPaymentContext(customerContext: customerContext, configuration: configuration, theme: STPTheme.defaultTheme)

iOS version

14.3

Installation method

Cocoapods, 1.10.1

SDK version

21.2.0

Question:

How do I solve it? Should I set some properties somewhere? I didn't change behavior in any way after installing 21.2.0. I just implemented necessary migration steps for the project to compile.

Thanks in advance!

created time in 4 days

startedjasonnoahchoi/awesome-free-startup-resources

started time in 4 days

startedjasonnoahchoi/awesome-free-startup-resources

started time in 4 days

issue commentstripe/stripe-ios

STPPaymentCardTextField resignFirstResponder not work

Hi @csabol-stripe

My stripe version is 14.0.1 and I'm also experiencing the same issue with similar implementation using the toolBar. For me, the issue only happens the first time clicking the done button regardless whether or not the validation state is valid or invalid. It triggers when the manually setting up the params for STPPaymentCardTextField. like this

 stripeTextField.cardParams = myCardParams

I did some digging around the pod and found that for valid state line 1328 [[self nextFirstResponderField] becomeFirstResponder]; is called and maybe this is triggering the keyboard to reappear even after calling resignFirstResponder, endEditing, etc... on my views

However, this does not explain and I'm not entirely sure why keyboard doesn't hide the first time when we we try to resignFirstResponder on invalid state.

saudongctv

comment created time in 5 days

issue commentstripe/stripe-ios

cardScanningEnabled to false change nothing

Hey @djacques33, sorry about that! We didn't translate this line correctly from Objective-C. We'll issue a fix soon.

djacques33

comment created time in 5 days

issue openedstripe/stripe-ios

cardScanningEnabled to false change nothing

Hello Team,

Summary

I need to disable scan card button in add card view but when i set to false cardScanningEnabled in STPPaymentConfiguration the button not disapear. The only issue for remove this button is remove NSCameraUsageDescription in info.plist but i need this for other usage.

Code to reproduce

STPPaymentConfiguration.shared.cardScanningEnabled = false
self.paymentContext = STPPaymentContext(customerContext: self.customerContext)
self.paymentContext.presentPaymentOptionsViewController()

SDK version

21.2.0

Other information

In STPAddCardViewController i see the lines where the button is created :

func setUpCardScanningIfAvailable() {
  if #available(iOS 13.0, *) {
    if !STPCardScanner.cardScanningAvailable() || configuration?.cardScanningEnabled == nil {
      return
    }
    let scannerCell = STPCardScannerTableViewCell()
    self.scannerCell = scannerCell

    let cardScanner = STPCardScanner(delegate: self)
    cardScanner.cameraView = scannerCell.cameraView
    self.cardScanner = cardScanner

    cardHeaderView?.buttonHidden = false
    cardHeaderView?.button?.setTitle(
      STPLocalizedString("Scan Card", "Text for button to scan a credit card"), for: .normal)
    cardHeaderView?.button?.addTarget(self, action: #selector(scanCard), for: .touchUpInside)
    cardHeaderView?.setNeedsLayout()
  }
}

cardScanningEnabled is not used for display cause is not nil this value is false but i can't set to nil in my code is Bool var.

created time in 5 days

issue commentstripe/stripe-ios

Missing required module 'Stripe3DS2'

Thanks for the follow-up! Good to hear that it's not a bug in SPM.

dave-perry

comment created time in 6 days

issue closedstripe/stripe-ios

Missing required module 'Stripe3DS2'

Summary

When I try and build the app using version 21.2.0 of the SDK I get an error of Missing required module 'Stripe3DS2'

Code to reproduce

N/A

iOS version

All

Installation method

SPM

SDK version

21.2.0

Other information

We're attempting to migrate to using the Stripe framework via SPM instead of Cocoapods. Everything works fine for v21.1.0 but when we try to use v21.2.0 we get the above error.

Note we're integrating Stripe in an internal framework and then using that internal framework in the app.

closed time in 6 days

dave-perry

issue commentstripe/stripe-ios

Missing required module 'Stripe3DS2'

Thanks for the quick response.

I tried this and still had the same issue.

However, while further debugging I realised this was an error on our part - I'll put some detail below before closing this issue in case someone else comes across the same problem...

We have several internal frameworks in our project and in one of them contains our payment code, linking the Stripe framework. Let's call this the payment framework.

Our payment framework is also linked to another framework for our UI.

Both these frameworks are also linked to our main app. Somehow I had removed the linking of the UI framework and had I paid more attention I would have spotted that the error I mentioned in the initial post was being emitted by this UI framework.

Appreciate your help @davidme-stripe

dave-perry

comment created time in 6 days

issue commentstripe/stripe-ios

Missing required module 'Stripe3DS2'

Okay, thanks for trying!

I've created a branch which exports Stripe3DS2: Try pointing SPM at the davidme/export-stripe3ds2 branch, then importing both Stripe3DS2 and Stripe within your library.

dave-perry

comment created time in 6 days

create barnchstripe/stripe-ios

branch : davidme/export-stripe3ds2

created branch time in 6 days

issue commentstripe/stripe-ios

Missing required module 'Stripe3DS2'

Thanks. I just tried your instructions and am still receiving the same error.

Your solution sounds promising - please let me know if I can aid in any way, or if you need something testing.

dave-perry

comment created time in 6 days

issue commentstripe/stripe-ios

Missing required module 'Stripe3DS2'

Thanks for filing, I'll look into this. It's possible that SPM isn't reading the dependency chain correctly, so we might need to export Stripe3DS2 as a separate package that your intermediate framework can depend on alongside Stripe.

Just to make sure, have you tried a clean and rebuild and File -> Swift Packages -> Reset Package Caches? I encountered a similar error a few times when switching between 21.1.0 and 21.2.0, but it seemed to be an Xcode caching bug.

dave-perry

comment created time in 6 days

startedjasonnoahchoi/awesome-free-startup-resources

started time in 6 days

issue openedstripe/stripe-ios

Missing required module 'Stripe3DS2'

Summary

When I try and build the app using version 21.2.0 of the SDK I get an error of Missing required module 'Stripe3DS2'

Code to reproduce

N/A

iOS version

All

Installation method

SPM

SDK version

21.2.0

Other information

We're attempting to migrate to using the Stripe framework via SPM instead of Cocoapods. Everything works fine for v21.1.0 but when we try to use v21.2.0 we get the above error.

Note we're integrating Stripe in an internal framework and then using that internal framework in the app.

created time in 6 days

pull request commentstripe/stripe-ios

Update Ru Localization. Long text for CVC/CVV code

CLA assistant check <br/>Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.<br/><sub>You have signed the CLA already but the status is still pending? Let us recheck it.</sub>

diswop

comment created time in 6 days

PR opened stripe/stripe-ios

Update Ru Localization. Long text for CVC/CVV code

Long text for CVC/CVV code causes infinite loop on iPhone SE (with Russian lang). When trying to add bank card, after entering pan – app stuck. class STPPaymentCardTextField line 1130

        case .expiration:
          while hPadding < STPPaymentCardTextFieldMinimumPadding {

method cvcFieldWidth() returns too big width (because of long placeholder text)

Summary

<!-- Simple summary of what was changed. -->

Motivation

<!-- Why are you making this change? If it's for fixing a bug, if possible, please include a code snippet or example project that demonstrates the issue. -->

Testing

<!-- How was the code tested? Be as specific as possible. -->

+2 -2

0 comment

1 changed file

pr created time in 6 days

issue commentstripe/stripe-ios

Swift UI Integration

@davidme-stripe This is brilliant news! Thanks for your dedication on this! 🎉👏 P.S. We just signed up!

djshumpert

comment created time in 9 days

push eventstripe/stripe-ios

David Estes

commit sha 0aae4ef7fc9651fd2450c9603cbb655713c485f6

MC Beta 1 (with SwiftUI)

view details

push time in 10 days

issue commentstripe/stripe-ios

Swift UI Integration

Hi all! We plan to launch SwiftUI support as part of our new Mobile Payments UI, which is currently in beta.

For folks on this thread, I've added a preview to the mc-beta-1-swiftui branch. We haven't updated the beta docs for SwiftUI yet, but we have a few SwiftUI examples to serve as a reference:

You can run the PaymentSheet Example app from Stripe.xcworkspace to try each flow.

Please also register for our beta program — we'll use that mailing list to collect feedback and notify you of new beta releases. You can also share feedback with us by emailing mobile-payments-ui-beta@stripe.com.

djshumpert

comment created time in 10 days

more