Search code examples
androidpayment-processingandroid-instant-apps

Google Instant Android Apps - Can I use my existing Hosted Payment capture provider to capture payment data?


We have an Android fully native app that captures the credit card and payment info using a reputable company's hosted tokenization solution. (via Embedded Web View). Credit card number related info is not stored or transmitted to our servers at any point.

We are evaluating whether we can jump onto Google's Instant Apps, and I found a piece in their UX-Best-Practices that says, you MUST go through either Google Play In-app Billing, OR Google Payment API

From their Docs: https://developer.android.com/topic/instant-apps/ux-best-practices.html#take_the_friction_out_of_payments

"You must use the Google Payment API for purchases within your instant app if you do not already have the user's payment information on file. Any new or replacement payment information for a given user must be collected using the Google Payment API. If you implement the Google Payment API in your instant app, you can also offer purely offline payments, like cash on delivery, or store gift cards in your instant app."

AND

"As stated previously, you must handle payments within the instant app using the Google Payment API or Google Play In-app Billing."

They don't make any distinction about In-App purchases, or purchases for things that are delivered physically or electronically OUTSIDE of the app. We are the latter: We deliver digital goods outside of the app, to be claimed and redeemed later on by someone else.

So according to all this, Are we eligible to migrate to Instant Apps using our existing payment system?


Solution

  • Yes, it is a policy requirement that all Instant App payments should go through either Google Play In-App Billing or the Google Payment API. The former is for purely digital goods (and attracts the standard 30% cut), the latter for physical goods or services.

    Note that the Google Payment API is not the same as Android Pay. You can read more about the newer Payment API from the Google I/O 2017 session, this blog post and sign up for early access here.

    As to if this will work with your current app / payments system, that's hard to say. The Google Payment API is a way to let users easily store and retrieve payment methods from their Google account, it does not actually process the payment. To process the payment you will still need to pass the tokenized credit card info that is received from the Payment API to a supported payment processor. At time of writing the supported processors are Braintree, Stripe and Vantiv with more coming soon.

    If your current payment flow is not very flexible then it may not be possible to integrate this payment flow into your Instant App.