Complete Redirect Flow
Stay organized with collections
Save and categorize content based on your preferences.
As part of a redirect payment the user will be redirected to complete a payment
in a partner's website. Once the payment is completed, the user should be
redirected back to Google via the integrator. If the payment was completed on
the issuer's portal, the user should be redirected to the integrator first,
which in turn should redirect the user to Google.
The integrator must redirect the user to callbackUrl
, which is part of the
Begin Redirect request payload. The integrator must implement an HTTPS protocol
using GET. The GET parameters, outlined in
Redirect Response Parameters, will contain
information about the completed redirect payment.
The integrator must support URL lengths of 2,048 chars. This includes the
scheme, host, port, path and parameters. All parameters will be UTF-8 encoded
prior to being URL-encoded.
Redirect Response
Here's an example of the URL to which the user will be redirected as part of the
Complete Redirect flow (also known as redirect response):
https://example.google.com/return/url?redirectRequestId=cmVxdWVzdDE&paymentIntegratorAccountId=InvisiRedirectPaymentUSA_USD&redirectResponse=VEhJU19JU19BTl9FTkNSWVBURURfUkVESVJFQ1RfUkVTUE9OU0VfUEFZTE9BRF9FWEFNUExFX1RIQVRfSVNfRU5DT0RFRF9XSVRIX2Jhc2U2NF9VUkwtU0FGRV9FTkNPRElORw==
The URL-decoded value of the redirectRequestId
parameter in this example is cmVxdWVzdDE
. The URL-decoded value of the paymentIntegratorAccountId
parameter in this example is InvisiRedirectPaymentUSA_USD
The redirectResponse
parameter is encrypted and signed using PGP
or JWE+JWS
before being base64url
-encoded.
Redirect Response Parameters
The HTTPS GET response must have the following query parameters:
Fields |
redirectRequestId
|
string
REQUIRED: The requestId sent in the
original/initiating redirect payment request. Google will verify
this matches the sent requestId , and the Complete
Redirect flow will fail if it doesn't match.
|
paymentIntegratorAccountId
|
string
REQUIRED: This is the payment integrator account
identifier that identifies contractual constraints around this
transaction.
|
redirectResponse
|
RedirectResponse
REQUIRED: The RedirectResponse
should be encrypted and signed using PGP or
JWE+JWS. Further, this value should be web-safe
base64 encoded.
|
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\u003eIn redirect payments, users complete payment on a partner site and are redirected back to Google via the integrator.\u003c/p\u003e\n"],["\u003cp\u003eIntegrators must redirect users to the \u003ccode\u003ecallbackUrl\u003c/code\u003e specified in the Begin Redirect request using an HTTPS GET request.\u003c/p\u003e\n"],["\u003cp\u003eThe redirect response includes details like \u003ccode\u003eredirectRequestId\u003c/code\u003e, \u003ccode\u003epaymentIntegratorAccountId\u003c/code\u003e, and an encrypted \u003ccode\u003eredirectResponse\u003c/code\u003e parameter.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eredirectResponse\u003c/code\u003e parameter contains information about the completed payment and is encrypted and signed using PGP or JWE+JWS before being base64url-encoded.\u003c/p\u003e\n"],["\u003cp\u003eIntegrators must support URL lengths up to 2,048 characters, including all parameters which are UTF-8 encoded before URL-encoding.\u003c/p\u003e\n"]]],["Upon payment completion on a partner's site, the user is redirected back to Google via an integrator. The integrator uses an HTTPS GET request to the `callbackUrl` with specific parameters. These include the `redirectRequestId`, `paymentIntegratorAccountId`, and an encrypted, signed, and base64url-encoded `redirectResponse`. Integrators must support URLs up to 2,048 characters and ensure all parameters are UTF-8 and URL-encoded. The parameters are used to verify the completed redirect payment and pass information to Google.\n"],null,["# Complete Redirect Flow\n\nAs part of a redirect payment the user will be redirected to complete a payment\nin a partner's website. Once the payment is completed, the user should be\nredirected back to Google via the integrator. If the payment was completed on\nthe issuer's portal, the user should be redirected to the integrator first,\nwhich in turn should redirect the user to Google.\n\nThe integrator must redirect the user to [`callbackUrl`](/standard-payments/v1/payment-integrator-hosted-api/redirect-fop-api/begin-redirect-api#redirect_request_parameters), which is part of the\n[Begin Redirect request](/standard-payments/v1/payment-integrator-hosted-api/redirect-fop-api/begin-redirect-api) payload. The integrator must implement an HTTPS protocol\nusing GET. The GET parameters, outlined in\n[Redirect Response Parameters](#redirect_response_parameters), will contain\ninformation about the completed redirect payment.\n\nThe integrator must support URL lengths of 2,048 chars. This includes the\nscheme, host, port, path and parameters. All parameters will be UTF-8 encoded\nprior to being URL-encoded.\n\nRedirect Response\n-----------------\n\nHere's an example of the URL to which the user will be redirected as part of the\nComplete Redirect flow (also known as redirect response): \n\n https://example.google.com/return/url?redirectRequestId=cmVxdWVzdDE&paymentIntegratorAccountId=InvisiRedirectPaymentUSA_USD&redirectResponse=VEhJU19JU19BTl9FTkNSWVBURURfUkVESVJFQ1RfUkVTUE9OU0VfUEFZTE9BRF9FWEFNUExFX1RIQVRfSVNfRU5DT0RFRF9XSVRIX2Jhc2U2NF9VUkwtU0FGRV9FTkNPRElORw==\n\nThe URL-decoded value of the `redirectRequestId` parameter in this example is `cmVxdWVzdDE`. The URL-decoded value of the `paymentIntegratorAccountId` parameter in this example is `InvisiRedirectPaymentUSA_USD`\n\nThe [`redirectResponse`](/standard-payments/google-redirect-fop-api-v1/v1/RedirectResponse) parameter is encrypted and signed using `PGP` or `JWE+JWS` before being `base64url`-encoded.\n\n### Redirect Response Parameters\n\nThe HTTPS GET response must have the following query parameters:\n\n| Fields ||\n|------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `redirectRequestId` | `string` **REQUIRED** : The `requestId` sent in the original/initiating redirect payment request. Google will verify this matches the sent `requestId`, and the Complete Redirect flow will fail if it doesn't match. |\n| `paymentIntegratorAccountId` | `string` **REQUIRED**: This is the payment integrator account identifier that identifies contractual constraints around this transaction. |\n| `redirectResponse` | [RedirectResponse](/standard-payments/google-redirect-fop-api-v1/v1/RedirectResponse) **REQUIRED** : The `RedirectResponse` should be encrypted and signed using **PGP** or **JWE+JWS** . Further, this value should be web-safe `base64` encoded. |"]]