Google Pay Module

See the Google PayTM Feature Page for more information and options on how to integrate Google Pay with BR-DGE.

The Google Pay module enables payments using the Google PayTM for Payments - Web API. This works by integrating with Google Pay to generate a single-use Google Pay Nonce, which is used as a payment instrument via the BR-DGE REST API.

Enables

Implementation

BR-DGE integrates with Google Pay with Payment Service Providers (PSPs).

This means BR-DGE registers with Google Pay and acts as a reseller so we can do transactions on your behalf.

To use this functionality, you will need to:

  1. Add the Google Pay Module to Your App.
  2. Receive the Google Pay Nonce.
  3. Send the Google Pay Nonce to the BR-DGE REST API.
  4. Please ensure you support the 3-D Secure Payment Flow as Google Pay transactions with authMethod PAN_ONLY must comply with SCA and network regulations. BR-DGE will submit the PAN_ONLY credentials and 3-D Secure information for improved chances of a successful payment.

We do not restrict payments to and from other countries, please refer to your PSPs documentation for their accepted authorization methods and supported card networks.

❗️

All merchants must adhere to the Google Pay APIs Acceptable Use Policy and accept the terms defined in the Google Pay API Terms of Service. For more information, see Google Pays Brand Guidelines.

Add the Google Pay Module to Your App

After you have set up the Comcarde JavaScript Client, you can add the google-pay module to your website source.

<script src="https://sandbox-assets.comcarde.com/web/v2/js/google-pay.min.js"></script>
<script src="https://assets.comcarde.com/web/v2/js/google-pay.min.js"></script>

Next insert a placeholder element to your page and give it a unique id so the google-pay module can populate it with a Google Pay button, for example:

<div id="google-pay-button"></div>

Finally, add Google Pay functionality to your Comcarde JavaScript Client:

comcarde.client.create(
  {
    authorization: client - api - key, // your client API Key
  },
  function (clientErr, clientInstance) {
    // optionally configure other plugin modules...

    // Declare empty mutable object for the comcardeGooglePayInstance
    let comcardeGooglePay = {}

    comcarde.googlePay
      .create(
        {
          client: clientInstance,
          containerId: 'google-pay-button', // <- unique identifer of your button element
        },
        function () {
          comcardeGooglePay
            .startPaymentJourney({
              /*
               * This object describes a transaction that determines a payer's ability
               * to pay. It's used to present a payment authorization dialog.
               * Please see https://developers.google.com/pay/api/web/reference/request-objects#TransactionInfo
               * for a full description
               */
              totalPriceStatus: 'FINAL',
              totalPrice: '9.99',
              countryCode: 'GB',
              currencyCode: 'GBP',
            })
            .then(function (payload) {
              /*
               * send payload.token to your server to be used as a Google Pay payment
               * instrument in a payment request.
               */
              console.log('googlePay token: ' + payload.token)
              /*
               * payload.id contains a unique identifier for the response. This will
               * be helpful to us if you need assistance or support
               */
              console.log('googlePay tokenization trace id: ' + payload.id)
            })
            .catch(function (startPaymentJourneyError) {
              console.error(startPaymentJourneyError)
            })
        }
      )
      .then(function (comcardeGooglePayInstance) {
        /*
         * Assign the Comcarde Google Pay instance to the comcardeGooglePay variable
         * for use in the payment callback
         */
        comcardeGooglePay = comcardeGooglePayInstance
      })
      .catch(function (googlePayModuleError) {
        console.error(googlePayModuleError)
      })
  }
)

Testing Google Pay

See the Testing Google Pay page for more information on:

  • Testing against a PSP sandbox.
  • Testing against a mock sandbox.