iOS app uses outsystems protocol instead of https causing Stripe integration error
Application Type
Mobile
Platform Version
11.0.614

Hi,

We integrate with Stripe to process payment methods using Stripe Elements with Javascript. This integration requires that the page where its widget is used is in https (using window.location to determine thisfor Production environments.

This should have been fine as we are using https everywhere in our Reactive and Mobile apps, however, this integration does not work in iOS but works in Android and the Reactive application.

The reason for this, as we have found out, is that for iOS the window.location attribute starts with outsystems:// instead of https://, as can be seem in the images below (printed window.location).

Questions

  • How can we make it so that the iOS app uses https:// instead of outsystems:// for its pages?
  • Does anyone have this problem regarding the difference in protocol? Is there a workaround?

iOS flow:

Android flow:

Thanks,

João Mateus

Hi,

This change was introduced in MABS6.0 (https://success.outsystems.com/Support/Release_Notes/Mobile_Apps_Build_Service#MABS_Version_6.0). 

"IOS applications now load from outsystems:// instead of https://. This enables the offline support with WKWebView.".

So, you can't. It is an architectural issue of IOS and WKWebView.

Kind regards, David.

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.