Skip to content

Payments: redirectURL behaviour #29

Open
@KestasVenslauskas

Description

@KestasVenslauskas

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"

  1. I will set KevinPaymentsConfig redirectURL to "myApp://app/payment-confirm"
  2. 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

  1. I will set KevinPaymentsConfig redirectURL to "localhost:3000/payment-confirm"
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions