Adyen / adyen-react-native

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

3DS2 Crash on some iOS versions - NSInternalInconsistencyException #419

Closed Alieltahan closed 6 months ago

Alieltahan commented 7 months ago

Describe the bug Cards which trigger 3DS2 sometimes crashes and sometimes returns response.status = FAILED

To Reproduce Steps to reproduce the behavior: Use cards which will trigger 3DS2 with similar devices mentioned.

Expected behavior 3DS2 Dropin component should show up and enter the password 1234 to complete the challange.

Smartphone (please complete the following information):

Additional context Adyen React Native v 1.2

Fatal Exception: NSInternalInconsistencyException
0  CoreFoundation                 0x92c60 (Missing UUID eec1287d059b38c89bc158a0c8b1e6c2)
1  libobjc.A.dylib                0x14ee4 (Missing UUID f1b36686ed4835ef88960cea8e9da1c0)
2  Adyen3DS2                      0x17fb8 (Missing UUID 533f714eb5093425853785ddd031c5a2)
3  Adyen3DS2                      0x27b04 (Missing UUID 533f714eb5093425853785ddd031c5a2)
4  libdispatch.dylib              0x63094 (Missing UUID 9ccdbde315e13a45b3304a5e2c3f92bd)
5  libdispatch.dylib              0x64094 (Missing UUID 9ccdbde315e13a45b3304a5e2c3f92bd)
6  libdispatch.dylib              0x10d44 (Missing UUID 9ccdbde315e13a45b3304a5e2c3f92bd)
7  libdispatch.dylib              0x10994 (Missing UUID 9ccdbde315e13a45b3304a5e2c3f92bd)
8  CoreFoundation                 0x4e014 (Missing UUID eec1287d059b38c89bc158a0c8b1e6c2)
9  CoreFoundation                 0xb4f8 (Missing UUID eec1287d059b38c89bc158a0c8b1e6c2)
10 CoreFoundation                 0x1e174 (Missing UUID eec1287d059b38c89bc158a0c8b1e6c2)
11 GraphicsServices               0x1988 (Missing UUID bb434d860991365fbed3c3923cf3073c)
12 UIKitCore                      0x4e5a88 (Missing UUID 9d3018772593385c8f72f075aa0b48fa)
13 UIKitCore                      0x27ef78 (Missing UUID 9d3018772593385c8f72f075aa0b48fa)
14 MyApp                      0x741c main + 8 (main.m:8)
15 ???                            0x1032fc4d0 (Missing)
0  MyApp                      0x9236c4 FIRCLSProcessRecordAllThreads + 393 (FIRCLSProcess.c:393)
1  MyApp                      0x923aa4 FIRCLSProcessRecordAllThreads + 424 (FIRCLSProcess.c:424)
2  MyApp                      0x91aeec FIRCLSHandler + 34 (FIRCLSHandler.m:34)
3  MyApp                      0x915f08 __FIRCLSExceptionRecord_block_invoke + 232 (FIRCLSException.mm:232)
4  libdispatch.dylib              0x64094 <redacted> + 16
5  libdispatch.dylib              0x11964 <redacted> + 52
6  MyApp                      0x914f40 FIRCLSExceptionRecord + 234 (FIRCLSException.mm:234)
7  MyApp                      0x915a28 FIRCLSExceptionRecordNSException + 126 (FIRCLSException.mm:126)
8  MyApp                      0x914b98 FIRCLSTerminateHandler() + 398 (FIRCLSException.mm:398)
9  libc++abi.dylib                0x10280 <redacted> + 16
10 libc++abi.dylib                0x10228 std::terminate() + 60
11 libobjc.A.dylib                0x2846c objc_terminate + 10
12 libdispatch.dylib              0x640a8 <redacted> + 36
13 libdispatch.dylib              0x10d44 <redacted> + 928
14 libdispatch.dylib              0x10994 <redacted> + 36
15 CoreFoundation                 0x4e014 <redacted> + 12
16 CoreFoundation                 0xb4f8 <redacted> + 2544
17 CoreFoundation                 0x1e174 CFRunLoopRunSpecific + 572
18 GraphicsServices               0x1988 GSEventRunModal + 160
19 UIKitCore                      0x4e5a88 <redacted> + 1080
20 UIKitCore                      0x27ef78 UIApplicationMain + 336
21 MyApp                      0x741c main + 8 (main.m:8)
22 ???                            0x1032fc4d0 (Missing)
LeandroSimoes42 commented 6 months ago

I managed to fix this in my app just by updating to beta 3, have you tried this?

descorp commented 6 months ago

@Alieltahan

We have updated 1.2.1 with latest Adyen3DS SDK. Could you give it a try?

descorp commented 6 months ago

I am going to close this ticket for now. Feel free to reopen if needed.

Alieltahan commented 2 months ago

Hi @descorp

currently we are on Adyen-RN v2.2, no crashing is happening any more, however, only on the mentioned devices facing that the payment is declined or adding the card is declined ( for these cards requiring 3DS3 ) Adyen is returning to our Backend : "errorCode":"15_020","message":"invalid transStatus"

The Scenario: DidSubmit is called, and returns 3DS redirect, but nothing is showing on the UI, then didProvide is being called and returns status failed.

Worth mentioning:

  1. All other devices are working fine.
  2. Issue was tested on PROD for one of these devices for Adyen v1.2 and didn't face any crash.

Based on above notes, We assume that the 3DS dropin of Adyen having issue with the mentioned devices:

Device: iPhone 6s Plus OS: OS 15.8.1

Device: iPhone 6s OS: OS 13.1

I'm commenting here only as its related to same devices.

descorp commented 2 months ago

Hey @Alieltahan

Error 15_020 is Issuer related - meaning something is off with the card or the Bank that issued this card.

Please reach out to our Support Team via Customer Area or via email: support@adyen.com - they will look into it.

Alieltahan commented 2 months ago

Hello @descorp , Please note that I'm facing this error while in TEST enviornment, and only with mentioned devices, but other devices are working fine, with the same test card which requires 3DS.

Transaction ID: TMI24082000000101

Please confirm if I still need to get back to Adyen support Email.

Thanks in advance.

descorp commented 2 months ago

hm.. This is probably just a TEST environment behaviour and nothing to worry about. However, I would suggest to check with Support - they will be able to look deeper into it and provide a better explanation.