Adyen / adyen-react-native

Adyen React Native
https://docs.adyen.com/checkout
MIT License
44 stars 32 forks source link

Two challenges, one after the other, doesn't open on Android #440

Closed LeandroSimoes42 closed 3 months ago

LeandroSimoes42 commented 4 months ago

Describe the bug I have a flow in my app where the user can pay with two cards, so if I need to do the 3ds for both cards, should open two challenges, one after the other, but it doesn't open, when the person buys with one card opens normally

To Reproduce Steps to reproduce the behavior:

  1. Go to page of product
  2. Click to buy
  3. select two credit cards
  4. send information about payment
  5. receive the challenges
  6. 3ds modal doesn't open the first modal and second modal, not doing the challenges

Expected behavior open the first modal, the user completes the challenge, open the second modal, the user completes the challenge and follow the standard flow

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Smartphone (please complete the following information):

  {
    "nativeStackAndroid": [
      {
        "lineNumber": 25,
        "file": "AmountExtensions.kt",
        "methodName": "validate",
        "class": "com.adyen.checkout.components.core.internal.util.AmountExtensionsKt"
      },
      {
        "lineNumber": 113,
        "file": "BaseConfigurationBuilder.kt",
        "methodName": "setAmount",
        "class": "com.adyen.checkout.components.core.internal.BaseConfigurationBuilder"
      },
      {
        "lineNumber": 378,
        "file": "GooglePayConfiguration.kt",
        "methodName": "setAmount",
        "class": "com.adyen.checkout.googlepay.GooglePayConfiguration$Builder"
      },
      {
        "lineNumber": 416,
        "file": "GooglePayConfiguration.kt",
        "methodName": "googlePay",
        "class": "com.adyen.checkout.googlepay.GooglePayConfigurationKt"
      },
      {
        "lineNumber": 188,
        "file": "BaseModule.kt",
        "methodName": "invoke",
        "class": "com.adyenreactnativesdk.component.base.BaseModule$getCheckoutConfiguration$1"
      },
      {
        "lineNumber": 187,
        "file": "BaseModule.kt",
        "methodName": "invoke",
        "class": "com.adyenreactnativesdk.component.base.BaseModule$getCheckoutConfiguration$1"
      },
      {
        "lineNumber": 70,
        "file": "CheckoutConfiguration.kt",
        "methodName": "<init>",
        "class": "com.adyen.checkout.components.core.CheckoutConfiguration"
      },
      {
        "lineNumber": 181,
        "file": "BaseModule.kt",
        "methodName": "getCheckoutConfiguration",
        "class": "com.adyenreactnativesdk.component.base.BaseModule"
      },
      {
        "lineNumber": 46,
        "file": "ActionModule.kt",
        "methodName": "handle",
        "class": "com.adyenreactnativesdk.cse.ActionModule"
      },
      {
        "lineNumber": -2,
        "file": "Method.java",
        "methodName": "invoke",
        "class": "java.lang.reflect.Method"
      },
      {
        "lineNumber": 372,
        "file": "JavaMethodWrapper.java",
        "methodName": "invoke",
        "class": "com.facebook.react.bridge.JavaMethodWrapper"
      },
      {
        "lineNumber": 149,
        "file": "JavaModuleWrapper.java",
        "methodName": "invoke",
        "class": "com.facebook.react.bridge.JavaModuleWrapper"
      },
      {
        "lineNumber": -2,
        "file": "NativeRunnable.java",
        "methodName": "run",
        "class": "com.facebook.jni.NativeRunnable"
      },
      {
        "lineNumber": 942,
        "file": "Handler.java",
        "methodName": "handleCallback",
        "class": "android.os.Handler"
      },
      {
        "lineNumber": 99,
        "file": "Handler.java",
        "methodName": "dispatchMessage",
        "class": "android.os.Handler"
      },
      {
        "lineNumber": 29,
        "file": "MessageQueueThreadHandler.java",
        "methodName": "dispatchMessage",
        "class": "com.facebook.react.bridge.queue.MessageQueueThreadHandler"
      },
      {
        "lineNumber": 201,
        "file": "Looper.java",
        "methodName": "loopOnce",
        "class": "android.os.Looper"
      },
      {
        "lineNumber": 288,
        "file": "Looper.java",
        "methodName": "loop",
        "class": "android.os.Looper"
      },
      {
        "lineNumber": 234,
        "file": "MessageQueueThreadImpl.java",
        "methodName": "run",
        "class": "com.facebook.react.bridge.queue.MessageQueueThreadImpl$4"
      },
      {
        "lineNumber": 1012,
        "file": "Thread.java",
        "methodName": "run",
        "class": "java.lang.Thread"
      }
    ],
    "userInfo": null,
    "message": "Value cannot be less than 0.",
    "code": "parsingError"
  }
descorp commented 4 months ago

Hey @LeandroSimoes42

What version of SDK are you using?

descorp commented 4 months ago

Are you using "standalone action handling" ?

AdyenAction.handle(action, configuration);
"message": "Value cannot be less than 0.",

Seem like it is failing, because amount is less then zero.

How is your configuration looks like?

descorp commented 4 months ago

@LeandroSimoes42

Any luck?

descorp commented 3 months ago

I'm going to close this ticket. Feel free to reopen or continue the discussion here.