availability

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

Creating transactions

Using card nonces

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.

Python
result = gateway.transaction.sale({
    "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
    }
})

note

Google Pay cards are represented as Android Pay cards in our API to prevent breaking changes. For example, the response from a Payment Method: Create call with a card from Google Pay will include the AndroidPayCard response object.

Using PayPal nonces

PayPal nonces returned from the client will be a PayPalAccount type rather than an AndroidPayCard. 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.

Python
result = gateway.transaction.sale({
    "amount" : request.form["amount"],
    "payment_method_nonce" : request.form["payment_method_nonce"],
    "device_data": request.form["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.is_success:
    "Success ID: ".format(result.transaction.id)
else:
    format(result.message)

note

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.

Vaulting Google Pay

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 →