mkharibalaji / react-native-adyen-payment

React Native Adyen Payment
https://mkharibalaji.github.io/react-native-adyen-payment/
MIT License
35 stars 35 forks source link

3D Secure is not working #5

Open voslartomas opened 4 years ago

voslartomas commented 4 years ago

@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?

mkharibalaji commented 4 years ago

@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

CFBundleURLTypes CFBundleTypeRole Editor CFBundleURLName YOUR_APP_BUNDLE_NAME_UNIQUE(com.xxxx.xxxx) CFBundleURLSchemes YOUR_APP_URL_FOR_REDIRECT(Ex : CFBundleDisplayName-app)

`` import Foundation import Adyen

@objc class AdyenObjectiveCBridge: NSObject {

@objc(applicationDidOpenURL:) static func applicationDidOpen(_ url: URL) -> Bool { let adyenHandled = RedirectComponent.applicationDidOpen(from : url) return adyenHandled } } ``

voslartomas commented 4 years ago

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

voslartomas commented 4 years ago

Yes I have this redirect part in my app...

mkharibalaji commented 4 years ago

@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

voslartomas commented 4 years ago

And it redirects you?

For me it's doing this for this card, but for other cards, it's just ok. example

mkharibalaji commented 4 years ago

It is working with React Native : 0.61.2 And iOS : 13.3 I am getting the redirection and it is working properly... WhatsApp Image 2020-02-09 at 6 06 34 PM WhatsApp Image 2020-02-09 at 6 05 43 PM

voslartomas commented 4 years ago

Wow sweet, so it's something on my side, thanks. Btw thank you for this repo, great work.

mkharibalaji commented 4 years ago

I had bumped the ios adyen sdk with 3.3.0 now and released a new version.Please update and check.

voslartomas commented 4 years ago

Still same...

voslartomas commented 4 years ago

What is this part about '3 . Configure info.plist with CFBundleURL for redirect URL in the PaymentData' ? Can you show me your example?

mkharibalaji commented 4 years ago

@voslartomas -Is the issue resolved ?

voslartomas commented 4 years ago

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" : "XXXXXXX@XXXX.com",
  "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.}))).
mkharibalaji commented 4 years ago

@voslartomas - Can you open this in a different thread because it's a different issue in the API response

voslartomas commented 4 years ago

@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.

mkharibalaji commented 4 years ago

@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.