This isn't unique to Google. For example, the stripe PaymentMethod object is opaque and can't be moved to any other payment provider. That pretty much locks customers into stripe unless you want to force the customer to sign up to your service and enter their billing details again.