You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
Call btThreeDSecureClient.initializeChallenge
Wait for completion to be called.
Expected behavior
Completion should be called.
Screenshots
No response
The text was updated successfully, but these errors were encountered:
👋 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!
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 toself.process(lookupResult: lookupResult, configuration: configuration)
.private func process(lookupResult: BTThreeDSecureResult, configuration: BTConfiguration)
as well asperformV2Authentication
within it usemerchantCompletion
that is only set when callingstartPaymentFlow
.I assume the
async
version would hang there forever, as it never callscontinuation.resume
.To reproduce
btThreeDSecureClient.initializeChallenge
completion
to be called.Expected behavior
Completion should be called.
Screenshots
No response
The text was updated successfully, but these errors were encountered: