paypal / here-sideloader-api-samples

Sideloader API samples that enable to integrate PayPal Here into other apps
Other
24 stars 32 forks source link

issues with callback URL if invoiceID is base64-encoded #26

Closed cristoslc closed 9 years ago

cristoslc commented 9 years ago

If as=b64 is on for the invoice, the callback URL does not work correctly (the protocol gets called, but other information seems to get lost). Specifically encountered this problem using the "fmp://" protocol for FileMaker Go.

Removing "as=b64" and URL-encoding the JSON invoice appears to resolve the problem.

jaredegan commented 9 years ago

mmm, strange. We will look into this.

cristoslc commented 9 years ago

Let me know if you'd like to schedule a screen share for me to demo/repro. I'm monitoring this thread, or you can email me at cristos@cristoslc.com. Thanks for looking into it!

jaredegan commented 9 years ago

Sorry this response is so delayed. Looking into this today. If you could share with me the specific information getting lost and a sample URL that is getting generated, that will help me look into this.

jaredegan commented 9 years ago

Ping. Is this still an issue, or are you still pursuing this integration? If so, please provide as much info as you can, specifically:

cristoslc commented 9 years ago

Thanks for following up, sorry for not replying earlier. We worked around it, and I haven't had time to rebuild the code in a "broken" state to verify and provide the paypalhere:// URL for you. I will try to do that, but it probably won't be for another week or two -- since we have a functioning workaround (don't use base64 encoding), it's not a critical issue for us.

This was on the iOS platform.

cristoslc commented 9 years ago

Sorry for the long delay, I still haven't had time to circle back to this. However, a colleague experienced a similar encoding issue with a different platform and found the culprit to be an unencoded = sign in the Base64 output from FileMaker. As I had not been performing additional validation on the encoded output, I suspect my issue was the same.

His solution was to manually URL-encode the = sign in the Base64 before adding it to the URL and making the call. When I have a chance, I will attempt to verify and post findings here. In the meantime, I believe this issue can be safely closed. The problem is specific to the encoding process coming from FileMaker Go, and not a problem with PayPal Here.