Google Pay

Server-Side Implementationanchor

Click here to view the server-side implementation using GraphQL.


Google Pay is currently available with our latest Android and JavaScript SDKs.

Creating transactionsanchor

Using card noncesanchor

Include the Google Pay card nonce in the Transaction: Sale call on your server: Collect device data from the client and include the device_data_from_the_client in the transaction.

  1. Ruby
result =
  :amount => "10.00",
  :payment_method_nonce => nonce_from_the_client,
  :device_data => device_data_from_the_client,
  :options => {
    :submit_for_settlement => true
  :billing => {
    :postal_code => postal_code_from_the_client

Using PayPal noncesanchor

PayPal nonces returned from the client will be a PayPalAccount type rather than a GooglePayCard. To create a transaction with a PayPal nonce:

Collect device data from the client and include the device_data_from_the_client in the transaction.

  1. Ruby
result =
  :amount => "10.00",
  :payment_method_nonce => params[:payment_method_nonce],
  :device_data => params[:device_data],
  :order_id => "Mapped to PayPal Invoice Number",
  :options => {
    :submit_for_settlement => true,
    :paypal => {
      :custom_field => "PayPal custom field",
      :description => "Description for PayPal email receipt",
if result.success?
  "Success ID: #{}"

The merchant account used at transaction time must accept PayPal transactions.

Because creating a transaction with a PayPalAccount nonce from Google Pay is effectively the same as creating a transaction from your PayPal integration, they have the same settlement rules and options that typical PayPal transactions have.

When making a transaction with PayPalAccount nonce through Google Pay, the resulting transaction will have facilitator_details.oauth_application_name set to Google.


For certain account setups, it is recommended that merchants collect and pass billing address information when storing payment methods and/or creating transactions. Passing billing address details (postal code at minimum) can help increase the likelihood of a successful authorization. To learn more about your specific account setup, contact us.

Vaulting Google Payanchor

Google Pay cards can only be saved to your Vault for specific use cases; see the support article for details.

Vaulting of PayPal accounts from Google Pay is currently not supported. This means the options.store_in_vault and options.store_in_vault_on_success options are not supported when creating a transaction.

If your use case is supported, you can store a customer's Google Pay card in your Vault in a few different ways:

Next Page: Testing and Go Live