Google Pay is a digital wallet for storing payment details, providing an easy and secure way to pay in android applications and browsers and contactless POS terminals. In applications and on websites, users can quickly and securely provide their payment, shipping and contact information to check out with just one touch using biometrics. Google Pay’s simplicity increases conversion rates and new user adoption that come with it.
Axepta BNP Paribas's Google Pay solution supports following scenarios:
- In-application payments
- Web payments
Web payments
Follow the brand guidelines to implement Google pay on your website.
In-app payments
Follow the brand guidelines to implement Google pay on your app.
Get started
Axepta BNP Paribas supports Google Pay in all of the integration types: Hosted Payment Page, Hosted forms and Direct integration. Follow the guide below tailored to your integration.
Hosted Payment Page or Hosted forms
If you’re using Axepta BNP Paribas’s Hosted Payment Page or Hosted forms, integrating Google Pay is straightforward.
Key advantages:
- No need of Google developer account
- No need to integrate with Google Pay APIs
- Axepta BNP Paribas takes care of entire communication with Google Pay through out the payment
Implementation steps
Enable Google Pay:
- Contact Axepta BNP Paribas to activate Google Pay for your merchant ID.
Processing payment:
Hosted Payment Page: If you use the Hosted Payment Page integration then submit payment request via Create checkout session.
Hosted Forms: If you use the card Hosted Forms integration then submit the payment request via Create payment with:
{ ... "paymentMethods": { "type": "CARD", "integrationType": "HOSTED" } }
- Google Pay will automatically appear as a payment option when customers are redirected to the Hosted Payment Page or card payment form.
Direct integration
If you require full control over the Google Pay UI/UX, Direct integration is the ideal choice. This method allows you to integrate directly with Google Pay APIs, giving you complete flexibility in designing and managing your checkout experience.
Implementation steps
Enable Google Pay:
Contact Axepta BNP Paribas to activate Google Pay for your merchant ID.
Integrate with Google APIs:
Refer to the official Google documentation for detailed guidance to integrate with Google APIs.
Configure the Gateway:
During the integration, use Axepta BNP Paribas as your payment gateway and include your Axepta BNP Paribas -assigned Merchant ID in the tokenization object. Below is an example configuration:
const tokenizationSpecification = { type: "PAYMENT_GATEWAY", parameters: { gateway: "computop", gatewayMerchantId: "<<yourComputopMerchantID>>" } };
Allowed card networks:
Include the card networks that are supported by your acquirer in the request. Below is an example.
const allowedCardNetworks = ["cartesBancaires", "amex", "visa", "masterCard"];
Authentication methods:
Google Pay supports two types of authentication methods for cards:
- PAN_ONLY: Cards without cryptographic authentication. These are not PSD2-compliant and require a separate 3DS flow for SCA compliance if you operate in the EEA (details provided in a dedicated page).
- CRYPTOGRAM_3DS: Cards with cryptographic authentication. These are PSD2-compliant and do not require an additional 3DS flow during payment processing.
To support both types of cards, include both methods in your request to Google Pay:
const allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"];
Notice: Include CRYPTOGRAM_3DS only if your acquirer is supporting this functionality. Contact Axepta BNP Paribas Support to verify this point if needed.
Receive encrypted token from Google:
Once the customer authorizes a payment via Google Pay, you will receive an encrypted payment token in the response. Below is an example of the payment token:
{ "signature": "MEQCIC4z/QHSrzekRkkuk3vGYxBTBdNgEQl5XFHx0Wk5fFLIUAiB3+q227havAJdagfGZaMXbefhatdJE7Df2qrIoKDv1Og==", "protocolVersion": "ECv1", "signedMessage": "{\"encryptedMessage\":\"bOYRmExGeCsBrFqESt7kd9O1FN+vQZf2KG0UNYC8jNA+VVf9nQeK7lDvU8k37cH+LOziJQkHNL2OxDHIk6GoRV1BrXprwBnAJR0O2VnCUH8lsqq0ELwemeqW364Ir8cU/hDFzWNp+38H25JVDAMExZBKodMMTzUXXgyO+s5jOyAl8jUhnAw3fTRPkefuYsE8NFK5tvcs4L29h87Zo7ot0/8XrUhXt9b/Fld1LEthkuPSN+K1eEFP7bseB6jjRdHnwYAdqiE3iOmh71pcDmNIyrlWRj74UJaszeerZW7DoZNx11oN7fouq/8fe1vklsr/e+y/RSG2nQMWg5yR/fMTfqCyabTDhJMvMM1Zhe91+dQ0/xi/zKRgsIhiongJUjYtoSNIjUHnMLRuVTKdjX50CCI1QOiBtr9h0bOLePhxw9cLYeU1KwCfYJyt28DBKCvaWFSbCl+dzNcZ9B83kv\",\"ephemeralPublicKey\":\"BFUju73/IT/KqnB/nc0W3BaL3BXFybrbYaPiMCKXIcg78PbslwV7MRUq3SpWEDEJT6pakLCvf34412HbDGCpsa4\\u003d\",\"tag\":\"xIuCUWB2U6yWEfidsJpQaa+leU/kqS522JLOnrnk42g\\u003d\"}" }
Processing payment:
Include the encrypted token received from Google in your payment request by calling Create payment (
paymentMethods.integrationType=DIRECT
) to Axepta BNP Paribas. The encrypted token should be base64 encoded. Below is a snippet of payload:{ "paymentMethods": { "type": "GOOGLEPAY", "integrationType": "DIRECT", "googlePay": { "token": "<<Base64_Encrypted_Token_Data>>" } } }
- The encrypted payment token will be decrypted by Axepta BNP Paribas and submitted to the acquirer as part of the payment process.
Google Pay transactions are essentially card transactions but tokenized. Hence all the post processing actions such as refunds, captures and reversals use the same workflow as card transactions.