-
Notifications
You must be signed in to change notification settings - Fork 122
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
[Feature] Method to hide the drop-in component / "pay twice" issue while payment/details
#714
Comments
Hey @mortend Thanks for reaching out! Could you please share the video or gif? |
Hey @descorp I am talking about this drawer when I say drop-in component:
We're using Adyen SDK via React Native using this module: https://github.com/ancon-labs/react-native-adyen-dropin We have tried hacking around a bit in this code without success:
So, we think we need a Swift method we can call when we want to hide the Adyen drawer shown on the picture, without breaking payments. We probably want to call this method from |
Hey @mortend Thanks for details. I think I understand now:
You can try using AdyenActionComponent instead of handling actions via |
@descorp Thanks for the pointer. We tried to implement this in fusetools/react-native-adyen-dropin@b17e58b, but it looks like it isn't enough.
I have a feeling that calling |
Any news on this? Will it be possible to hide the drawer without calling dismiss? |
Hey @mortend sorry, just got back from vacation 😁
Not on iOS. This is one of the differences between Android and iOS.
I believe you are missing internal lazy var actionComponent: AdyenActionComponent = {
let handler = AdyenActionComponent(apiContext: apiContext)
handler.delegate = self
handler.presentationDelegate = self
return handler
}() Not sure if this is React Native issue or SDK issue: I don't know how reliable is bridge between JS and native when app leaves foreground. I'll try to reproduce on local vanila RN setup. |
UPD On my local RN setup Vipps worked as expected. Another thing from your fork: this doesn't sound like a good idea. |
Hey @mortend Were you able to resolve the issue? |
I am going to close this ticket due to a lack of activity. |
@descorp, I am sorry for the delayed response. The issue is not yet resolved in our app. I have now attached a video demonstrating the issue.
Sometimes the server is even slower in returning its response so the user will have good time to enter the credit card info while we're still processing the earlier Vipps payment. All changes we have tried so far in https://github.com/fusetools/react-native-adyen-dropin (including the ones you suggested) only results in other errors with the app - i.e. payments not working anymore. So, we are looking for a method to hide (or disable) the Adyen drop-in component while our middleware is processing the Vipps payment. adyen-double-pay.mp4 |
I am not able to reopen this ticket myself. |
oh, sorry. I didn't know that it is not re-openable 🤔
Indeed.. So far I can only suggest one of the following: Inside of func didProvide(_ data: ActionComponentData, from component: DropInComponent): a) disable UI for DropIn like We will consider adding some sort of user-friendly waiting UI for this cases. |
Thank you @descorp! Option a) works and now it's blocking input while processing the Vipps payment. This solves the "pay twice" issue for us.
Nice - this sounds like a better user experience than blocking input. Keep us updated. :) |
Disable user interaction when didProvide() is called to block input while processing payments. Because the Adyen drop-in is still visible after having authorized payment in an external app (Vipps) and returned back to our app, it might otherwise be possible to initiate a second payment while the first is still processing. Details: Adyen/adyen-ios#714
Disable user interaction when didProvide() is called to block input while processing payments from other apps. Because the Adyen drop-in is still visible after having authorized payment in an external app (Vipps) and returned back to our app, it might otherwise be possible to initiate a second payment while the first is still processing. Details: Adyen/adyen-ios#714
payment/details
@descorp A client of ours is pushing quite a bit for us to improve the UX here. Anything you can share about prioritization/roadmap for this feature? |
Hey @Christer-Andre Sorry. No feasible timeline at this moment. Currently our main propriety is Sessions support for v5. |
We need a method to hide the drop-in component (
DropInComponent
).Sometimes when opening an external app from the drop-in component and performing payment, the response from our middleware is very slow (implemented in
didSubmit
) and the drop-in component is still visible and usable while waiting for this response.The problem is that it is currently possible to start a new payment while in this state and this might confuse the user and cause problems with the payment that is already in progress.
We want to hide the drop-in component while in this state to avoid the problem.
The text was updated successfully, but these errors were encountered: