Google Pay
Server-Side Implementation
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
}
})
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)
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:
- In a separate
Payment Method: Create
request - In a separate
Customer: Create
orCustomer: Update
request - In your
Transaction: Sale
request by using options.store_in_vault or options.store_in_vault_on_success
Next Page: Testing and Go Live →