Prerequisites
- A connected customer (via
client.getConnection()orclient.connect()). - A UI surface where you can render the Google Pay frame.
Device and browser support
Google Pay relies on the Payment Request API, so it only works in browsers that support that API, such as Chrome. The customer also needs a card set up with Google Pay. In a native Android app, the Payment Request API is disabled by default in Android WebView, so offering Google Pay requires extra setup: Google Play services 25.18.30+, Android WebView for Chrome 137+, and the API enabled on your WebView. See the frame requirements and the Android manual integration guide. You don’t need to detect the browser yourself. When Google Pay isn’t available in the customer’s environment, the frame emits anunsupported event — hide the button and offer another payment method. The code sample in Execute the transaction handles this event.
Display payment methods
Use the SDK or API to fetch and display the payment methods that are available for the customer right now.Get quotes
Quotes provide real-time prices and fees for transactions. Show the contextual quote summary above the Google Pay button. The Google Pay sheet presents fees, so you do not need to render a fee breakdown. See Going Live for the required presentation and fee behavior for how fees relate to the source amount. Only quotes withexecutable: true can be used to execute a transaction. See the quotes API reference for the fields required to receive executable: true.
Execute the transaction
To execute a transaction, set up the payment flow based on the quote. Different payment methods have different requirements—you can configure each as needed to control your experience. For the frame URL, size, permissions, and events, see the Google Pay frame reference.Google Pay
Transaction statuses
Transactions have the following statuses:- Pending: The transaction has been initiated and the payment accepted. The assets are being transferred.
- Complete: The transaction is finalized. The payment is complete and the assets have been delivered to their destination.
- Failed: The transaction has failed. The payment was not executed and funds were not transferred.