About Google Pay
Google Pay™ is a digital wallet platform which allows Google users to pay with their devices, for in-app mobile and Web applications.
By using Google Pay SDK merchant allows user to select payment credit card among the cards that he saved in the wallet.
By using Google Pay SDK merchant allows user to select payment credit card among the cards that he saved in the wallet.
Transaction Flow
Merchant`s application offers Google Pay displaying Google Pay button. The customer selects Google Pay as a payment method
Merchant transmits data from the client-side to the server-side
Merchant initiates Google Pay API request identifying its gateway merchant ID
Merchant server-side prepares data and transmits it to the PSP (SH Start High) including the encrypted token
Payment sheet is displayed to the user and he confirms the payment
PSP sends a payment request to the appropriate acquirer
Google creates encrypted payment data using the gateway-specific key that is supplied in the Wallet request and includes it in the Google API response. The Google Pay call back returns the encrypted payment data
After receiving the payment result PSP transmits it to the merchant server result
Merchant Onboarding
Prerequisites
Please contact SH Start High PSP support to notify that you are starting Google Pay integrationprocess.
See more details according to the integration process in Google resources:
Adding Google Pay Button
Creating Google Pay Payment
While creating Google Pay payment merchant have to pass the token received by Google in the parameter “Digitalwallettoken”.
In case if received token contains 3DS cryptogram data, no additional user verification is required. If merchant received PAN_ONLY payload, he has to pass additional fields to the PSP for creating 3DS session.
Please note that API URL is unique for every merchant and will be provided by support team while integration procedure.
The list of mandatory fields for Google Pay payment:
API Examples
Innovative Technology
{
"merchantAccount": "ShStartTest0692856",
"transactionUniqueId": "b9f7780e-4190-4305-a4cb-5e996fe7d33e",
"transactionType": "SALE",
"amount": 100.00, "currency": "EUR",
"Digitalwallettoken":
"eyJzaWduYXR1cmUiOiJNRVlDSVFENGEvbkRpaUZvcUlEeGJIbVJzeXBHZWpZWG5ES3Btc0w2UWcyVlc1VFlTd0loQVBQMklyamQrNkQxTlFycFdMM1EyWmswMGIvOHVkUnkzVld0cEVhVVJFbi8iLCJpbnRlcm1lZGlhdGVTaWduaW5nS2V5Ijp7InNpZ25lZEtleSI6IntcImtleVZhbHVlXCI6XCJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVkMzFycFIvUEg1c2hsdTA1VGlDTW13emk5VVU5ajhjNHVsQlQraFY0V1BpRFo4T3Q3ZUozY0tLM1hPVytOMzdpS3ZLN0NzMmY1SkxESkpLOTBjb204UVxcdTAwM2RcXHUwMDNkXCIsXCJrZXlFeHBpcmF0aW9uXCI6XCIxNTk2NjE2OTkzMDAwXCJ9Iiwic2lnbmF0dXJlcyI6WyJNRVVDSUZxRlNlOWd1R01WKzExSFBuejdIVE9rRGRMQys4MmlJTXcyK0QyQkhWZjhBaUVBbVRsR2krMmdRRUZXbGZxSVg3N05KTEdOYm8xazkvM3pCOC9yQXo4YUtZd1x1MDAzZCJdfSwicHJvdG9jb2xWZXJzaW9uIjoiRUN2MiIsInNpZ25lZE1lc3NhZ2UiOiJ7XCJlbmNyeXB0ZWRNZXNzYWdlXCI6XCJ2WjJVVGR0VkpSeEU5SlBhSWFTMEplNTJVUVplWko3ODl3d3IyR2hXTmJ5R2ZGaDZ1OGp0TjdpMDNvV0YxRXpBSmZtM05TWm1MQ0NHN0JacVBtYmE3VEsvTzJaVUU1eldUdGgrZUlpV2pNZ0ZpbndxbTV3Rk9MYm5uc3NwdllaWGZNU1BzYm9majJhRGw1WldrMEkySldHU2pHOVhGa0tpbWdIbzU0bGlkdlpLc1liRFo3L01Ca2ZNTHZ1Nm0rd1NqS1BtVkVxSjhJYnNXTmpIdmFhVzdQbzRDM1hYT3VGbENSR1ZqeG1qY1BQcnJDZnpPbVZRUTZFMEhSdnhVOHd0SllRS0Y1UENwOHJKVlpzOEdvZkhzdk1iZ0tsMEFaQTdGV3RKaEhEekJQVGY3QjNnTzNpQ202SjlFN0RXMFBlam41cFpwN2plRFhubEVrNXlhVFkxR2NGbHNtaDYvQ3ZMbnFqRlVGb3R2ekVkaGtxNXlvR21PMktTNm9hWTk5NkR6ckd5Ti8vRnJBTVRhZm51dHByOVN2MkFVVnhCbW5XUVJVdUNVTWtEMXNPRkxqRHREMFlta2dDNnlyMHZzZmJEWng5QnU4elo1aHZKd1FFS1ArYlpSdmdOcjE2TUlrTDI1bXFJMmhOeWtwaXZsbjhkWitRdnZ5TktHakdNQmxlRXZPbjBPVFg5dTBLNnlwT3JrUDcvdmo5U045T0E1Y0NFYjdTVThSS0tPM1h6eldzOTNnbmZrZ1xcdTAwM2RcXHUwMDNkXCIsXCJlcGhlbWVyYWxQdWJsaWNLZXlcIjpcIkJIMFU2ZXZBZlk2U1F6VHpnb3dCVEN4cy9kRlN6ZGp3ZkVLbHJidVpFYlQrWStpLy9XZ2FiS2pISVB0eDM2YW5tbmxvWDRTVERTNGNFTDJqUjNWZmQyVVxcdTAwM2RcIixcInRhZ1wiOlwiMDBPQkdqTExJRVUwYlpYYitBdGxKVmVGU1AvTUJseThGZEVHbWJFRSs4b1xcdTAwM2RcIn0ifQ==",
"firstName": "John",
"lastName": "Doe",
"country": "ITA",
"userEmail": "test@gmail.com",
"userIp": "127.0.0.1",
"httpUserAgent": "Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko)Chrome\/91.0.4472.114 Safari\/537.36"
}
Response example (non-3DS payment)
{
"timestamp": 1632827809,
"transactionStatus": "CHARGED",
"reference": "7c936d6612dd3b6b1d0f12b00a97d837",
"transactionUniqueId": "b9f7780e-4190-4305-a4cb-5e996fe7d33e",
"reason": "Transaction is successful",
"code": "200",
"sessionId": "36fdb76c29f991e190ac6cde64e5b359"
}
Request example (3DS payment)
{
"merchantAccount": "ShStartTest0692856",
"transactionUniqueId": "b9f7780e-4190-4305-a4cb-5e996fe7d33e",
"transactionType": "AUTH3D",
"amount": 100.00,
"currency": "EUR",
"Digitalwallettoken":
"eyJzaWduYXR1cmUiOiJNRVlDSVFENGEvbkRpaUZvcUlEeGJIbVJzeXBHZWpZWG5ES3Btc0w2UWcyVlc1VFlTd0loQVBQMklyamQrNkQxTlFycFdMM1EyWmswMGIvOHVkUnkzVld0cEVhVVJFbi8iLCJpbnRlcm1lZGlhdGVTaWduaW5nS2V5Ijp7InNpZ25lZEtleSI6IntcImtleVZhbHVlXCI6XCJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVkMzFycFIvUEg1c2hsdTA1VGlDTW13emk5VVU5ajhjNHVsQlQraFY0V1BpRFo4T3Q3ZUozY0tLM1hPVytOMzdpS3ZLN0NzMmY1SkxESkpLOTBjb204UVxcdTAwM2RcXHUwMDNkXCIsXCJrZXlFeHBpcmF0aW9uXCI6XCIxNTk2NjE2OTkzMDAwXCJ9Iiwic2lnbmF0dXJlcyI6WyJNRVVDSUZxRlNlOWd1R01WKzExSFBuejdIVE9rRGRMQys4MmlJTXcyK0QyQkhWZjhBaUVBbVRsR2krMmdRRUZXbGZxSVg3N05KTEdOYm8xazkvM3pCOC9yQXo4YUtZd1x1MDAzZCJdfSwicHJvdG9jb2xWZXJzaW9uIjoiRUN2MiIsInNpZ25lZE1lc3NhZ2UiOiJ7XCJlbmNyeXB0ZWRNZXNzYWdlXCI6XCJ2WjJVVGR0VkpSeEU5SlBhSWFTMEplNTJVUVplWko3ODl3d3IyR2hXTmJ5R2ZGaDZ1OGp0TjdpMDNvV0YxRXpBSmZtM05TWm1MQ0NHN0JacVBtYmE3VEsvTzJaVUU1eldUdGgrZUlpV2pNZ0ZpbndxbTV3Rk9MYm5uc3NwdllaWGZNU1BzYm9majJhRGw1WldrMEkySldHU2pHOVhGa0tpbWdIbzU0bGlkdlpLc1liRFo3L01Ca2ZNTHZ1Nm0rd1NqS1BtVkVxSjhJYnNXTmpIdmFhVzdQbzRDM1hYT3VGbENSR1ZqeG1qY1BQcnJDZnpPbVZRUTZFMEhSdnhVOHd0SllRS0Y1UENwOHJKVlpzOEdvZkhzdk1iZ0tsMEFaQTdGV3RKaEhEekJQVGY3QjNnTzNpQ202SjlFN0RXMFBlam41cFpwN2plRFhubEVrNXlhVFkxR2NGbHNtaDYvQ3ZMbnFqRlVGb3R2ekVkaGtxNXlvR21PMktTNm9hWTk5NkR6ckd5Ti8vRnJBTVRhZm51dHByOVN2MkFVVnhCbW5XUVJVdUNVTWtEMXNPRkxqRHREMFlta2dDNnlyMHZzZmJEWng5QnU4elo1aHZKd1FFS1ArYlpSdmdOcjE2TUlrTDI1bXFJMmhOeWtwaXZsbjhkWitRdnZ5TktHakdNQmxlRXZPbjBPVFg5dTBLNnlwT3JrUDcvdmo5U045T0E1Y0NFYjdTVThSS0tPM1h6eldzOTNnbmZrZ1xcdTAwM2RcXHUwMDNkXCIsXCJlcGhlbWVyYWxQdWJsaWNLZXlcIjpcIkJIMFU2ZXZBZlk2U1F6VHpnb3dCVEN4cy9kRlN6ZGp3ZkVLbHJidVpFYlQrWStpLy9XZ2FiS2pISVB0eDM2YW5tbmxvWDRTVERTNGNFTDJqUjNWZmQyVVxcdTAwM2RcIixcInRhZ1wiOlwiMDBPQkdqTExJRVUwYlpYYitBdGxKVmVGU1AvTUJseThGZEVHbWJFRSs4b1xcdTAwM2RcIn0ifQ==",
"firstName": "John",
"lastName": "Doe",
"country": "ITA",
"userEmail": "test@gmail.com",
"userIp": "127.0.0.1",
"httpUserAgent": "Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko)Chrome\/91.0.4472.114 Safari\/537.36",
"3DSecure":
{
"challengeIndicator": "01",
"challengeWindowSize": "05",
"successURL": "http://www.domain.com/SuccessResponse.html",
"failURL": "http://www.domain.com/FailResponse.html",
"cancelURL": "http://www.domain.com/FailResponse.html",
"callbackUrl": "http://www.domain.com/WebhookReceive.html"
}
}
Response example (3DS payment)
{
"timestamp": 1632827809,
"transactionStatus": "AUTH_OK",
"reference": "7c936d6612dd3b6b1d0f12b00a97d837",
"transactionUniqueId": "b9f7780e-4190-4305-a4cb-5e996fe7d33e",
"reason": "Transaction Auth Ok",
"code": "200",
"sessionId": "36fdb76c29f991e190ac6cde64e5b359",
"ascUrl": "https:\/\/www.sh-pay.com\/pay\/response\/?transactionId=7c936d6612dd3b6b1d0f12b00a97d837"
}