react-native-adyen-payment
react-native-adyen-payment copied to clipboard
3D Secure is not working
@mkharibalaji Hi, when there is action in response, it should handle 3d secure authorization, but in app I can see only loader on button. Did you encounter this behaviour?
@voslartomas .
Can you exactly tell me how to reproduce this behavior ? React Native Version : iOS Version : etc to understand hte problem or any screenshots to better understand the problem...
Can you please check whether you had added the redirecttcomponent in your swift file and other ios installation steps....
info.plist
`` import Foundation import Adyen
@objc class AdyenObjectiveCBridge: NSObject {
@objc(applicationDidOpenURL:) static func applicationDidOpen(_ url: URL) -> Bool { let adyenHandled = RedirectComponent.applicationDidOpen(from : url) return adyenHandled } } ``
If you call /payments api with additionalData: { allow3DS2: true }
and you use test card with 3d secure, it should redirect you to confirmation page of the bank, but now, it's only loading and loading...
"react-native": "0.61.4"
Use this card:
5454 5454 5454 5454
Yes I have this redirect part in my app...
@voslartomas - Just now I tested with
https://docs.adyen.com/development-resources/test-cards/test-card-numbers#test-3d-secure-authentication
Adyen Test Card for 3DSecure Autehntication International | 6731 0123 4567 8906 Expiry 10/20 CVV 737
And it redirects you?
For me it's doing this for this card, but for other cards, it's just ok.
It is working with React Native : 0.61.2 And iOS : 13.3 I am getting the redirection and it is working properly...
Wow sweet, so it's something on my side, thanks. Btw thank you for this repo, great work.
I had bumped the ios adyen sdk with 3.3.0 now and released a new version.Please update and check.
Still same...
What is this part about '3 . Configure info.plist with CFBundleURL for redirect URL in the PaymentData' ? Can you show me your example?
@voslartomas -Is the issue resolved ?
Not solved yet
I am getting this error.
---- Request (/payments) ----
{
"amount" : {
"value" : 30000,
"currency" : "CZK"
},
"channel" : "iOS",
"storePaymentMethod" : false,
"reference" : "5aCZFmNCvrm7YDZsP-nNETxyBeGFkKivqJf",
"shopperReference" : "XXXXXX",
"shopperEmail" : "[email protected]",
"returnUrl" : "sportbuddy:\/\/",
"countryCode" : "CZ",
"paymentMethod" : {
"encryptedExpiryMonth" : "adyenan0_1_1$LTxFlGbXk+JgcW8\/b4WUUsZT1ZWfKgHVx0OC9WRqpoXKLn40oXc6ddXfPm6xn8Ihgd39wj+A1\/32Ut\/9G0KrD81mF4XeVCQsJ4DGJtkycDkFpBKewCAhTmORC7XikKkQFpNYcUuT\/fYodqidU+jdJuw1ylUepszBUTy94hOEmHsLacQ9Zn7eF48mTntO1VvoMgbAxaNckbFE2Cbcm5U1GeCc0ZiKoFfJxiPK8hO0huxABvJsDxolO2vPrNVUAjngbjR5BA4Gl3yAKGCswEzN3b4os776EVE4K\/cbqu4j2xVbEh\/\/Ft4+qSSmO5TerNnIwWqNVbFbkzDi3EkgXYwPJA==$Vf2JYK3n5Lz4tsOoE1HT0X2ABX2U2e5H+M\/+JGh4oLJE6kz2Ki5O3zQ0+sTXpBA2fqnTcr5cvOi4hxz7KE4G5Mph7ZcNzXeR1h7ZDGds5vk=",
"encryptedSecurityCode" : "adyenan0_1_1$LktML8qkSbx0fPxQfOXGsqDSj1ETzG07pZ+oME5if1+oGrJvIEcQzqE+d+IjwTCnwu5T0PB1HfGTEHhIuADh5eSlKz\/2qkfhoEt3yvbq1vYaeITgBcOvliFPioZWEx39l3uczvlQjNAAY6NEr8PYDMBemYlDWfl+VWk3h2on+KZTYPYt0PoZJqWaZkz4OXIcCPn3ZzqdmzciOJ\/PiaAcOFFXpELs47TVesTEL5L0Es1F\/+f5LRGOYK3hvieVp8gbOV3+0BypXgzc4Ljd0pgl8ZLQ6FgMmWpX\/JQ7uh2rqLu5fsGiBC4K+bkey\/9UCJAD1y6jqw\/ytICJXvnXpv2CyA==$fia1A08BJMt1zrXCCJeJYYDqfzE5Nr29XqPP3AYXe+\/yDYeS\/JS7oK6MtBOWVdBx3WGYAIwbQBcL9Z2iZ4x7Q81uqW5fk3SvGw==",
"type" : "scheme",
"encryptedExpiryYear" : "adyenan0_1_1$mRnf54Wz8AhU+LvjD3T+Feodpmx+FNVwiLaTIZu0GoMhBgPpAXVgPy\/n1mAD8zgN9g0txdiZNhVtYTt9RQObMUl2Un4pugXAB\/uoKvm\/uE48fu6+X50KthMtMlAi9RqpSWsOpMm2vVEOaWh9tzPPE6DFSPzhR8Q76bpnrPqndFFAI3xwOQWKjSJu4l20g21TGEvy3Y9NSYTn+2\/ExddLQV8OpIV+ke1LLqxRiNGKTpKCVPAv8secFq81uSnDgtngGkkA4pV9sCxZZO84Hk4FbpkyThdJ6sErDQk2\/urwy5mh893jQcjwH5qC5RWUdYSUfXMgc\/+rztTkQd8YHO216g==$rrzrI5tdKBft3gOQ1GKjexw3m7k0gOpfTsj1pi6Taz6b4dwXstUO+lKdjp0fvxsqkNUdfkfmXYFPI5UERaUQtXsPvIk39zdvlgsUZQh1XCtU",
"encryptedCardNumber" : "adyenan0_1_1$App\/7nmY\/QeMJ32lfmVt5Ka700DOKYI9knxF6tzGym3z+9j95nMpqJUJwX8P8wE+oW0kYCZOU+\/BQs8UIqWFv726buwUFp9VFWRYL3fZoaQ338nKt7rVHEkCX3V7XVFmW2BYr5WP9bj32huYZGUudVRRiuXrj9xiV00ZGfsymoaMQGkILy2jn7C7p0HzT6olJkK2JumNqJBpVvdwS9ZdyXBh+7BRdNzFWhZ7MlSBr0+tYADN+YEGEu4Xhis3242BPzk6T\/m8Z\/Y809XgpZ764zVq61Gm9DTxH5OkB7EayAlHxGvDvUrYpLaUaaFFWLxnkGrchfpxhpZ0fGeVtuCHsw==$LTsQwRNmwPZqVoscThMvn9On8euwDeyOYFGIarVemVwHo9a5CV4Qws0IdEqIY0CLIfU6l1wCPnN2MkXFwFG+C+hl0kknPxJMGKCIsGsehejN6SkHeJccTNs="
},
"shopperLocale" : "cs_CZ",
"additionalData" : {
"executeThreeD" : true,
"allow3DS2" : true
}
}
---- Response (/payments) ----
NOT OK
APIClient Decoder error: dataCorrupted(Swift.DecodingError.Context(codingPath: [], debugDescription: "The given data was not valid JSON.", underlyingError: Optional(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}))).
@voslartomas - Can you open this in a different thread because it's a different issue in the API response
@mkharibalaji It might be different issue, but it's still regarding 3DS, do you still want me to open another thread? This is not happening in normal payments without 3ds.
@voslartomas - Did you check "application/json" as content type in response headers from your server because this error usually comes when your response is not in JSON format or ContentType not set properly.