79
Views
6
Comments
Solved
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

2025-09-16 17-12-57
João Mateus
Solution

Hi André,

We implemented a workaround where we had a reactive application with the same functionality (basically only the payment page) and UI to which the mobile application, when adding a payment method, would redirect the user to.

It proved to be an acceptable albeit not ideal solution.

Regards,

Joao Mateus

2020-11-03 15-44-21
David Vaello

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.

UserImage.jpg
André Pinho

Joao did you manage to solve this? We have this issue intermittently with the Stripe element 

2025-09-16 17-12-57
João Mateus
Solution

Hi André,

We implemented a workaround where we had a reactive application with the same functionality (basically only the payment page) and UI to which the mobile application, when adding a payment method, would redirect the user to.

It proved to be an acceptable albeit not ideal solution.

Regards,

Joao Mateus

2020-11-03 15-44-21
David Vaello
UserImage.jpg
André Pinho

Hey David thanks for the suggestion. I have briefly looked at it (but havent played with it yet). I don't think it solves what we need as this looks more for one off, on the spot payments. We need to store cards for recurring 'off session' payments (ie not authorised by the user everytime). Plus Stripe has a bunch of flows that make that invoicing easy. 

UserImage.jpg
André Pinho

What is odd in our implementation is that 99% of the cases there are no issues with the Stripe Element, however in certain iOS models this error is triggered but not all the time (which is curious), and is known to fix itself randomly like turning app or off or updating the iOS software seems to solve this issue in some cases.

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