You can provide access to an app for 120 days with Firebase Distribution. I use it for testing. It is easier than Test Flight.
Once the user has installed the app. I believe they can keep using it. Monetising it would have to be done via another route.
I've put a STRIPE library up on the forum which could be used, I think.
Attached a project which demonstrates how to accept a STRIPE Payment within your app. It is based on the information on this page: https://stripe.com/docs/checkout/integration-builder On iOS it also allows the use of APPLE PAY. Unfortunately, Google Pay does not seem to work for me, not sure...
You have a good point,yes you still need to have the UDID of the users phone with Firebase so you are restricted to 100 phone ids per year. You need a store certificate which is not limited, but you cannot upload that sort of app to firebase.