Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space ENWORK and version Documentation

About Google Pay

What is Google Pay


Page properties
Logo
Info
Excerpt

Google Pay is the fast, simple way to pay on sites, in apps and in stores using the cards saved to your Google Account. It protects your payment info with multiple layers of security and makes it easy to send money, store tickets or cash in on rewards – all from one convenient place.

TypePayments by eWallet

 

Notice: Regarding the liability shift in case of the card processing, please contact your Acquirer directly. Because Computop Because 

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePartner-Name
PageWithExcerptWording
is not a direct contract partner, your Acquirer should specify the liability shift rules for each card brand.

PayPal payment method is only available in GooglePay Wallet via POS payment (NFC). In the context of an eCommerce GooglePay payment this variant is automatically inactive.


On this page

Table of Contents
exclude(Auf dieser Seite|In diesem Abschnitt|On this page|In this section).*

How it works

When a user taps the Google Pay payment button, they see a payment sheet. It displays the payment methods they've saved to their Google Account and optional fields such as a shipping address. Users can then select a payment method quickly and provide a shipping address if required, or they can add new information.

Notice: For further information about the button solution for Google Pay, please see https://support.computop.com/hc/en-gb/articles/4559076653970-Apple-Pay-und-Google-Pay-button-solution-PaySSL-aspx?source=search.

In-app payment

The Google Pay API enables fast, simple checkout within your app, giving you convenient access to hundreds of millions of cards saved to Google Accounts worldwide.

These above screens represent a recommended Google Pay buy flow for a shopping cart experience.

These guidelines will help you implement Google Pay within your apps: https://developers.google.com/pay/api/android/guides/brand-guidelines.


Web payment

The Google Pay API enables fast, simple checkout on your website. This provides convenient access to hundreds of millions of cards that are saved to Google Accounts worldwide.

The above screens represent a recommended Google Pay buy flow for a shopping cart experience.

These guidelines will help you reference the Google Pay brand within your websites: https://developers.google.com/pay/api/web/guides/brand-guidelines.

Step by Step Set-Up Guide

Once you have decided to support Google Pay, there is a set of steps that need to be done. This guide is applicable for both, in-app and also web payments.

1. Verify if your Acquirer supports Google Pay, for the card networks supported and support for Android device tokens.

This information will be provided by Computop support team: helpdesk@computop.com.by 

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePartner-Name
PageWithExcerptWording
support team:
Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNameHelpdesk-Name
PageWithExcerptWording
.


2. If you already do not have one, request creation of Computop of 

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePartner-Name
PageWithExcerptWording
Merchant ID, unique identifier that represents a merchant in Computop Paygate in 
Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePlatform-Name
PageWithExcerptWording
platform. You need to use Computop use 
Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePartner-Name
PageWithExcerptWording
Merchant ID also in Google Pay API.

Please contact Computop support team: helpdesk@computop.comcontact 

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePartner-Name
PageWithExcerptWording
support team:
Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNameHelpdesk-Name
PageWithExcerptWording
.


3. Integrate Google Pay API: https://developers.google.com/pay/api/.

Apps: https://developers.google.com/pay/api/android/overview 

Web: https://developers.google.com/pay/api/web/overview


a. For payment tokenization method, choose “GATEWAY”, with following values:

