Purchase flow
Stay organized with collections
Save and categorize content based on your preferences.
Overview
Once the accounts have been associated together, the newly created instrument can be used for purchases. Purchases within Google occur in one or two modes:
- User-initiated
- System-initiated
Regardless of the mode chosen, in the typical case, the Integrator UI will not be involved in purchases.
How the flow works
The diagram below shows a user-initiated purchase.
Purchase flow-User present

The objects in the diagram include the following:
- User: This is the person who wants to purchase something through Google.
- Google UI: The interface, where the customer begins to make a purchase.
- Google Server: The backend server at Google that sends the capture command to the Payment Integrator Server.
- Payment Integrator Server: The backend server of the integrator that accepts the request for a funds capture.
In this purchase flow, the user is in session. They begin the flow by starting to purchase an item.
- The User begins to purchase an item through the Google UI.
- The purchase information is sent to the Google Server.
- Google’s Server sends the
Capture
request (GPT
, amount
) to the Payment Integrator Server.
- The Payment Integrator Server sends back a Success response to the Google Server.
- The Google Server sends back a Success response to the Google UI.
- The items are delivered to the customer.
A system-initiated flow is shown below. In this case Google’s system has initiated the payment on the user's behalf. This can happen for a variety of reasons (for example, a monthly subscription).
In this situation the user is not in session.
Purchase flow-User not present

The objects in the diagram are as follows:
- Google Server: The backend server at Google that initiates the purchase.
- Payment Integrator Server: The backend server of the integrator that accepts the request for a funds capture.
In this purchase flow, the user is not present. The Google Server initiates the purchase.
- The Google Server triggers a purchase flow with the user not in session.
- The Google Server sends a
Capture
command, including the GPT
and the amount
of purchase.
- The Payment Integrator Server replies with a message of Success.
Best practices and other considerations
The integrator and/or Google may send the user through the re-authentication flow before making a purchase due to various reasons. Some possible reasons include:
- Google's risk engine determines that a payment looks suspicious.
- Regulatory requirements demand an OTP upon every purchase.
In such cases, Google re-authenticates the user and then allows the user to complete the purchase flow. The result of the re-authentication flow is the proof of user identity and authentication. During the purchase flow, the re-authentication result is sent to the Payment Integrator along with the purchase information.
All rights reserved. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-09-03 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-09-03 UTC."],[[["\u003cp\u003eAfter associating accounts, the newly created instrument can be used for user-initiated or system-initiated purchases within Google.\u003c/p\u003e\n"],["\u003cp\u003ePurchases typically do not involve the Integrator UI and are handled through communication between Google's server and the Payment Integrator Server.\u003c/p\u003e\n"],["\u003cp\u003eGoogle may require user re-authentication before a purchase due to risk assessment or regulatory requirements.\u003c/p\u003e\n"],["\u003cp\u003eSystem-initiated purchases occur without the user present and are triggered by Google's server for reasons like recurring subscriptions.\u003c/p\u003e\n"],["\u003cp\u003eThe purchase flow involves sending a \u003ccode\u003eCapture\u003c/code\u003e command with the Google Payment Token (GPT) and purchase amount to the Payment Integrator Server for processing.\u003c/p\u003e\n"]]],["Purchases occur as user-initiated or system-initiated. User-initiated purchases involve the user, Google UI, Google Server, and Payment Integrator Server. The user starts a purchase, and Google's Server sends a `Capture` request to the Payment Integrator Server, which then sends back a Success response. System-initiated purchases, where the user is not present, involve only the Google and Payment Integrator Servers; Google initiates the purchase and sends a `Capture` request, receiving a Success response. Re-authentication may occur if Google's risk engine flags a purchase as suspicious or if regulatory requirements demand it.\n"],null,["# Purchase flow\n\nOverview\n--------\n\nOnce the accounts have been associated together, the newly created instrument can be used for purchases. Purchases within Google occur in one or two modes:\n\n- User-initiated\n- System-initiated\n\nRegardless of the mode chosen, in the typical case, the Integrator UI will not be involved in purchases.\n\nHow the flow works\n------------------\n\nThe diagram below shows a user-initiated purchase.\n\n### Purchase flow-User present\n\nThe objects in the diagram include the following:\n\n- **User**: This is the person who wants to purchase something through Google.\n- **Google UI**: The interface, where the customer begins to make a purchase.\n- **Google Server**: The backend server at Google that sends the capture command to the Payment Integrator Server.\n- **Payment Integrator Server**: The backend server of the integrator that accepts the request for a funds capture.\n\nIn this purchase flow, the user is in session. They begin the flow by starting to purchase an item.\n\n1. The User begins to purchase an item through the Google UI.\n2. The purchase information is sent to the Google Server.\n3. Google's Server sends the [`Capture`](/standard-payments/payment-processor-service-api/v1/TopLevel/capture) request (`GPT`, `amount`) to the Payment Integrator Server.\n4. The Payment Integrator Server sends back a Success response to the Google Server.\n5. The Google Server sends back a Success response to the Google UI.\n6. The items are delivered to the customer.\n\nA system-initiated flow is shown below. In this case Google's system has initiated the payment on the user's behalf. This can happen for a variety of reasons (for example, a monthly subscription).\n\nIn this situation the user is not in session.\n\n### Purchase flow-User not present\n\nThe objects in the diagram are as follows:\n\n- **Google Server**: The backend server at Google that initiates the purchase.\n- **Payment Integrator Server**: The backend server of the integrator that accepts the request for a funds capture.\n\nIn this purchase flow, the user is not present. The Google Server initiates the purchase.\n\n1. The Google Server triggers a purchase flow with the user not in session.\n2. The Google Server sends a `Capture` command, including the `GPT` and the `amount` of purchase.\n3. The Payment Integrator Server replies with a message of Success.\n\nBest practices and other considerations\n---------------------------------------\n\nThe integrator and/or Google may send the user through the re-authentication flow before making a purchase due to various reasons. Some possible reasons include:\n\n1. Google's risk engine determines that a payment looks suspicious.\n2. Regulatory requirements demand an OTP upon every purchase.\n\nIn such cases, Google [re-authenticates](/standard-payments/concepts/tokenized_fop/authentication-flow#authentication_and_re-authentication) the user and then allows the user to complete the purchase flow. The result of the re-authentication flow is the proof of user identity and authentication. During the purchase flow, the re-authentication result is sent to the Payment Integrator along with the purchase information."]]