# Google Pay Add [Google Pay](https://developers.google.com/pay/api) to Android apps for [these supported countries](https://support.google.com/pay/answer/9023773#zippy=%2Cpay-online-or-in-apps). Important The following Google Pay payments receive liability shift in SCA impacted regions: * Mastercard * Visa (where device PAN/"CRYPTOGRAM_3DS" is used) ### Get started 1. Read through the [GooglePay Overview](https://developers.google.com/pay/api/android/overview). 2. Ask your Implementation Manager to enable Google Pay. 3. Your Implementation Manager supplies you with a Gateway Merchant ID which you need to supply in your integration with Google Pay API. 4. Follow the [GooglePay tutorial](https://developers.google.com/pay/api/android/guides/tutorial) and complete the [GooglePay test checklist](https://developers.google.com/pay/api/android/guides/test-and-deploy/integration-checklist) to ensure a successful integration. Important * you must set the `allowedAuthMethods` card parameter to "CRYPTOGRAM_3DS" as described [here](https://developers.google.com/pay/api/android/reference/request-objects#CardParameters). This is to ensure only network tokens and cryptogram are passed in a tokenized card payload. This means no step-up challenge is required * to be SCA compliant, you must provide the [country code](https://developers.google.com/pay/api/android/reference/request-objects?hl=en#TransactionInfo) in your request to the Google Pay API when you process in an SCA impacted region ## Google Pay payment request Here is an example of a Google Pay authorization request. For more information on taking a Google Pay payment, take a look at our [Payments API documentation](/products/card-payments/authorize-a-payment#authorize-a-payment). `POST` your authorization request to the `customerInitiatedTransactions` action link received in your payments root response to authorize a payment. ### Authorization example request `POST` `https://try.access.worldpay-bsh.securedataplatform.com/cardPayments/customerInitiatedTransactions` { "transactionReference": "Memory265-13/08/1876", "merchant": { "entity": "default" }, "instruction": { "requestAutoSettlement": { "enabled": false }, "narrative": { "line1": "Mind Palace" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/wallet+googlepay", "walletToken": "{\"protocolVersion\":\"ECv1\",\"signature\":\"MEQCIH6Q4OwQ0jAceFEkGF0JID6sJNXxOEi4r+mA7biRxqBQAiAondqoUpU/bdsrAOpZIsrHQS9nwiiNwOrr24RyPeHA0Q\\u003d\\u003d\",\"signedMessage\":\"{\\\"tag\\\":\\\"jpGz1F1Bcoi/fCNxI9n7Qrsw7i7KHrGtTf3NrRclt+U\\\\u003d\\\",\\\"ephemeralPublicKey\\\":\\\"BJatyFvFPPD21l8/uLP46Ta1hsKHndf8Z+tAgk+DEPQgYTkhHy19cF3h/bXs0tWTmZtnNm+vlVrKbRU9K8+7cZs\\\\u003d\\\",\\\"encryptedMessage\\\":\\\"mKOoXwi8OavZ\\\"}\"}" } }, "channel": "ecom" } ### Set up repeat payments Your customer can use Google Pay to set up repeat payments (such as subscriptions). You must include the `customerAgreement` object in your [Customer Initiated Transactions](/products/card-payments/openapi/other/authorize) Google Pay request: ``` { ... "instruction": { ... "customerAgreement": { "type": "subscription", "storedCardUsage": "first" } } } ``` We convert the Google Pay encrypted payload into a Worldpay Token, which will be returned to you in the response to the above request. You may use that token to request subsequent recurring [Merchant Initiated Transactions](/products/card-payments/openapi/other/recurring). ### Google Pay payment response #### Successful payment You receive: * an HTTP code `201` * an `"outcome": "authorized"` * a `paymentInstrument` * links to [cancel](/products/card-payments/manage-payments#cancel-an-authorization), [settle](/products/card-payments/manage-payments#settle-an-authorization), [partially settle](/products/card-payments/manage-payments#partially-settle-an-authorization) or [query payment events](/products/card-payments/query-a-payment) #### Refused payment You receive: * an `"outcome": "refused"` * a [refusal code](/products/reference/refusal-response) * a `description` that gives additional context on the refusal * a `paymentInstrument` #### Example responses Successful { "outcome": "authorized", "riskFactors": [{ "risk": "notChecked", "detail": "postcode", "type": "avs" }, { "risk": "notChecked", "detail": "address", "type": "avs" } ], "scheme": { "reference": "schemeReference" }, "paymentInstrument": { "type": "card/network+masked", "cardBin": "444433", "lastFour": "1111", "tokenNumber": "444433******1111", "countryCode": "GB", "expiryDate": { "month": 2, "year": 2028 }, "cardBrand": "visa", "fundingType": "debit", "category": "consumer", "issuerName": "VALID_ISSUER", "paymentAccountReference": "somePAR" }, "_links": { "cardPayments:cancel": { "href": "https://try.access.worldpay-bsh.securedataplatform.com/payments/authorizations/cancellations/eyJrIjoiazUyOTVhMSIsImxpbmtWZXJzaW9uIjoiMy4wLjAifQ==.7uyuNo1ShOgM5rTwStg86LXzb0a2wdLW1lwX:DIQ2Ecrp4gw65VLnHmjsAVqzpa2NcwixaBb2p8R2x5NPXdRpybJ2ndKlbkNOc9gj+ruN20iaTdYqv2FNgB3ZAw3g+yyUMUlQDFD8DU++ZswXpUQe8YTBHmTP8zHQUXrSORn9IaI6kzJnMu2HWwEJOqKnWLvRCMy:fr4ptatJJrmRVON8WTjisJL:sd3TJ9uDcO:gD+q+Q01y++Mzop0k8y3bDcnNBpsG:8xf4uKGGYO3EcAWA==" }, "cardPayments:settle": { "href": "https://try.access.worldpay-bsh.securedataplatform.com/payments/settlements/full/eyJrIjoiazUyOTVhMSIsImxpbmtWZXJzaW9uIjoiMy4wLjAifQ==.7uyuNo1ShOgM5rTwStg86LXzb0a2wdLW1lwX:DIQ2Ecrp4gw65VLnHmjsAVqzpa2NcwixaBb2p8R2x5NPXdRpybJ2ndKlbkNOc9gj+ruN20iaTdYqv2FNgB3ZAw3g+yyUMUlQDFD8DU++ZswXpUQe8YTBHmTP8zHQUXrSORn9IaI6kzJnMu2HWwEJOqKnWLvRCMy:fr4ptatJJrmRVON8WTjisJL:sd3TJ9uDcO:gD+q+Q01y++Mzop0k8y3bDcnNBpsG:8xf4uKGGYO3EcAWA==" }, "cardPayments:partialSettle": { "href": "https://try.access.worldpay-bsh.securedataplatform.com/payments/settlements/partials/eyJrIjoiazUyOTVhMSIsImxpbmtWZXJzaW9uIjoiMy4wLjAifQ==.7uyuNo1ShOgM5rTwStg86LXzb0a2wdLW1lwX:DIQ2Ecrp4gw65VLnHmjsAVqzpa2NcwixaBb2p8R2x5NPXdRpybJ2ndKlbkNOc9gj+ruN20iaTdYqv2FNgB3ZAw3g+yyUMUlQDFD8DU++ZswXpUQe8YTBHmTP8zHQUXrSORn9IaI6kzJnMu2HWwEJOqKnWLvRCMy:fr4ptatJJrmRVON8WTjisJL:sd3TJ9uDcO:gD+q+Q01y++Mzop0k8y3bDcnNBpsG:8xf4uKGGYO3EcAWA==" }, "cardPayments:events": { "href": "https://try.access.worldpay-bsh.securedataplatform.com/payments/events/eyJrIjoiazUyOTVhMSIsImxpbmtWZXJzaW9uIjoiMy4wLjAifQ==.7uyuNo1ShOgM5rTwStg86LXzb0a2wdLW1lwX:DIQ2Ecrp4gw65VLnHmjsAVqzpa2NcwixaBb2p8R2x5NPXdRpybJ2ndKlbkNOc9gj+ruN20iaTdYqv2FNgB3ZAw3g+yyUMUlQDFD8DU++ZswXpUQe8YTBHmTP8zHQUXrSORn9IaI6kzJnMu2HWwEJOqKnWLvRCMy:fr4ptatJJrmRVON8WTjisJL:sd3TJ9uDcO:gD+q+Q01y++Mzop0k8y3bDcnNBpsG:8xf4uKGGYO3EcAWA==" }, "tokens:token": { "href": "https://access.worldpay-bsh.securedataplatform.com/tokens/linkData" }, "curies": [{ "name": "cardPayments", "href": "https://try.access.worldpay-bsh.securedataplatform.com/rels/payments/{rel}", "templated": true }] } } Refused { "outcome": "refused", "description": "Do not honor", "refusalCode": "83", "refusalDescription": "Fraud/Security related reasons", "riskFactors": [{ "risk": "notChecked", "detail": "postcode", "type": "avs" }, { "risk": "notChecked", "detail": "address", "type": "avs" } ], "paymentInstrument": { "type": "card/network+masked", "cardBin": "444433", "lastFour": "1111", "tokenNumber": "444433******1111", "countryCode": "GB", "expiryDate": { "month": 2, "year": 2028 }, "cardBrand": "visa", "fundingType": "debit", "category": "consumer", "issuerName": "VALID_ISSUER", "paymentAccountReference": "somePAR" } } The `paymentInstrument` includes `brand` and `fundingType`. They can have the following values: **`brand`**: * `visa` * `visaElectron` * `mastercard` * `maestro` * `amex` **`fundingType`**: * `debit` * `credit` **`paymentAccountReference`** (PAR): The payment account reference is a unique identifier associated with a specific cardholder PAN. This 29 character identification number can be used in place of sensitive customer identification fields. It can be transmitted across the payments ecosystem to facilitate customer identification. You can use the `payments:settle` action link to [settle the payment](/products/card-payments/manage-payments#settle-an-authorization) straight away. Alternatively, you can cache the response and use the link to settle the payment later.