How it works
In a standard Google Pay integration, tokenization happens client-side. With UCP, Google shifts this to the server side. The following table shows the key differences.
Using Google’s UCP, AI agents can:
- Discover your products through your product catalog.
- Create checkout sessions through the UCP specification.
- Send the tokenized Braintree payment, including the tokenized credential, to your server to complete checkout.
Prerequisites
- Active Braintree merchant account.
- Google Pay enabled in your Braintree Control Panel.
- UCP merchant registration with Google. Contact Google for enablement.
- Familiarity with Braintree’s
Transaction.saleorchargePaymentMethodGraphQL mutation.
Step 1: Configure Google Pay payment handler tokenization
When registering your UCP profile with Google, you will define a full Google Pay payment handler specification. The followingtokenizationSpecification block is the Braintree-specific section that belongs inside the allowed_payment_methods entry of that specification. For more information, see the Google Pay payment handler specification.
Notes:
braintree:clientKeyrequires a tokenization key. See the Braintree tokenization key documentation for details.braintree:sdkVersionvalue comes from the merchant’s pinned braintree-web dependency or npm. The system uses it for telemetry and observability only and doesn’t affect tokenization or payment behavior.
Step 2: Handle the checkout payload
When Google calls your/checkout-session/{id}/complete endpoint, the payment payload includes the Braintree single-use token in the credential.token field.
Expected payload structure
credential.token contains a JSON string with the androidPayCards array. Parse it to extract the single-use token.
Step 3: Process the payment with Braintree
Use the extracted single-use token exactly as you would any other Braintree payment method. Using Braintree SDK (Node.js)Review Google Pay’s terms regarding vaulting network-tokenized cards and FPAN-based cards. Braintree treats the Google Pay-derived credential as a single-use payment method that may only be used once and expires after 3 hours if unused, so avoid flows that try to both charge and vault the same value.
Troubleshooting
Use the following information to diagnose and resolve common integration issues.Common errors
Verify your configuration
- Confirm the Braintree merchant ID is correct on your UCP Google Pay payment handler definition in the
tokenizationSpecificationsection. - Verify the tokenization key is valid and not expired.
- Ensure Google Pay is enabled in the Braintree Control Panel.