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

PaymentIntentResult > incorrect statuses #1253

Closed
sergey-belenkiy opened this issue Jul 29, 2019 · 5 comments · Fixed by #1256 or #1257
Closed

PaymentIntentResult > incorrect statuses #1253

sergey-belenkiy opened this issue Jul 29, 2019 · 5 comments · Fixed by #1256 or #1257
Assignees
Labels
triaged Issue has been reviewed by Stripe and is being tracked internally

Comments

@sergey-belenkiy
Copy link

Summary

Actual result:
For success and failed payment with 3DS: status = Status.UNKNOWN
For failed payment with 3DS2: status = Status.SUCCEEDED

Example of failed payment with 3DS2:
Screen Shot 2019-07-29 at 5 25 38 PM

Expected result:
For success payment with 3DS: status = Status.SUCCEEDED
For failed payment with 3DS: status = Status.FAILED
For failed payment with 3DS2: status = Status.FAILED

Code to reproduce

val paymentResultCallback = object : ApiResultCallback<PaymentIntentResult> {
        override fun onSuccess(result: PaymentIntentResult) {
            when(result.status) {
                Status.SUCCEEDED  -> _onSuccessEvent.postValue(TopUpSuccessDialog.getBundle(amount.get(), currency.get()))
                Status.FAILED -> _onFailedEvent.postValue(ErrorNetworkMessage._3DSAuthorizationError)
                Status.CANCELED -> Unit
                else -> _onErrorEvent.call()
            }

            isProgress.set(false)
        }

        override fun onError(e: Exception) {
            Crashlytics.logException(e)
            onError()
        }
    }

SDK version

10.0.3

@mshafrir-stripe mshafrir-stripe added the triaged Issue has been reviewed by Stripe and is being tracked internally label Jul 29, 2019
@mshafrir-stripe mshafrir-stripe self-assigned this Jul 29, 2019
@sergey-belenkiy
Copy link
Author

@mshafrir-stripe , also if I close 3DS "Secure Checkout" activity.
status = Status.UNKNOWN
should be
status = Status.CANCELED

@mshafrir-stripe
Copy link
Collaborator

@mshafrir-stripe , also if I close 3DS "Secure Checkout" activity.
status = Status.UNKNOWN
should be
status = Status.CANCELED

Is this for the 3DS web-view or 3DS2 challenge screen? Can you provide a screenshot of the screen you're closing?

@sergey-belenkiy
Copy link
Author

@mshafrir-stripe , it's 3DS web-view

@sergey-belenkiy
Copy link
Author

sergey-belenkiy commented Jul 29, 2019

@mshafrir-stripe , I have a few questions (which is not related to this issue) can I contact to you via email? Or can I ask here?

@mshafrir-stripe
Copy link
Collaborator

@sergey-belenkiy yes, my email address is the first part of my username with the -stripe part replaced with @stripe.com

mshafrir-stripe added a commit that referenced this issue Jul 29, 2019
Browser-based auth was previously not returning a
`StripeIntentResult.Status`.

Fixes #1253
mshafrir-stripe added a commit that referenced this issue Jul 29, 2019
Previously, `Status.SUCCEEDED` was passed in all completion cases

Fixes #1253
mshafrir-stripe added a commit that referenced this issue Jul 29, 2019
Previously, `Status.SUCCEEDED` was passed in all completion cases

Fixes #1253
mshafrir-stripe added a commit that referenced this issue Jul 29, 2019
Browser-based auth was previously not returning a
`StripeIntentResult.Status`.

Fixes #1253
mshafrir-stripe added a commit that referenced this issue Jul 29, 2019
Browser-based auth was previously not returning a
`StripeIntentResult.Status`.

Fixes #1253
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triaged Issue has been reviewed by Stripe and is being tracked internally
Projects
None yet
2 participants