Google Pay for Payment Setup API
Last updated: May 6, 2026
To accept Google Pay payments, you must:
- Create a payment setup.
- Update the payment setup with the Google Pay token.
- Confirm the payment.
Call the Create a payment setup endpoint.
Information
The Payment Setup API supports idempotency. You can safely retry API requests without the risk of duplicate requests.
Information
Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see API endpoints.
post
https://{prefix}.api.checkout.com/payments/setups
1{2"processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4",3"currency": "GBP",4"amount": 2000,5"reference": "ORDER_01234",6"description": "Google Pay payment",7"payment_type": "Regular",8"settings": {9"success_url": "https://example.com/payments/success",10"failure_url": "https://example.com/payments/failure"11}12}
In the request body, provide the following:
processing_channel_id– The processing channel's unique identifieramount– The payment amountcurrency– The payment currency
1{2"id": "set_rcmepwrchqab2wsergcafvijfy",3"processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4",4"amount": 2000,5"currency": "GBP",6"payment_type": "Regular",7"reference": "ORDER_01234",8"description": "Google Pay payment",9"payment_methods": {10"googlepay": {11"status": "available",12"flags": [13"token_or_token_data_required"14]15}16},17"available_payment_methods": [18"googlepay"19],20"settings": {21"success_url": "https://example.com/payments/success",22"failure_url": "https://example.com/payments/failure"23}24}
The response returns a payment_methods object, which contains the payment methods enabled on your account.
For Google Pay, payment_methods contains the following fields:
status– The status of the payment method.flags– An array of error codes or indicators that highlight missing or invalid information.
When the customer selects Google Pay as the payment method on the checkout page:
- Use the Google Pay API to collect the payment token.
- Call the Update a payment setup endpoint to submit the token. The fields you must provide depends on the token you use:
| Field | Description |
|---|---|
number | The payment amount, in the minor currency unit. |
string | Three-letter ISO 4217 currency code. |
string | The processing channel's unique identifier. |
string | The URL to redirect the customer after a failed authorization. |
string | The URL to redirect the customer after a successful authorization. |
object | The Checkout.com Google Pay token. |
string | The date and time at which the token expires. |
object | The Google Pay account holder details. |
string | The account holder's first name. |
string | The account holder's last name. |
string | The account holder's middle name. |
string | Supported values:
|
boolean | Indicates whether to perform an account name inquiry. |
object | The customer's phone number details. |
string | The international dialing code for the customer's phone number. |
string | The customer's phone number. |
boolean | Indicates whether to store the payment details for future use. |
1{2"processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4",3"currency": "GBP",4"amount": 2000,5"reference": "ORDER_01234",6"description": "Google Pay payment",7"payment_type": "Regular",8"settings": {9"success_url": "https://example.com/payments/success",10"failure_url": "https://example.com/payments/failure"11},12"payment_methods": {13"googlepay": {14"token": "tok_hilxnnylkxtutoswkxx2425lzi",15"expires_on": "2026-09-15T16:12:05Z"16}17}18}
1{2"id": "set_rcmepwrchqab2wsergcafvijfy",3"processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4",4"amount": 2000,5"currency": "GBP",6"payment_type": "Regular",7"reference": "ORDER_01234",8"description": "Google Pay payment",9"payment_methods": {10"googlepay": {11"status": "ready",12"token": "tok_hilxnnylkxtutoswkxx2425lzi",13"expires_on": "2026-09-15T16:12:05Z"14}15},16"available_payment_methods": [17"googlepay"18],19"settings": {20"success_url": "https://example.com/payments/success",21"failure_url": "https://example.com/payments/failure"22}23}
The response returns a ready status when the token has been successfully validated. The payment is ready to confirm.
When the payment status changes to ready, confirm the payment by calling the Confirm a payment setup endpoint and provide:
- The payment setup
idas the{id}path parameter. googlepayas the payment method name.
post
https://{prefix}.api.checkout.com/payments/setups/{id}/confirm/googlepay