Google Pay Payments
Take a payment with a Google Pay payment method — authorised and captured in one step.
When using Your Payment Page
Use our payments API to make payments with Google Pay payment methods. You will first need to integrate with Google to retrieve the payment method data. See Getting started with Google Pay for more details.
The payment endpoint
Send the payment to POST /acceptor/rest/transactions/{instId}/payment, with the payment method data Google returned — or a saved account token — in paymentMethod.googlepay. The full request and response definition is on Cards API endpoints.
The response depends on the authorisation method of the payment method your customer chose, which you do not know when you send the request, so you should handle both of the flows below.
Non-tokenized cards and 3-D Secure
A non-tokenized card payment method (PAN_ONLY) has had no Strong Customer Authentication (SCA) performed on it, so the payment goes through 3-D Secure on our platform: the response suspends the transaction with the data your customer needs to be challenged with, and you resume it once they have been authenticated. That round trip is the same as it is for a card payment — see 3D Secure for the request and response of each stage.
Your merchant account must be configured for 3-D Secure to process payment methods of this type.
Android device tokens
An Android device token (CRYPTOGRAM_3DS) is already authenticated with a 3-D Secure cryptogram, so the payment is authorised in a single request with no challenge.
Process Android device token payment
POST /acceptor/rest/transactions/{instId}/payment{
"transaction" : {
"currency" : "GBP",
"amount" : 1000.0,
"description" : "Sample Transaction",
"merchantRef" : "mer_txn_1234556",
"commerceType" : "ECOM"
},
"paymentMethod" : {
"googlepay" : {
"apiVersion" : "2.0",
"paymentData" : {
"token" : "{\"signature\":\"MEQCIC6X7dBK/aDqzbV+kfAgr6zDWkvBOco2eVIvtE8uywC0AiBcuh9IU2zTvzpvka2EJb1RzTlC7hKsDYUCsE8mLnP46A\\u003d\\u003d\",\"intermediateSigningKey\":{\"signedKey\":\"{\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3ylg/VC+JOe89+7X3sRmVQyP1tnQ78ZeRzAQFfjk8+1Tenx8i0BQBh/L6E0eMtIsbaYpY9ADz5k3bOOQyUmOtg\\\\u003d\\\\u003d\\\",\\\"keyExpiration\\\":\\\"1621652902428\\\"}\",\"signatures\":[\"MEYCIQD3km1nISvDudS/yo9SdLgrRSYO/ZO35/7NBla+IjRyngIhAPg3Dyei0aEPlXuPOa1e674Y7pZLZPmPC67B/4TciB3c\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"tOWWejMA9w04BOOtfrI0zSQIJlMj4mu77+6yWDeqzYuU7SXQ+bB02DJoyIpByScqj27W6s8SqaLXDwgrZaUsHrevq5Ae8oTbJla/R9HthZhXsT2yM+e2dFfqxNnqngc2lfjusz4YvFu2Kx7P6leKZ96YRUFEdy1y9gtf2d9Jv0KZrOMh7+cuVDfdy84t1R4ay//dthPDeEffu7QeFhGFoaotctzRcWGeFKojfS1cYVJrljZNzvbd/1RbnuEIvuXOKwmrW/AQI9Cbxu9SIVVA6ZnyYGC/ultNqnsMerXLVCJYPyGYS3eOxp1S+YdBNZ0sXtLfzRBOgQeO3J/PQ75oX6h5Vs3IFx63eESeUfgRfoyKCdW6hLSx6sheBSrnSAzWAhzN7T1JZ3AH8T+RxMPDivUGkzjSJWSgmPmiURWAODLBI5Ls9/X/dK7Rm5w3KrtIoz64+2ap5Rn57sCf8Z/Dq4WUa1w4qNbas9A5yp0Ch91d6AMVB+pZg3vSQWUiwDBDET3owvwx/wLGj3fUZCN4pH6WR5ePIhDAuknLZDpkO8s4rSocIJVxZrG60Iy0nPJkQvwZ\\\",\\\"ephemeralPublicKey\\\":\\\"BEhJT8grtFPE4XXuQ0Y7KPZgV7SDL4VPNnEySFcgBjIR4bXTrlo84zLMmDE2tI8tYqHbEt50weOZrySJvKjnqtU\\\\u003d\\\",\\\"tag\\\":\\\"Q3AYAE65qbrbFJzN83tAU2R6slXvRqxn8/sOcVyYswc\\\\u003d\\\"}\"}"
},
"paymentMethod" : {
"displayName" : "Visa •••• 2222",
"network" : "VISA",
"details" : "2222",
"cardHolderName" : "Mr Test"
}
}
},
"customer" : {
"merchantRef" : "mer_cust_131241412",
"displayName" : "Mr Test",
"billingAddress" : {
"line1" : "1 Some Street",
"city" : "Metropolis",
"postcode" : "AA1 1AA",
"countryCode" : "GBR"
},
"email" : "[email protected]",
"dateOfBirth" : "1995-11-20",
"telephone" : "0123 456 789",
"defaultCurrency" : "GBP",
"ip" : "212.58.253.67"
}
}curl -X POST "{targetEnvironmentPath}/acceptor/rest/transactions/{instId}/payment" \
-u "{apiUser}:{apiPassword}" \
-H "Content-Type: application/json" \
-d '{
"transaction" : {
"currency" : "GBP",
"amount" : 1000.0,
"description" : "Sample Transaction",
"merchantRef" : "mer_txn_1234556",
"commerceType" : "ECOM"
},
"paymentMethod" : {
"googlepay" : {
"apiVersion" : "2.0",
"paymentData" : {
"token" : "{\"signature\":\"MEQCIC6X7dBK/aDqzbV+kfAgr6zDWkvBOco2eVIvtE8uywC0AiBcuh9IU2zTvzpvka2EJb1RzTlC7hKsDYUCsE8mLnP46A\\u003d\\u003d\",\"intermediateSigningKey\":{\"signedKey\":\"{\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3ylg/VC+JOe89+7X3sRmVQyP1tnQ78ZeRzAQFfjk8+1Tenx8i0BQBh/L6E0eMtIsbaYpY9ADz5k3bOOQyUmOtg\\\\u003d\\\\u003d\\\",\\\"keyExpiration\\\":\\\"1621652902428\\\"}\",\"signatures\":[\"MEYCIQD3km1nISvDudS/yo9SdLgrRSYO/ZO35/7NBla+IjRyngIhAPg3Dyei0aEPlXuPOa1e674Y7pZLZPmPC67B/4TciB3c\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"tOWWejMA9w04BOOtfrI0zSQIJlMj4mu77+6yWDeqzYuU7SXQ+bB02DJoyIpByScqj27W6s8SqaLXDwgrZaUsHrevq5Ae8oTbJla/R9HthZhXsT2yM+e2dFfqxNnqngc2lfjusz4YvFu2Kx7P6leKZ96YRUFEdy1y9gtf2d9Jv0KZrOMh7+cuVDfdy84t1R4ay//dthPDeEffu7QeFhGFoaotctzRcWGeFKojfS1cYVJrljZNzvbd/1RbnuEIvuXOKwmrW/AQI9Cbxu9SIVVA6ZnyYGC/ultNqnsMerXLVCJYPyGYS3eOxp1S+YdBNZ0sXtLfzRBOgQeO3J/PQ75oX6h5Vs3IFx63eESeUfgRfoyKCdW6hLSx6sheBSrnSAzWAhzN7T1JZ3AH8T+RxMPDivUGkzjSJWSgmPmiURWAODLBI5Ls9/X/dK7Rm5w3KrtIoz64+2ap5Rn57sCf8Z/Dq4WUa1w4qNbas9A5yp0Ch91d6AMVB+pZg3vSQWUiwDBDET3owvwx/wLGj3fUZCN4pH6WR5ePIhDAuknLZDpkO8s4rSocIJVxZrG60Iy0nPJkQvwZ\\\",\\\"ephemeralPublicKey\\\":\\\"BEhJT8grtFPE4XXuQ0Y7KPZgV7SDL4VPNnEySFcgBjIR4bXTrlo84zLMmDE2tI8tYqHbEt50weOZrySJvKjnqtU\\\\u003d\\\",\\\"tag\\\":\\\"Q3AYAE65qbrbFJzN83tAU2R6slXvRqxn8/sOcVyYswc\\\\u003d\\\"}\"}"
},
"paymentMethod" : {
"displayName" : "Visa •••• 2222",
"network" : "VISA",
"details" : "2222",
"cardHolderName" : "Mr Test"
}
}
},
"customer" : {
"merchantRef" : "mer_cust_131241412",
"displayName" : "Mr Test",
"billingAddress" : {
"line1" : "1 Some Street",
"city" : "Metropolis",
"postcode" : "AA1 1AA",
"countryCode" : "GBR"
},
"email" : "[email protected]",
"dateOfBirth" : "1995-11-20",
"telephone" : "0123 456 789",
"defaultCurrency" : "GBP",
"ip" : "212.58.253.67"
}
}'HTTP/1.1 201
{
"processing" : {
"model" : "MANAGE",
"authResponse" : {
"acquirerName" : "Chase Paymentech",
"gatewayReference" : "110gbp9421da9ad74aa0aACee1000z00",
"gatewayCode" : "000.000.000",
"gatewayMessage" : "Transaction succeeded",
"status" : "AUTHORISED"
},
"route" : "PAYON"
},
"paymentMethod" : {
"registered" : true,
"googlepay" : {
"displayName" : "Visa •••• 2222",
"cardScheme" : "VISA",
"savedAccountToken" : "MT_QR7nYNupRz-bpKFDt1pFSA",
"cardDetails" : "2222",
"cardHolderName" : "Mr Test"
},
"billingAddress" : { },
"paymentClass" : "CARD",
"reuse" : {
"storage" : "NEW",
"agreement" : "ADHOC",
"receivedSchemeReference" : "110gbp9421da9ad74aa0aACee1000z00"
}
},
"customFields" : {
"fieldState" : [ ]
},
"customer" : {
"id" : "10503",
"merchantRef" : "mer_cust_131241412"
},
"transaction" : {
"transactionId" : "13770307916",
"merchantRef" : "mer_txn_1234556",
"merchantDescription" : "Sample Transaction",
"status" : "SUCCESS",
"stage" : "COMPLETE",
"type" : "PAYMENT",
"amount" : 1000.00,
"consumerSpend" : 1000.00,
"currency" : "GBP",
"transactionTime" : "2021-05-14T10:29:20.910+01:00",
"receivedTime" : "2021-05-14T10:29:20.910+01:00",
"customerInitiated" : true
},
"outcome" : {
"status" : "SUCCESS",
"reasonCode" : "S100",
"reasonMessage" : "Authorised"
},
"trace" : "T5Pmj1c-uQgxRMa-gl-z3ZQ",
"link" : [ {
"rel" : "transaction",
"href" : "https://secure.mite.pay360.com/acceptor/rest/transactions/111111/13770307916"
} ]
}Saved account token payments
Where the payment method was registered on an earlier transaction you can send its saved account token instead of the Google Pay payment data. The request is the same for both authorisation methods; the response carries only the data relevant to the one the token came from.
Process a saved account token payment from a Google Pay non-tokenized card payment method (FPAN)
POST /acceptor/rest/transactions/{instId}/payment{
"transaction" : {
"currency" : "GBP",
"amount" : 1000.0,
"description" : "Sample Transaction",
"merchantRef" : "mer_txn_1234556",
"commerceType" : "ECOM"
},
"paymentMethod" : {
"googlepay" : {
"savedAccountToken" : "MT_KzyCn12bSmSAa5JUPx8zhw"
}
},
"customer" : {
"merchantRef" : "mer_cust_131241412",
"displayName" : "John Smith",
"billingAddress" : {
"line1" : "1 Some Street",
"city" : "Metropolis",
"postcode" : "AA1 1AA",
"countryCode" : "GBR"
},
"email" : "[email protected]",
"dateOfBirth" : "1995-11-20",
"telephone" : "0123 456 789",
"defaultCurrency" : "GBP",
"ip" : "212.58.253.67"
}
}curl -X POST "{targetEnvironmentPath}/acceptor/rest/transactions/{instId}/payment" \
-u "{apiUser}:{apiPassword}" \
-H "Content-Type: application/json" \
-d '{
"transaction" : {
"currency" : "GBP",
"amount" : 1000.0,
"description" : "Sample Transaction",
"merchantRef" : "mer_txn_1234556",
"commerceType" : "ECOM"
},
"paymentMethod" : {
"googlepay" : {
"savedAccountToken" : "MT_KzyCn12bSmSAa5JUPx8zhw"
}
},
"customer" : {
"merchantRef" : "mer_cust_131241412",
"displayName" : "John Smith",
"billingAddress" : {
"line1" : "1 Some Street",
"city" : "Metropolis",
"postcode" : "AA1 1AA",
"countryCode" : "GBR"
},
"email" : "[email protected]",
"dateOfBirth" : "1995-11-20",
"telephone" : "0123 456 789",
"defaultCurrency" : "GBP",
"ip" : "212.58.253.67"
}
}'HTTP/1.1 201
{
"processing" : {
"model" : "MANAGE",
"authResponse" : {
"acquirerName" : "Chase Paymentech",
"gatewayReference" : "110gbpfa70a8f27e1b550ACee1000z00",
"gatewayCode" : "000.000.000",
"gatewayMessage" : "Transaction succeeded",
"status" : "AUTHORISED"
},
"route" : "PAYON"
},
"paymentMethod" : {
"registered" : true,
"card" : {
"cardToken" : "MT_KzyCn12bSmSAa5JUPx8zhw",
"cardFingerprint" : "Q1MtNjNkYTQ2ZWItZjMxOS00NzE2LThmODQtMjZkZDUwZjE5NjA3",
"new" : false,
"cardType" : "VISA_CREDIT",
"cardUsageType" : "CREDIT",
"cardScheme" : "VISA",
"cardCategory" : "CREDIT",
"maskedPan" : "411111******1111",
"expiryDate" : "1226",
"issuer" : "UNKNOWN",
"issuerCountry" : "GBR",
"cardHolderName" : "Mr Test",
"source" : "GOOGLEPAY"
},
"billingAddress" : { },
"paymentClass" : "CARD",
"reuse" : {
"storage" : "EXISTING",
"agreement" : "ADHOC",
"originalSchemeReference" : "100gbpf39a2c237254943ACee1000z00",
"receivedSchemeReference" : "110gbpfa70a8f27e1b550ACee1000z00"
}
},
"customFields" : {
"fieldState" : [ ]
},
"customer" : {
"id" : "10503",
"merchantRef" : "mer_cust_131241412"
},
"transaction" : {
"transactionId" : "13770307926",
"merchantRef" : "mer_txn_1234556",
"merchantDescription" : "Sample Transaction",
"status" : "SUCCESS",
"stage" : "COMPLETE",
"type" : "PAYMENT",
"amount" : 1000.00,
"consumerSpend" : 1000.00,
"currency" : "GBP",
"transactionTime" : "2021-05-17T16:59:02.793+01:00",
"receivedTime" : "2021-05-17T16:59:02.793+01:00",
"customerInitiated" : true
},
"outcome" : {
"status" : "SUCCESS",
"reasonCode" : "S100",
"reasonMessage" : "Authorised"
},
"trace" : "TKjPYdxgebC1Qcx1UmpAaZQ",
"link" : [ {
"rel" : "transaction",
"href" : "https://secure.mite.pay360.com/acceptor/rest/transactions/111111/13770307926"
} ]
}Process a saved account token payment from a Google Pay Android device token payment method (DPAN)
POST /acceptor/rest/transactions/{instId}/payment{
"transaction" : {
"currency" : "GBP",
"amount" : 1000.0,
"description" : "Sample Transaction",
"merchantRef" : "mer_txn_1234556",
"commerceType" : "ECOM"
},
"paymentMethod" : {
"googlepay" : {
"savedAccountToken" : "MT_qRUctdGGQ6GYOoBUpOWUeQ"
}
},
"customer" : {
"merchantRef" : "mer_cust_131241412",
"displayName" : "John Smith",
"billingAddress" : {
"line1" : "1 Some Street",
"city" : "Metropolis",
"postcode" : "AA1 1AA",
"countryCode" : "GBR"
},
"email" : "[email protected]",
"dateOfBirth" : "1995-11-20",
"telephone" : "0123 456 789",
"defaultCurrency" : "GBP",
"ip" : "212.58.253.67"
}
}curl -X POST "{targetEnvironmentPath}/acceptor/rest/transactions/{instId}/payment" \
-u "{apiUser}:{apiPassword}" \
-H "Content-Type: application/json" \
-d '{
"transaction" : {
"currency" : "GBP",
"amount" : 1000.0,
"description" : "Sample Transaction",
"merchantRef" : "mer_txn_1234556",
"commerceType" : "ECOM"
},
"paymentMethod" : {
"googlepay" : {
"savedAccountToken" : "MT_qRUctdGGQ6GYOoBUpOWUeQ"
}
},
"customer" : {
"merchantRef" : "mer_cust_131241412",
"displayName" : "John Smith",
"billingAddress" : {
"line1" : "1 Some Street",
"city" : "Metropolis",
"postcode" : "AA1 1AA",
"countryCode" : "GBR"
},
"email" : "[email protected]",
"dateOfBirth" : "1995-11-20",
"telephone" : "0123 456 789",
"defaultCurrency" : "GBP",
"ip" : "212.58.253.67"
}
}'HTTP/1.1 201
{
"processing" : {
"model" : "MANAGE",
"authResponse" : {
"acquirerName" : "Chase Paymentech",
"gatewayReference" : "110gbpb2cf70be4eebf3bACee1000z00",
"gatewayCode" : "000.000.000",
"gatewayMessage" : "Transaction succeeded",
"status" : "AUTHORISED"
},
"route" : "PAYON"
},
"paymentMethod" : {
"registered" : true,
"googlepay" : {
"displayName" : "Visa •••• 2222",
"savedAccountToken" : "MT_qRUctdGGQ6GYOoBUpOWUeQ",
"cardHolderName" : "Mr Card Holder"
},
"billingAddress" : { },
"paymentClass" : "CARD",
"reuse" : {
"storage" : "EXISTING",
"agreement" : "ADHOC",
"receivedSchemeReference" : "110gbpb2cf70be4eebf3bACee1000z00"
}
},
"customFields" : {
"fieldState" : [ ]
},
"customer" : {
"id" : "10503",
"merchantRef" : "mer_cust_131241412"
},
"transaction" : {
"transactionId" : "10910753506",
"merchantRef" : "mer_txn_1234556",
"merchantDescription" : "Sample Transaction",
"status" : "SUCCESS",
"stage" : "COMPLETE",
"type" : "PAYMENT",
"amount" : 1000.00,
"consumerSpend" : 1000.00,
"currency" : "GBP",
"transactionTime" : "2021-05-17T17:29:20.192+01:00",
"receivedTime" : "2021-05-17T17:29:20.192+01:00",
"customerInitiated" : true
},
"outcome" : {
"status" : "SUCCESS",
"reasonCode" : "S100",
"reasonMessage" : "Authorised"
},
"trace" : "TA63BsEK46fNMx_sMhNdJ8w",
"link" : [ {
"rel" : "transaction",
"href" : "https://secure.mite.pay360.com/acceptor/rest/transactions/111111/10910753506"
} ]
}When using the PaySuite Payment Page
The PaySuite Payment Page has an integration to the Google Pay JavaScript API so you will not need to integrate directly with Google.
Using Google Pay on the PaySuite Payment Page is no different from using it for regular card payments; as long as your account is configured for Google Pay then you should see Google Pay as a payment option. See Take a Payment for full details and example requests.