paypal / paypal-android

One merchant integration point for all of PayPal's services
Apache License 2.0
76 stars 42 forks source link

The return url is just cancatinated with the return params #161

Open emartynov opened 1 year ago

emartynov commented 1 year ago

PayPal Android SDK Version

0.0.10

Environment

Sandbox

Android Version & Device

No response

PayPal dependencies

paypal-payments-sdk = { module = "com.paypal.android:paypal-native-payments", version.ref = "0.0.10" }

Describe the bug

I'm passing the return url like "schema://paypal" when constructing native checkout client.

After the Paypal checkout is finished, I see my app is notified with URL like schema://paypalxo?token..... So SDK just operates with URL like with string and doesn'tadd an extra slash to URL.

To reproduce

See describe section

Expected behavior

The url slash is appended before the return parameters

Screenshots

No response

sshropshire commented 1 year ago

@emartynov thanks for your feedback. This is a valid URL according to RFC 3986 (I was able to double check using this tool). The slash before the return parameters isn't needed. Closing for now.

emartynov commented 1 year ago

Did I mention that it is an invalid URL?

Let me rephrase the behaviour and expected behaviour.

Current behaviour:

  1. I pass "schema://host"
  2. I get back "schema://hostxo?param=value..."

I would expect the following:

  1. I get back "schema://host/xo?param=value..."
sshropshire commented 1 year ago

@emartynov interesting ok. Let me follow up on this, I see the potential for confusion now.

emartynov commented 1 year ago

BTW I fixed it in my codebase by passing "schema://host/" as a return URL.

It is an easy fix on Android - instead of treating the passed URL as a string, convert it to URI and operate on top of it by adding segments, etc.

This would be a nicer UX for users of the library. I assume the root case lies in the javascript SDK. However, your SDK as an intermediary level could make a small change here.

emartynov commented 1 year ago

My previous message needs to be corrected. It doesn't matter if I add or not the trailing slash to the return URL.

I still get xo?.... concatenated without a slash.

sshropshire commented 1 year ago

@emartynov is this still an issue as well? I know you said you were able to work around it.

emartynov commented 1 year ago

Let me check it

devchristina commented 1 year ago

Hi all. Any movement/follow up on this issue? Would love to close if not.