I would not use Google Pay. Personally I don't see any advantage to using it, and they recently removed a lot of the functionality.
Google Pay is being drastically restricted by Google. It could be a sign that it's on the way out.
Stripe is another option to collect payments from customers.
You could have both PayPal and Stripe.
There are horror stories about PayPal, but I wouldn't worry about that.
It's probably very unlikely that it would happen to you.
I'm not saying that it couldn't happen, but if you aren't doing anything that looks suspicious, then I doubt you'll have a problem.
The most important issue is what your customers are willing to use.
If most of your customers prefer something other than PayPal, then use what your customers want.
But that depends upon what your customers know about and use.
It could depend on the region of the world your customers are in.
Part of your implementation will be segregating which code runs freely with no payment test,
and which code must test for payment before running.
If your premium service depends on code that the free users run, then you've got to find a way to have the premium
service code first run through your payment test. Or you'd need to check the user every time and determine whether that
user is paying for premium services or not.
How easy or hard it is to implement a payment system depends on your needs and what you want.
There are probably many different ways to implement a PayPal payment.
The blog post your gave the link to, has the customer go to your website to make the payment.
It doesn't give an example of an "in app" payment dialog, or a payment button in your add-on.
Also, it uses license keys, which you may or may not want to use.
All you really need is to know when their subscription expires.
I do have some example code for the version 3 of Stripe.
It's not a system for free and premium services.
Unfortunately it's hard to provide a generic example of a payment system that would work for everyone.