Guide d'intégration Google Pay
Document History
|
Version |
Date |
Author |
Modifications |
|
0.1 |
12/04/2025 |
Marc Giraudon |
Initial creation. |
|
0.2 |
18/05/2026 |
Marc Giraudon |
Added Android dev doc reference, Publish-your-integration links, explicit gateway ID string, expanded Direct Integration backend section, PCI DSS scope and 3DS handling for PAN_ONLY. |
|
0.3 |
02/06/2026 |
Marc Giraudon |
Per Google review (27/02/2026): screen-level dashboard activation steps (Hosted and Direct), dedicated 3DS section for PAN_ONLY with merchant-level configuration. Payment Methods overview placing Google Pay alongside other Contodeo methods. Dedicated onboarding email for Google Pay Merchant ID. |
|
0.4 |
09/06/2026 |
Marc Giraudon |
Restructured to align section-by-section with Google's Integration Checklist (Basics / Brand tests / Functional tests). Full Brand Guidelines compliance section (button types, mark, ™ rules). Distinction between Google Merchant ID and W-HA gatewayMerchantId. Integration Checklist mapping (annex). "See Also" section. |
Reference Documents
This guide is intentionally aligned to Google's own Google Pay developer documentation. Every section below either applies Google's requirements to the W-HA platform or links the reader to the canonical Google page when the topic is generic (button assets, payment data cryptography, error codes, etc.).
|
Ref. |
Title |
URL |
|
[1] |
Google Pay Web — Setup Guide |
https://developers.google.com/pay/api/web/guides/setup |
|
[2] |
Google Pay Web — Tutorial |
https://developers.google.com/pay/api/web/guides/tutorial |
|
[3] |
Google Pay Web — Client API Reference |
https://developers.google.com/pay/api/web/reference/client |
|
[4] |
Google Pay Web — Request Objects |
https://developers.google.com/pay/api/web/reference/request-objects |
|
[5] |
Google Pay Web — Integration Checklist |
https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist |
|
[6] |
Google Pay Web — Brand Guidelines |
https://developers.google.com/pay/api/web/guides/brand-guidelines |
|
[7] |
Google Pay Web — Publish your Integration |
https://developers.google.com/pay/api/web/guides/test-and-deploy/publish-your-integration |
|
[8] |
Google Pay Web — Test Card Suite |
https://developers.google.com/pay/api/web/guides/resources/test-card-suite |
|
[9] |
Google Pay Web — Strong Customer Authentication |
https://developers.google.com/pay/api/web/guides/resources/sca |
|
[10] |
Google Pay Web — Shift liability to issuer |
https://developers.google.com/pay/api/web/guides/resources/shift-liability-to-issuer |
|
[11] |
Google Pay Web — Merchant-initiated transactions |
https://developers.google.com/pay/api/web/guides/resources/merchant-initiated-transactions |
|
[12] |
Google Pay Web — Token lifecycle management |
https://developers.google.com/pay/api/web/guides/resources/token-lifecycle-management |
|
[13] |
Google Pay Web — Customize your button |
https://developers.google.com/pay/api/web/guides/resources/customize |
|
[14] |
Google Pay Web — UX Best Practices |
https://developers.google.com/pay/api/web/guides/ux-best-practices |
|
[15] |
Google Pay Android — Overview |
https://developers.google.com/pay/api/android/overview |
|
[16] |
Google Pay Android — Integration Checklist |
https://developers.google.com/pay/api/android/guides/test-and-deploy/integration-checklist |
|
[17] |
Google Pay Android — Brand Guidelines |
https://developers.google.com/pay/api/android/guides/brand-guidelines |
|
[18] |
Google Pay Android — Request Production Access |
https://developers.google.com/pay/api/android/guides/test-and-deploy/request-prod-access |
|
[19] |
Google Pay & Wallet Business Console |
https://pay.google.com/business/console |
|
[20] |
Google Pay API — Terms of Service |
https://payments.developers.google.com/terms/sellertos |
|
[21] |
Google Pay API — Acceptable Use Policy |
https://payments.developers.google.com/terms/aup |
|
[23] |
Contodeo API Reference (W-HA) |
https://contodeo.w-ha.com/api-reference |
1. Introduction
This guide describes how merchants integrate Google Pay™ on their website or Android app through the W-HA (API Money) payment platform. W-HA is an Electronic Money Institution and Payment Institution licensed by the French ACPR, operating as a wholly-owned subsidiary of Orange Group, and provides the Contodeo Banking-as-a-Service / acceptance API [23].
Google Pay™ lets your customers pay using any credit or debit card saved to their Google Account — including cards added via Google Play, YouTube, Chrome, or an Android device — and is fully compatible with W-HA's products (one-shot payments, recurring payments, marketplace flows).
1.1. How to read this document
This guide is structured to mirror Google's Web Integration Checklist [5] and Brand Guidelines [6], so that reviewers and merchants can map each Google requirement to its W-HA implementation.
1.2. One integration path
|
|
In one line • Hosted Checkout: enable Google Pay with one toggle in the W-HA Dashboard — no Google Pay-specific code on your site. • |
1.3. Pre-requisites
Before starting:
- Hold an active W-HA merchant account with Google Pay enabled in the contract.
- Read the Google Pay Setup Guide [1] and the Tutorial [2].
- Read and accept the Google Pay API Terms of Service [20] and the Acceptable Use Policy [21]. Use a business email address associated with your business domain for the Google account.
- Serve the integration over HTTPS with a valid TLS certificate (web).
- Use Google Pay data only to process the related transaction — any other use case requires the user's separate explicit consent.
- Always maintain at least 8 dp clear space on all four sides of the button.
- If the Google Pay button is placed next to another payment button, both buttons must be equal in size.
- When resizing, keep proportions consistent (never stretch).
- The Google Pay button must never be smaller than other payment buttons on the same page.
- Capitalise "G" and "P" (write "Google Pay", never "GOOGLE PAY").
- Never abbreviate (no "GP").
- Never translate "Google Pay" into another language.
- Set "Google Pay" in the same font and typographic style as the surrounding text — do not mimic Google's own typography.
- Use the trademark symbol ™ on the first or most prominent mention in marketing communications. Do not use ™ when simply listing Google Pay as a payment option.
- "Visa •••• 1234 with Google Pay"
- "Mastercard •••• 1234 (Google Pay)"
- "Paid with Google Pay"
- Make Google Pay prominent — ideally a primary or default payment option.
- Enable guest checkout to reduce friction.
- Collect any required information (size, quantity, promo code) before showing the Google Pay button: the payment sheet only confirms payment and address.
- Consider adding the Google Pay button on product detail pages for single-item express checkout.
- Always show the final price on a confirmation page before submitting the transaction.
- Merchant display name — the name shown to customers in the Google Pay payment sheet (e.g., "My Shop").
- Country code — your merchant country (defaults to your contract country, used for SCA country reporting).
- Card networks — checkboxes for CB, Visa, Mastercard, Amex. Tick every network you want to accept via Google Pay (must be a subset of the networks enabled on your contract).
- Use the W-HA Contodeo sandbox endpoint at https://api-sandbox.contodeo.w-ha.com and your sandbox API keys.
- Set the Google Pay environment to 'TEST' when instantiating the PaymentsClient.
- Use a physical Android device (the Google Pay app is not available on Android emulators) with a real card saved in your Google Account.
- Use the Google Pay test card suite [8] to simulate specific scenarios (frictionless 3DS, challenge, decline). No real money is moved while the environment is TEST.
- Failed PAN_ONLY 3DS challenge: confirm status DECLINED with threeDSStatus = CHALLENGE_FAILED.
- Customer-cancelled 3DS challenge: confirm the merchant returnUrl is reached with an appropriate cancellation indicator.
- Webhook delivery: verify the callback endpoint receives the final transaction status for both synchronous and asynchronous (3DS) flows.
- Integration type: Gateway
- Gateway name: w-ha
- Provide screenshots of the Google Pay button placement, the payment sheet, and the order confirmation page.
- Hosted Checkout merchants: no further action — the merchant's environment automatically switches when the W-HA live API keys are used.
- Transmit MERCHANT ID to W-HA through generic email (to be configured).
- Onboarding & Google Pay Merchant ID binding: googlepay-onboarding@w-ha.com
- Technical integration support: integration@w-ha.com
- Or contact your dedicated W-HA Technical Account Manager.
2. Google Pay™ within the Contodeo Payment Platform
Google Pay is offered as a wallet payment method on the Contodeo platform, side-by-side with card schemes (CB, Visa, Mastercard, American Express) and other wallets (Apple Pay). The Contodeo API exposes a unified authorization endpoint that accepts encrypted wallet payloads in the walletPayload property; the schema reference is published in the Contodeo API documentation [23].
|
Payment method |
Category |
Availability via Contodeo |
|
|
Cartes Bancaires (CB) |
Card scheme |
Hosted Checkout, Direct Integration |
|
|
Visa |
Card scheme |
Hosted Checkout, Direct Integration |
|
|
Mastercard |
Card scheme |
Hosted Checkout, Direct Integration |
|
|
American Express |
Card scheme |
Hosted Checkout, Direct Integration (on request) |
|
|
Apple Pay |
Wallet |
Hosted Checkout, |
|
|
Google Pay™ |
Wallet |
Hosted Checkout |
|
|
SEPA Direct Debit |
Bank transfer |
Direct Integration |
|
|
|
Note on the Contodeo API documentation The webAuthorizeRequest, Transaction and PaymentMethod schemas published on the Contodeo API reference [23] explicitly list Google Pay among the supported paymentMethod values and document the walletPayload property carrying the encrypted Google Pay token. This dedicated Google Pay guide is the canonical document describing the end-to-end merchant onboarding and integration flow. |
||
3. Requirements
The following table summarises everything a merchant developer needs to know upfront.
|
Requirement |
Description |
|
Integration types |
Hosted Checkout (the W-HA Contodeo payment page renders the Google Pay button) |
|
Tokenization model |
PAYMENT_GATEWAY (gateway = "w-ha"). W-HA holds the Google Pay decryption key and decrypts the payload server-side. The merchant never receives a clear PAN. |
|
Supported auth methods |
DPAN_ONLY |
|
Supported card networks |
VISA, MASTERCARD, AMEX (subject to W-HA contract activation). CB cards are processed via their Visa or Mastercard co-badging on Google Pay. |
|
Supported countries |
All Google Pay countries (worldwide except India). |
|
Supported currencies |
EUR (primary). Other ISO 4217 currencies enabled on the merchant's W-HA contract. |
|
Setup steps |
Before you start: read the Google Pay Setup Guide and accept the Google Pay API Terms of Service and the Acceptable Use Policy. Then follow sections 5 (Hosted). |
4. Branding & Guidelines
W-HA will follow the official branding compliance available at
[6] https://developers.google.com/pay/api/web/guides/brand-guidelines?hl=fr
W-HA recommends merchants use the official Google Pay button rendering via the createButton() method [13]. Hosted Checkout merchants do not need to read this section — W-HA's Contodeo payment page already renders compliant buttons.
4.1. Use the official Google Pay button
Always render the button via the Google Pay API client method:
const button = paymentsClient.createButton({
onClick: onGooglePayClicked,
buttonType: 'pay', // or 'buy', 'checkout', 'plain', etc.
buttonColor: 'default', // 'black' on light bg, 'white' on dark bg
buttonLocale: 'fr' // BCP 47 language
});
document.getElementById('container').appendChild(button);
Using createButton() guarantees automatic brand compliance, localisation in the user's browser language, personalisation (when the user has an eligible card the button can display the card art and the last 4 digits), and consistent typography.
4.2. Choose the right button type
Eight button types are available. Pick the one that matches your checkout context:
|
Button type |
Recommended use |
Personalization (card art + last 4) |
|
book |
Travel, hospitality bookings |
No |
|
buy |
Standard e-commerce checkout |
Yes |
|
checkout |
Generic checkout flow |
No |
|
donate |
Donations (NPO validation required) |
No |
|
order |
Order food, services |
No |
|
pay |
Generic payment (bills, invoices) |
Yes |
|
plain |
Logo-only button (no verb) |
Yes |
|
subscribe |
Recurring subscriptions |
No |
Donation buttons require additional Non-Profit Organization validation during Google onboarding.
4.3. Clear space and proportions 4.4. Contrast against the background
Use the dark button (buttonColor = 'black') on light backgrounds, and the light button (buttonColor = 'white') on dark or colourful backgrounds. Never use a button colour that is similar to the page background (e.g., white button on a white background).
4.5. "Google Pay" in text
When you reference Google Pay in text (marketing material, confirmation pages, receipts):
4.6. Display on confirmation pages and receipts
When you confirm a Google Pay transaction (confirmation page, email receipt), use the descriptive text returned by the Google Pay API. Never display the full PAN, expiration date, or any other card detail. Acceptable formats include:
4.7. Best practices for conversion
5. Hosted Checkout — Merchant setup
In Hosted Checkout, the Contodeo payment page is loaded by W-HA, and the Google Pay button is rendered alongside the card form, Apple Pay button, and any other enabled payment method. Activation is entirely dashboard-driven.
5.1. Merchant activation steps in the W-HA Dashboard
Complete the following six steps in the W-HA Merchant Dashboard at https://dashboard.w-ha.com. The status indicator next to Google Pay turns from Pending to Active within five minutes after step 6.
Step 1 — Sign in
Open https://dashboard.w-ha.com and sign in with your merchant credentials. Request access from your W-HA Technical Account Manager if needed.
Step 2 — Open Payment Methods
In the left-hand navigation, click Settings → Payment Methods. The dashboard displays the list of all payment methods available on your contract.
|
W-HA Merchant Dashboard — Payment Methods Settings › Payment Methods |
|
Cartes Bancaires (CB) ● Active |
|
Visa ● Active |
|
Mastercard ● Active |
|
Apple Pay ● Active |
|
Google Pay™ ○ Inactive [Activate] |
|
SEPA Direct Debit ○ Inactive [Activate] |
Step 3 — Activate Google Pay
Click the Activate button on the Google Pay™ row. A confirmation dialog opens summarising the Google Pay API Terms of Service [20] and the Google Pay API Acceptable Use Policy [21]. Read both documents in full. Tick the checkbox "I have read and accept the Google Pay API Terms of Service and Acceptable Use Policy" and click Confirm activation.
Step 4 — Configure your Google Pay display name
Click Configure on the Google Pay™ row to open the configuration drawer. Fill in:
Click Save. The drawer closes and the Google Pay™ row shows status "Pending — Google verification".
Step 5 — Register your domains (Web only – if relevant)
Open Settings → Domains. Click Add domain and enter each domain or subdomain where the Hosted Checkout will be loaded, including the www. subdomain (e.g., shop.example.com, www.shop.example.com). W-HA automatically submits these domains to Google for verification.
Step 6 — Confirm activation
Return to Settings → Payment Methods. Within five minutes the Google Pay™ row indicator turns from "Pending" to "● Active". The Google Pay button is now displayed on your Hosted Checkout page for every transaction where Google Pay is eligible.
5.2. What the merchant has to add on their website
|
|
No Google Pay-specific frontend code required for Hosted Checkout If your site already integrates the standard W-HA Hosted Checkout (redirect or iframe) for card payments, you do not need to add any Google Pay-specific code, library, or DOM element. The Google Pay button appears automatically inside the Contodeo payment page once the steps in §5.1 are complete. |
6. Testing & Validation
6.1. Test environment setup
6.2. Mandatory test scenarios (Google Integration Checklist [5])
The following scenarios mirror Google's Integration Checklist sections 3.2 and 3.3 and must all pass before submitting the production access request:
- Successful CRYPTOGRAM_3DS transaction: authorize, capture, confirm no 3DS step-up is triggered and that the response is returned synchronously.
- Remove all cards from pay.google.com.
Card-on-file PAN_ONLY test [5, 3.2]:
- Return to your integration. Click the Google Pay button.
- Validate that you see the option to add a card.
- Add a card from a supported network (allowedCardNetworks).
- Validate that you see the added card with the network logo in the selector. Complete the payment; confirm 3DS step-up is triggered if your strategy is "Always".
Android device token CRYPTOGRAM_3DS test [5, 3.3] — Chrome on Android only:
- Check that your card issuer is supported by Google Pay and add an eligible card in the Google Pay Android app.
- Return to your integration. Click the Google Pay button.
- Validate that you see the added card with its card art in the chooser.
- Confirm the payment; verify the response has authMethod = CRYPTOGRAM_3DS and no 3DS step-up was performed.
Additional scenarios:
6.3. Test with the browser developer console
Open the browser developer console while testing — the Google Pay JavaScript client emits errors and warnings there. See Google's troubleshooting guide for the meaning of error codes. On Android, use Logcat with the filter WalletMerchantError.
7. Going Live — Production Access 7.1. Submit the production access request to Google
Open Publish your Integration (Web) [7] or Request Production Access (Android) [18] and submit the request. Select:
Google reviews the request within one business day [6] and grants production access on the Google Pay & Wallet Console.
7.2. Switch to production
7.3. Domain registration in production
Web merchants: every production domain and subdomain showing the Google Pay button must be registered. Hosted Checkout merchants register them in the W-HA dashboard (Settings → Domains); Direct Integration merchants register them on the Google Pay & Wallet Console [19]. Domain mismatches are the most common cause of "Google Pay not available" errors at the customer's browser.
8. UX Best Practices (Google Integration Checklist items 3.8 – 3.10)
8.1. Display Google Pay on parity with other payment methods
Google Pay must be displayed with the same prominence as other third-party payment methods on the checkout page. Do not relegate Google Pay below the fold, do not hide it behind a "more options" toggle, and do not surface it after the customer has already chosen a different method.
8.2. Default to Google Pay for returning customers
If a customer previously selected Google Pay and indicated it as their preferred payment method, Google Pay must be defaulted as the payment method on their subsequent purchases. Implement this by storing the last successful paymentMethod value at customer level and pre-selecting the matching button on the next checkout.
8.3. Display the final price before processing
A final price must be displayed to the user before the transaction is processed. If the amount to be charged has varied based on data received from the Google Pay API (e.g., shipping option selection, tax computed from billing address), show a confirmation page with the final price before sending the authorization request.
9. Support
For any question related to Google Pay integration on the W-HA platform:
When opening a support request, please include: your W-HA merchant ID, the transaction ID (if applicable), the integration path (Hosted Checkout or Direct Integration), the environment (sandbox or production), and a short description of the issue with relevant request and response payloads (PCI data redacted).
10. See Also
• Google Pay Web overview — high-level documentation for the Google Pay Web API.
• Google Pay Android overview — high-level documentation for the Google Pay Android API.
• Google Pay code generator — interactive code sample generator for Google Pay Web.
• Live Google Pay demos — reference implementations.
• Google Pay UX best practices — checkout UX recommendations.
• Contodeo API Reference — full W-HA API schema, including Google Pay properties.