I’m interested in this feature and would like to help by sharing my experience and maybe in future helping with more research and even coding.
About a year ago I worked on a startup that needed Stripe integration.
One of the things that hasn’t been mentioned yet in the discussion here is the ability to intergrate the Stripe subscripion status into the authorization of an app.
For example, we had a requirement to disable all app functionality when the subscription was expired in Stripe with the exception of login/logout and navigation to the billing management screen.
We didn’t use any “stripe-to-db” sync tools so our solution ended up requiring a lot of effort on the coding side. From memory we used a webhook to update our
CustomerSubscription table in our database. This would then be checked during authorization to determine if an account had a valid active subscription.
We also didn’t have much experience within the team of Stripe so the interactions between the product owner, designer and developers were not ideal. The product owner wanted to get a fully branded experience for payment while also wanting to manage the effort and time of development. I think the reason for this was that it was a very important part of aquiring paid customers of the product.
But on the other hand we did not end up adding support for Apple Pay or Google Pay which is an in-built feature when using the Stripe hosted checkout. So in that sense it may have detracted from the UX of the upsell from the free plan.
Unfortunately I moved on before the product ever launched so I can’t give any more details around how it went.
However I do think that having the Stripe hosted checkout and subscription management should at least be an option for Redwood as it allows for low-maintenance adoption of future improvements and features that Stripe adds.
Maybe having both the Stripe hosted and fully branded as options that can be chosen from when setting up Stripe with Redwood makes sense.
In regards to the syncing of data from Stripe to Redwood I think that should be treated as a separate decision to how the customer experience is built.
Whether or not Stripe hosting UI or Stripe Elements are used should not have an significant impact on the decision on what to use for syncing data to and from Stripe and Redwoods database.
One last note, we also had a requirement for a free trial which we setup in Stripe as a product with $0 price. This seemed to work fine and allowed a user to transition to and from the paid products.