Code Block
const tokenizationSpecification = {
 

  type: “PAYMENT_GATEWAY”,

  parameters: {

    'gateway': 'computop',

    'gatewayMerchantId': 'yourComputopMerchantID'

  }


b. For supported payment card networks, choose the ones your acquirer is supporting:

Code Block
const allowedCardNetworks = ["AMEX", "DISCOVER", "JCB", "MASTERCARD", "VISA"];

c. The Google Pay API may return cards on file on Google.com (PAN_ONLY) and/or a device token on an Android device authenticated with a 3-D Secure cryptogram (CRYPTOGRAM_3DS).

Please make sure that you define CRYPTOGRAM_3DS only if your acquirer is supporting this functionality. Please contact Computop support team

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNameHelpdesk-Name
PageWithExcerptWording
to verify this point if needed.

Code Block
const allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"];

If you are operating in EEA region, please define CRYPTOGRAM_3DS only, as these payments are already Strong Customer Authenticated in Google Pay wallet and therefore compliant with PSD2 SCA regulation.

Note: If you receive Soft Decline in Response, you need to restart the payment with 3-D Secure authentication. 

This needs to be done by using Card Token received in Google Pay Response and following steps described in: Server-2-Server Integration 


d. In response from Google Pay API, you should receive Token similar to this:

Image Removed
Code Block
languagexml
{
 "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\"}"
}

You need to Base64 encode the whole token string and include it in Paygate in 

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePlatform-Kurz
PageWithExcerptWording
parameter TokenExt.

Process flow chart

Multiexcerpt
MultiExcerptNameProcessFlow

draw.io Diagram
bordertrue
diagramNameGoogle Pay Payment
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth1109

Google Pay process flow



Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePlatform-Kurz
PageWithExcerptWording

Paygate

interface

Multiexcerpt include
SpaceWithExcerptENWORKEN
MultiExcerptNameDefinition
PageWithExcerptDefinition EN


Calling the interface

Two transactions are created when making a credit card payment via Google Pay. In the Google Pay transaction the required credit card data are determined first and the actual credit card transaction is then carried out automatically. This takes place via a server-to-server connection and supports all usual credit card transaction options. The difference here, however, is that you don't transmit the credit card information, which you don't know. Instead, you transmit the Token generated by Google Pay, which contains the required credit card data in encrypted form.

In order to make a credit card payment with Google Pay, please use the following URL:

https://www.computop-paygate.com/googlepay.aspx

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNameBaseURL
PageWithExcerptWording
googlepay.aspx

 

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNameRequest_Intro
PageWithExcerptReuse API

Notice: For security reasons, Paygate rejects all payment requests with formatting errors. Therefore please use the correct data type for each parameter.

The following table describes the encrypted transfer parameters for Google Pay. In addition you can submit any parameters that are applicable or required for a credit card payment (without credit card data). More information about this you can find within Card processing.

Parameter

Format

CND

Description

MerchantID

ans..30

M

MerchantID, assigned by Computop. Additionally this parameter has to be passed in plain language too.

TransID

ans..64

M

TransactionID which should be unique for each payment

RefNr

ns..30

O

Unique reference number

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent)

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Currency

a3

M

Currency, three digits DIN / ISO 4217

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm

Table Filter
defaultBeschreibung
isFirstTimeEnterfalse
hideColumnstrue
sparkNameSparkline
hidePanetrue
datepatterndd M yy
id1627368754341_-1123228300
worklog365|5|8|y w d h m|y w d h m
isORAND
separatorPoint (.)
order0
Multiexcerpt
MultiExcerptNamegooglepay_request
Table Transformer
dateFormatdd M yy
export-wordfalse
show-sourcefalse
export-csvfalse
id1627368754344_34704776
transposefalse
worklog365|5|8|y w d h m|y w d h m
separator.
export-pdffalse
sqlSELECT * FROM T*

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameMerchantID_REST
pageMerchantID
typepage

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameTransID_REST
pageTransID
typepage

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameRefNr_REST
pagerefnr
typepage

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameAmount_REST
pageAmount
typepage

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameCurrency_REST
pageCurrency
typepage

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameMAC_REST
pageMAC
typepage

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameUserData_REST
pageUserData
typepage

Key

REST

Format

CND

Description

Beschreibung

UserData

ans..1024

O

If specified at request, Paygate forwards the parameter with the payment result to the shop.

RTF


a1

O

Establishment of Credential on File Agreement (Cardholder agrees that his card data can be stored for further transactions).

Einrichtung der Vereinbarung für hinterlegte Zugangsdaten (Karteninhaber stimmt zu, dass seine Kartendaten für weitere Transaktionen gespeichert werden dürfen).

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameCapture

ans..6

O

Determines the type and time of capture. AUTO: capturing immediately after authorisation (default value). MANUAL: capturing made by the merchant. <Number>: Delay in hours until the capture (whole number; 1 to 696).

OrderDesc

_REST
pageCapture
typepage

Key

REST

Format

CND

Description

Beschreibung

OrderDesc

"order": {"description": "..."}

TokenExt

ans..64

M

Description of purchased goods, unit prices etc.

URLNotify

ans..256

O

