Tool: create_google_pay_integration
Creates a Google Pay integration for a specific merchant. This operation requires the user to have accepted the Business Console Terms of Service and the Google Pay API Terms of Service. You do not need to preemptively check for these. If they have not been accepted, the tool call will fail and the error message will contain the specific Terms of Service URLs that need to be accepted. If this occurs, present the URLs to the user for acceptance, and instruct them to try again once accepted. Follow this sequence to interact with the user BEFORE calling the tool: 1. First, ask the user for the integration item (Only Web integration is supported for now). - Ask for the website URL. - If the integration item is App integration, ask for the Android app package name. 2. Then, ask the user for the integration type: - Tell the user to choose Gateway if they use one of our supported Payment Service Providers (PSPs: https://developers.google.com/pay/api#participating-processors), otherwise choose Direct. 3. For ALL integration types (Direct or Gateway): - Tell the user to upload screenshots (1MB max) of their buyflow integrated with the Google Pay API. Their buyflow must be reviewed and approved before they're given full production access. Examples: https://developers.google.com/pay/api/web/guides/brand-guidelines#put-it-all-together. - You MUST ask the user to provide 5 supporting screenshots. Ask for them ONE BY ONE to ensure correct mapping. Use ONLY the user-friendly enum descriptions when asking. 4. If the integration type is Direct: - You MUST ALSO ask the user to provide the PCI attestation document in PDF format. Use ONLY the user-friendly enum description when asking. 5. For each file provided, ask the user to provide the document path or name if in the current directory. Map it to the correct DocumentType and set the name field to a descriptive name (e.g., item_selection.png or pci_attestation.pdf) in the request. Do not call this tool until you have attempted to collect the required documents for the selected integration type.
The following sample demonstrate how to use curl to invoke the create_google_pay_integration MCP tool.
| Curl Request |
|---|
curl --location 'https://paydeveloper.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "create_google_pay_integration", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request message for CreateGooglePayIntegration.
CreateGooglePayIntegrationRequest
| JSON representation |
|---|
{
"merchantId": string,
"googlePayIntegration": {
object ( |
| Fields | |
|---|---|
merchantId |
Required. The merchant id of the merchant, for which to add the Google Pay integration. |
googlePayIntegration |
Required. The Google Pay integration to create. |
GooglePayIntegration
| JSON representation |
|---|
{ "integrationState": enum ( |
| Fields | |
|---|---|
integrationState |
Output only. The Google Pay integration state of the merchant. |
createTime |
Output only. When the integration resource was created. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
updateTime |
Output only. When the integration resource was last updated. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
integrationType |
Required. The integration type of the Google Pay integration. |
integrationDocuments[] |
Required. Input only. The integration documents of the Google Pay integration. |
Union field item. The integration item. One of these must be set. item can be only one of the following: |
|
webDomain |
The web domain of the merchant. |
androidAppPackage |
The Android app package name of the merchant. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos |
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
IntegrationDocument
| JSON representation |
|---|
{ "name": string, "data": string, "documentType": enum ( |
| Fields | |
|---|---|
name |
Required. The name of the document. |
data |
Required. The data of the document. A base64-encoded string. |
documentType |
Required. The type of the document. |
mimeType |
Required. The mime type of the document. |
IntegrationState
The Google Pay integration state of a merchant web domain or Android app.
| Enums | |
|---|---|
INTEGRATION_STATE_UNSPECIFIED |
The integration state is unspecified. |
NOT_STARTED |
This state is for when the Android app is associated with the developer (on Play Store) and the developer hasn't started any integration process for it. |
INCOMPLETE |
The developer hasn't submitted the integration for review yet and it's also not complete (e.g. missing supporting documents). |
READY_FOR_REVIEW |
The developer hasn't submitted the integration for review yet but it's ready for review (e.g. supporting documents have been uploaded). |
UNDER_REVIEW |
The integration enablement request is pending review by the admin. |
NEED_INFO |
The integration needs more information by gTech admin during the review. |
ACTIVE |
The integration is currently active. |
DELETED |
The integration is deleted by the merchant. |
REJECTED |
The integration is rejected. |
IntegrationType
The integration type of a Google Pay integration.
| Enums | |
|---|---|
INTEGRATION_TYPE_UNSPECIFIED |
The integration type is unspecified. |
DIRECT_INTEGRATION |
The integration type is direct integration. |
PAYMENT_SERVICE_PROVIDER |
The integration type is payment service provider. |
DocumentType
The type of a document.
| Enums | |
|---|---|
DOCUMENT_TYPE_UNSPECIFIED |
The document type is unspecified. |
ITEM_SELECTION_SCREENSHOT |
When a user is browsing an item or service. |
PRE_PURCHASE_SCREENSHOT |
When a user is ultimately ready to make a purchase. |
PAYMENT_METHOD_SCREENSHOT |
When a user selects Google Pay as their payment method. |
PAYMENT_INFO_SCREENSHOT |
When a user is shown the payment info they’ve saved to Google Pay. Tip: Android won't allow you to take a screenshot of this screen, so take a picture of the screen using another device. |
POST_PURCHASE_SCREENSHOT |
When a user has made a successful purchase. |
PCI_ATTESTATION_DOCUMENT |
PCI attestation document in PDF format. |
MimeType
The mime type of a document.
| Enums | |
|---|---|
MIME_TYPE_UNSPECIFIED |
The mime type is unspecified. |
JPEG |
The mime type is JPEG. |
PNG |
The mime type is PNG. |
WEBP |
The mime type is WEBP. |
PDF |
The mime type is PDF. |
Output Schema
Response message for CreateGooglePayIntegration.
CreateGooglePayIntegrationResponse
| JSON representation |
|---|
{
"integrationState": enum ( |
| Fields | |
|---|---|
integrationState |
The integration state of the Google Pay integration. |
IntegrationState
The Google Pay integration state of a merchant web domain or Android app.
| Enums | |
|---|---|
INTEGRATION_STATE_UNSPECIFIED |
The integration state is unspecified. |
NOT_STARTED |
This state is for when the Android app is associated with the developer (on Play Store) and the developer hasn't started any integration process for it. |
INCOMPLETE |
The developer hasn't submitted the integration for review yet and it's also not complete (e.g. missing supporting documents). |
READY_FOR_REVIEW |
The developer hasn't submitted the integration for review yet but it's ready for review (e.g. supporting documents have been uploaded). |
UNDER_REVIEW |
The integration enablement request is pending review by the admin. |
NEED_INFO |
The integration needs more information by gTech admin during the review. |
ACTIVE |
The integration is currently active. |
DELETED |
The integration is deleted by the merchant. |
REJECTED |
The integration is rejected. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