Description
I'm having an issue understanding the correct redirectURL behaviour for payments.
DeepLink way
Let's say I have a deepLink in my app "myApp://app/payment-confirm"
- I will set KevinPaymentsConfig redirectURL to "myApp://app/payment-confirm"
- I will initiate kevin bank payment with the same redirectURL.
On android:
redirectURL gets ignored and just a simple callback is called on the apps flutter code.
OK if we rely on app pinging the backend for a successful payment
On iOS
Kevin SDK hangs on last step where it says "Redirecting to..." after payment is complete. I think it because it's not valid link like "https://....".
NOT OK!!! Even if the payment was complete I can only close the dialog after which I will receive a callback with "payment was cancelled" status
Now the other part with valid link
- I will set KevinPaymentsConfig redirectURL to "localhost:3000/payment-confirm"
- I will initiate kevin bank payment with the same redirectURL.
On android:
redirectURL gets ignored and just a simple callback is called on the app.
OK if we rely on app pinging the backend for a successful payment
On iOS
redirectURL gets called with correct query parameters I also see website flashing for a few miliseconds and then the callback on flutter side is called. -
Perfect
Can we have a consistency here?
I would prefer having our backend as a redirectUrl consumer instead of deep link.
But I want kevin-flutter SDK to be responsable for calling it on Android aswell.
P.S. Ofcourse I can set redirectUrl to "https://www.google.com" then totaly ignore it and only operate from flutter callback. But I don't think that this is the prefered flow because going back to the app causes additional steps to be taken. More steps = more ways for a crashes to happen. And I think developers would feel safer if your SDK would ping redirectURL instead relying on developers to have a crash free process to notify the backend sistems...
EDIT: Added videos below