Complete URL which Paygate calls up in order to notify the shop about the payment result. The URL may be called up only via port 443. It may not contain parameters: Use the UserData parameter instead.

Beschreibung der gekauften Waren, Einzelpreise etc.

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameURLNotify_REST
pageURLNotify
typepage

Key

REST

Format

CND

Description

Beschreibung

TokenExt

"payment": {"googlePay": { "token": "..." }}

ans..1024

M

Google Pay Token as JSON string in the Base64 format

Code Block
languagexml
titleExample for TokenExt
{
 "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\"}"
}

Google Pay Token als JSON-String im Base64-Format

Code Block
languagexml
titleBeispiel für TokenExt
{
 "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\"}"
}

Channel

"channel": {"type": "..."}

a..10

O

Channel over which the order is processed.

Allowed values are WEBSITE and MOBILE_APP.

Kanal, über den die Bestellung abgewickelt wird. Erlaubt sind die Werte WEBSITE und MOBILE_APP.

Parameters for Google Pay


Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNameResponse_Intro
PageWithExcerptReuse API

Table Filter
defaultBeschreibung
isFirstTimeEnterfalse
hideColumnstrue
sparkNameSparkline
hidePanetrue
datepatterndd M yy
id1627369475780_312723625
worklog365|5|8|y w d h m|y w d h m
isORAND
separatorPoint (.)
order0
Multiexcerpt
MultiExcerptNamegooglepay_response
Table Transformer
dateFormatdd M yy
export-wordfalse
show-sourcefalse
export-csvfalse
id1627369475782_265801068
transposefalse
worklog365|5|8|y w d h m|y w d h m
separator.
export-pdffalse
sqlSELECT * FROM T*

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameMID_REST
pagemid
typepage

Key

REST

The following table describes the result parameters with which the Paygate responds to your system:

Parameter

Format

CND

Description

Beschreibung

MID

ans..30ID assigned by Paygate

M

MerchantID, assigned by Computop

PayID

an32

M

ID assigned by 

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePlatform-Kurz
PageWithExcerptWording
for the payment, e.g. for referencing in batch files

.schemeReferenceID

This ID refers to the credit card transaction unless an error occurs already at the Google Pay transaction.

XID

an32

M

ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Paygate

TransID

ans..64

M

Merchant’s transaction number

RefNr

ns..30

O

Unique reference number

UserData

ans..1024

O

If specified at request, Paygate forwards the parameter with the payment result to the shop.

Status

a..50

M

OK or FAILED

Description

ans..1024

M

Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis!

Code

n8

M

Error code according to Paygate Response Codes (A4 Error codes)

Vom 

Multiexcerpt include
SpaceWithExcerptDE
MultiExcerptNamePlatform-Kurz
PageWithExcerptDE:Wording
vergebene ID für die Zahlung, z.B. zur Referenzierung in Batch-Dateien.

Diese ID bezieht sich auf die Kreditkarten-Transaktion, es sei denn, es kommt bereits bei der Google-Pay-Transaktion zu einem Fehler.

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameXID_REST
pageXID
typepage

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameTransID_REST
pageTransID
typepage

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameRefNr_REST
pagerefnr
typepage

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameUserData_REST
pageUserData
typepage

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameStatus_OK_FAILED_REST
pageStatus
typepage

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameDescription_REST
pageDescription
typepage

Table Excerpt Include
isFirstTimeEntertrue
statictrue
v2
nameCode_REST
pageCode
typepage

Key

REST

Format

CND

Description

Beschreibung
schemeReferenceID"payment": {"schemeReferenceId": "..."}
ans..64CCard scheme specific transaction ID required for subsequent credential-on-file payments, delayed authorizations and resubmssions.Kartensystemspezifische Transaktions-ID, die für nachfolgende Zahlungen mit hinterlegten Daten, verzögerte Autorisierungen und Wiedereinreichungen erforderlich ist.

Result parameters for Google Pay


Capture / Credit / Reversal

Captures, credits and reversals do not refer to the Google Pay transaction but directly to the credit card transaction. More information about this you can find within Card processing.

Batch processing via the interface

Captures, credits and reversals via batch do not refer to the Google Pay transaction but directly to the credit card transaction. More information about this you can find within the document Card processing.