Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BTThreeDSecureClient.initializeChallenge never completes #1154

Closed
Przeszaf opened this issue Dec 11, 2023 · 3 comments
Closed

BTThreeDSecureClient.initializeChallenge never completes #1154

Przeszaf opened this issue Dec 11, 2023 · 3 comments

Comments

@Przeszaf
Copy link

Braintree SDK Version

6.10.0

Environment

Sandbox

Xcode Version

Xcode 15.0.1

OS Version & Device

No response

Integration type

Swfit Package Manager

Development Processor

Apple Silicon (M-series chips)

Describe the bug

Something I found while trying to debug an issue I had - not using that function at the moment so it's not high priority for me but thought I'd share it with you regardless.

BTThreeDSecureClient.initializeChallenge only completes if lookupResponse cannot be converted.
Reason for that is - completion is not passed to self.process(lookupResult: lookupResult, configuration: configuration).

private func process(lookupResult: BTThreeDSecureResult, configuration: BTConfiguration) as well as performV2Authentication within it use merchantCompletion that is only set when calling startPaymentFlow.

I assume the async version would hang there forever, as it never calls continuation.resume.

To reproduce

  1. Call btThreeDSecureClient.initializeChallenge
  2. Wait for completion to be called.

Expected behavior

Completion should be called.

Screenshots

No response

@scannillo
Copy link
Contributor

👋 Hello @Przeszaf - thanks for bringing this to our attention.

The method BTThreeDSecureClient.initializeChallenge() should not be used by 99% of our merchants integrating with 3DS. Instead, follow our developer docs for how to integrate. That method was added for a specific merchant with an edge-case, server-side integration.

We will put up a PR addressing the callback issues you found as well as clarify the docstrings of that method!

@scannillo
Copy link
Contributor

A fix for this was merged and will be released with the next braintree_ios v6 release!

@jaxdesmarais
Copy link
Contributor

Hey @Przeszaf -

This was released in version 6.11.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants