"how would you propose that in-app purchasing not go through GMS? Some general platform API to allow the app to do an in-app purchase with whoever wants to be a “purchase provider?”"
Actually, yes. That is how I would propose that an in-app purchasing system not go through GMS.
That was my first thought too, but there's big problems with that if you think about it for a while.
Say they did something like that. Now, I am going to build my own "purchase provider" that just says I paid without ever charging anything. How are you going to stop me from doing that? Somebody would have to authenticate "purchase providers" as actually charging money and paying it to the developer. Either you'd have to manually embed keys for authorized providers in your app, or trust some third-party to authenticate providers. Either way puts you pretty much where you are now.
Then there's the matter of developer authentication. Now I build a "purchase provider", but I'm an honest one who wants to actually bill the customer and pay the developer. How do I know who to pay? No developer has signed up in my system yet, so I have to use some kind of universal token to identify the developer of an app that somebody is making purchases from and tell them they have money to claim from me. It would have to be email, since what else would work? And we all have seen how secure email is lately. Anybody who managed to put a different address into the app or somehow intercept email to your address could claim the money.
Then we have payment splits. The Google app store has a published payment split between themselves and the developer that you implicitly agree to by publishing there. If you had universal "purchase providers" that anybody could implement, who decides what their payment split is? If I wanted my payment provider to split 90% to me and 10% to you, how do you stop that? If we have a third-party doing provider authentication, what are their standards for what payment splits are acceptable?
There's probably even more issues that I haven't thought of yet. If you want to do purchasing like this, you pretty much have to make your own app store and define a proprietary API for it that app developers must explicitly implement.
Although I generally think most of the arguments in this article are bad, I do believe that having all purchases go through google can add value because even though I don't trust them with my data, I still trust them with my purchases.
Actually, yes. That is how I would propose that an in-app purchasing system not go through GMS.