{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-documentation/get_started/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Google Pay","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"google-pay","__idx":0},"children":["Google Pay"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"overview","__idx":1},"children":["Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Google Pay"]}," allows customers to make payments using their Google account, providing a seamless and secure checkout experience. This guide provides instructions on how to integrate Google Pay into your payment form using the embedded SDK."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["It is highly recommended to have a basic understanding of how to set up the embedded SDK and create a simple checkout experience before diving into Google Pay. If you haven't already, please refer to the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/documentation/get_started/process_payments/embedded_sdk_v3/quick_start"},"children":["Quick Start Guide"]}," to get up and running with the embedded SDK."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"google-merchant-account","__idx":2},"children":["Google Merchant Account"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To process Google Pay transactions, a business typically needs a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Google Merchant Account"]}," (also called a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Google Pay Merchant ID"]},"). This account is registered with Google and contains your business identity details (name, country, banking information)."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["It also issues a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Google Merchant Identifier"]},", which is required when integrating Google Pay under your own account."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ryft makes this simpler by offering two ways to integrate Google Pay:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Option"},"children":["Option"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"How it Works"},"children":["How it Works"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Benefits"},"children":["Benefits"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Hosted"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Use Ryft's existing Google Pay merchant account. No need to register your own."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Minimal setup effort. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," Faster time to production."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Non-Hosted"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Use your own (or an existing) Google Pay merchant account."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Full control of your Google relationship. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," Portable across processors."]}]}]}]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If you choose ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Hosted"]}," (recommended for most businesses), you don't need to create or maintain a Google Pay Merchant Account — Ryft handles this for you."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If you choose ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Non-Hosted"]},", you'll need to create and manage your own account with Google, including the ongoing relationship and configuration."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We recommend using the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Hosted"]}," integration option, unless:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You already have a Google Pay Merchant Account that you want to use, or"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You have sufficient resources to manage the account and relationship with Google."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configuring-the-embedded-sdk","__idx":3},"children":["Configuring the Embedded SDK"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To enable Google Pay in your payment form, you can initialise a Google Pay component using the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["createGooglePay"]}," method provided by the embedded SDK."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"required-configuration-fields","__idx":4},"children":["Required Configuration Fields"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When configuring the Google Pay component, there are several required fields you need to provide:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["merchantName"]},": The name of the business as it should appear to customers during the Google Pay checkout process."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["merchantCountryCode"]},": The two-letter ISO country code representing the country where your business is located (e.g., \"US\" for the United States, \"GB\" for the United Kingdom)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["merchantIdentifier"]},": (Non-Hosted only) Your Google Pay Merchant Identifier, which is required if you're using your own Google Pay Merchant Account."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once the Google Pay component is configured, you can mount it to a container element in your HTML to display the Google Pay button to customers. When customers click the button, they will be guided through the Google Pay checkout process."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Here is a simple example of how to configure the embedded SDK to render the Google Pay button on your checkout page:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","data-title":"Google Pay Configuration Example","header":{"title":"Google Pay Configuration Example","controls":{"copy":{}}},"source":"// Create Google Pay instance using the default Google Pay configuration\nconst googlePay = createGooglePay(controller, {\n    merchantName: 'Fish & Chips Ltd',\n    merchantCountryCode: 'GB',\n    merchantIdentifier: '01234567890123456789',  // Only required for Non-Hosted integration\n});\n\n// Mount the google pay button to the specified container in the HTML\ngooglePay.mount(\"#google-pay-container\");\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"submitting-the-payment","__idx":5},"children":["Submitting the Payment"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When a customer clicks the Google Pay button and completes the payment process, the Google Pay component will emit a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentSessionResult"]}," event containing the result of the payment attempt. You can listen for this event to handle the payment result and submit the payment accordingly."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once this is received, you can pass the result object to a payment handling function to finalise the payment and receive the final payment result."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","data-title":"Google Pay Payment Submission Example","header":{"title":"Google Pay Payment Submission Example","controls":{"copy":{}}},"source":"googlePay.on(\"paymentSessionResult\", (event) => {\n    handlePaymentResult(event.result);\n});\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"allowing-credit-cards","__idx":6},"children":["Allowing Credit Cards"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["By default, the Google Pay integration allows customers to pay using either Debit or Credit cards. If you want to restrict payments to only Debit cards, you can set the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["allowCreditCards"]}," configuration option to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Here's an example of how to configure the embedded SDK to allow only Debit cards:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","data-title":"Google Pay Allow Only Debit Cards Example","header":{"title":"Google Pay Allow Only Debit Cards Example","controls":{"copy":{}}},"source":"const googlePay = createGooglePay(controller, {\n    merchantName: 'Fish & Chips Ltd',\n    merchantCountryCode: 'GB',\n    allowCreditCards: false, // Set to false to allow only Debit cards\n});\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"shipping-configuration","__idx":7},"children":["Shipping Configuration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If your business requires ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["shipping information"]}," for orders, you can configure the embedded SDK to collect shipping details during the Google Pay checkout process. This is done using the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["shippingConfig"]}," object, which allows you to specify the following fields:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["options"]}," (array): An array of shipping options that the customer can choose from. Each option should include:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," (string): A unique value to identify the shipping option."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["label"]}," (string): A descriptive label for the shipping option (e.g., \"Standard Shipping\", \"Express Shipping\")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["description"]}," (string): A detailed description of the shipping option."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["allowedCountryCodes"]}," (array): An array of two-letter ISO country codes representing the countries where shipping is available (e.g., [\"US\", \"GB\"]). If not specified, shipping will be available to all countries."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["phoneNumberRequired"]}," (boolean): A flag indicating whether the customer's phone number is required for shipping. Defaults to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["addressRequired"]}," (boolean): A flag indicating whether the customer's shipping address is required. Defaults to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Here's an example of how to configure the embedded SDK with shipping options for Google Pay:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","data-title":"Google Pay Shipping Configuration Example","header":{"title":"Google Pay Shipping Configuration Example","controls":{"copy":{}}},"source":"const googlePay = createGooglePay(controller, {\n    merchantName: 'Fish & Chips Ltd',\n    merchantCountryCode: 'GB',\n    shippingConfig: {\n        options: [\n            {\n                id: 'standard',\n                label: 'Standard Shipping',\n                description: '5-7 business days',\n            },\n            {\n                id: 'express',\n                label: 'Express Shipping',\n                description: '1-2 business days',\n            },\n        ],\n        allowedCountryCodes: ['US', 'CA'],\n        phoneNumberRequired: false,\n    },\n});\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When customers proceed to checkout using Google Pay, they will be presented with the shipping options you have configured. The selected shipping option and any collected shipping information will be included in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentSession"]}," object returned."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"customising-the-google-pay-experience","__idx":8},"children":["Customising the Google Pay Experience"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Ryft embedded SDK v3 offers a variety of configuration options to customise the appearance and behaviour of the Google Pay payment approach to better fit your website's design and user experience. This includes:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Button styling options: you can choose from different text and style options for the Google Pay button to match your website's branding. This can be configured using the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RyftGooglePayDisplayConfig"]}," object (see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://web-sdk.ryftpay.com/docs/web/latest/interfaces/Web_SDK.RyftGooglePayDisplayConfig.html"},"children":["here"]}," for more details)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Collecting customer information: you can configure the SDK to collect additional customer information during the Google Pay checkout process, such as email address, phone number and billing address, by setting the appropriate configuration options in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fieldCollection"]}," object (see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://web-sdk.ryftpay.com/docs/web/latest/interfaces/Web_SDK.RyftGooglePayFieldCollection.html"},"children":["here"]}," for more details)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Price status indicator: indicates whether the price is final or estimated, which can be configured using the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RyftGooglePayPriceStatus"]}," object (see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://web-sdk.ryftpay.com/docs/web/latest/types/Web_SDK.RyftGooglePayPriceStatus.html"},"children":["here"]}," for more details)."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can find more information on the available configuration options for customising the Google Pay experience in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://web-sdk.ryftpay.com/docs/web/latest/interfaces/Web_SDK.RyftGooglePayConfig.html"},"children":["RyftGooglePayConfig"]}," documentation."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"testing-google-pay","__idx":9},"children":["Testing Google Pay"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["test"]}," Google Pay transactions, you can simply use the Ryft Sandbox environment and initialise the SDK as described in this guide."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Google Pay button will be displayed in the payment form, allowing you to simulate transactions by clicking the button and selecting one of the test cards provided by Google (see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://developers.google.com/pay/api/web/guides/resources/test-card-suite"},"children":["here"]}," for a list of test cards)."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Please note that if the Google Pay button does not appear, it is likely the SDK configuration is incorrect. Double-check your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["googlePayConfig"]}," settings and ensure that ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["publicKey"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["clientSecret"]}," are set correctly."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"going-live","__idx":10},"children":["Going Live"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you choose to implement Google Pay using the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Non-Hosted"]}," option, there are some additional steps to take before ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["going live"]},":"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Obtain a production Google Merchant ID from Google (see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://developers.google.com/pay/api/web/guides/test-and-deploy/deploy-production-environment#obtain-your-merchantID"},"children":["here"]}," for more details)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Request production access from Google (see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://developers.google.com/pay/api/web/guides/test-and-deploy/request-prod-access"},"children":["here"]}," for more details)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Complete the steps outlined in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://developers.google.com/pay/api/web/guides/test-and-deploy/deploy-production-environment"},"children":["Deploy to Production"]}," guide provided by Google."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If using the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Hosted"]}," option, no additional steps are required to go live, as Ryft manages the Google Pay Merchant Account on your behalf."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"complete-example","__idx":11},"children":["Complete Example"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following is a complete working example that combines:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["all the features covered in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/documentation/get_started/process_payments/embedded_sdk_v3/quick_start#complete-example"},"children":["Quick Start"]}," guide"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Google Pay integration with the Hosted option"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Google Pay shipping configuration"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Google Pay payment submission handling"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"html","data-title":"Complete Google Pay Integration Example","header":{"title":"Complete Google Pay Integration Example","controls":{"copy":{}}},"source":"<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Ryft Card Form</title>\n\n    <!-- Only if using the script tag method to install the SDK -->\n    <script src=\"https://web-sdk.ryftpay.com/embedded/latest/ryft.min.js\"></script>\n</head>\n\n<body>\n\n    <div class=\"Ryft--paysection\">\n        <form id=\"ryft-pay-form\" class=\"Ryft--payform\">\n            <div id=\"google-pay-container\"></div>\n            <div id=\"ryft-pay-error\"></div>\n        </form>\n    </div>\n\n    <script type=\"module\">\n        import { createController, createGooglePay } from '@ryftpay/web';  // If using npm to install the SDK\n        // const { createController, createGooglePay } = window.Ryft;  // If using the script tag method to install the SDK\n\n        // // Returned when creating a Payment Session\n        const clientSecret = \"\";\n        // Available in the Ryft Portal\n        const publicKey = \"\";\n        // The unique identifier for the Sub-Account, if using the Platform Fee model\n        const accountId = \"\";\n\n        // Get a reference to the error div\n        const errorDiv = document.getElementById(\"ryft-pay-error\");\n\n        // Initialise Controller\n        const controller = createController({\n            publicKey,\n            clientSecret,\n            // accountId  // Uncomment if using the Platform Fee model\n        });\n\n        // Create Card Form instance using the default card form configuration\n        const googlePay = createGooglePay(controller, {\n            merchantName: 'Fish & Chips Ltd',\n            merchantCountryCode: 'GB',\n            shippingConfig: {\n                options: [\n                    {\n                        id: 'standard',\n                        label: 'Standard Shipping',\n                        description: '5-7 business days',\n                    },\n                    {\n                        id: 'express',\n                        label: 'Express Shipping',\n                        description: '1-2 business days',\n                    },\n                ],\n                allowedCountryCodes: ['US', 'CA'],\n                phoneNumberRequired: false,\n            },\n        });\n\n        // Listen to validation changes to handle the payment result\n        googlePay.on(\"paymentSessionResult\", (event) => {\n            handlePaymentResult(event.result);\n        });\n\n        // Handle the payment result after attempting payment\n        function handlePaymentResult(result) {\n            const session = result.paymentSession;\n\n            // Check the payment session status to determine the outcome of the payment\n            // If the status is Approved or Captured, the payment was successful\n            if (session.status === \"Approved\" || session.status === \"Captured\") {\n                console.log(\"Payment Successful\", session);\n                errorDiv.innerHTML = \"<p style='color: green;'>Payment Successful!</p>\";\n                return;\n            }\n\n            // If there is a lastError, display the error message to the user and log the error for debugging\n            if (session.lastError) {\n                const lastError = session.lastError;\n                const message = resut.userFacingErrorMessage;\n                console.error(\"Payment Error\", lastError);\n                errorDiv.innerHTML = `<p style='color: red;'>${message}</p>`;\n            }\n        }\n\n        // Mount the google pay button to the specified container in the HTML\n        googlePay.mount(\"#google-pay-container\");\n\n    </script>\n\n</body>\n\n</html>\n","lang":"html"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"next-steps","__idx":12},"children":["Next Steps"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Now that you have successfully integrated Google Pay into your checkout experience, you can explore additional features and configurations to further customize the payment experience for your customers."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Recommended next steps include:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Refer to the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://web-sdk.ryftpay.com/docs/web/latest/documents/google-pay.html"},"children":["Google Pay documentation page"]}," for more examples and detailed information on the available configuration options for Google Pay."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Using the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkout"]}," component to easily enable multiple payment methods and additional features all in a single component. You can refer to the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://web-sdk.ryftpay.com/docs/web/latest/documents/checkout.html"},"children":["Checkout Component"]}," page for more details."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Handling SDK errors: Implement comprehensive error handling to manage different types of errors that may occur during the payment process, such as validation errors, network issues, or unexpected system errors. This will help you provide a better user experience and ensure that customers are informed about any issues that arise during checkout. You can refer to the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/documentation/get_started/process_payments/sdk_errors"},"children":["SDK Errors"]}," page for best practices and examples on how to implement effective error handling in your integration."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Webhook handling: Set up webhooks to receive real-time notifications about payment events, such as successful payments, refunds, or chargebacks. This allows you to automate order fulfillment, update inventory, and keep customers informed about their transactions. You can refer to the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/documentation/get_started/webhooks"},"children":["Webhooks documentation"]}," for more details on how to set up and manage webhooks with Ryft."]}]}]},"headings":[{"value":"Google Pay","id":"google-pay","depth":1},{"value":"Overview","id":"overview","depth":2},{"value":"Google Merchant Account","id":"google-merchant-account","depth":2},{"value":"Configuring the Embedded SDK","id":"configuring-the-embedded-sdk","depth":2},{"value":"Required Configuration Fields","id":"required-configuration-fields","depth":3},{"value":"Submitting the Payment","id":"submitting-the-payment","depth":3},{"value":"Allowing Credit Cards","id":"allowing-credit-cards","depth":2},{"value":"Shipping Configuration","id":"shipping-configuration","depth":2},{"value":"Customising the Google Pay Experience","id":"customising-the-google-pay-experience","depth":2},{"value":"Testing Google Pay","id":"testing-google-pay","depth":2},{"value":"Going Live","id":"going-live","depth":2},{"value":"Complete Example","id":"complete-example","depth":2},{"value":"Next Steps","id":"next-steps","depth":2}],"frontmatter":{"seo":{"title":"Google Pay"}},"lastModified":"2026-03-16T15:28:52.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/documentation/get_started/process_payments/embedded_sdk_v3/google_pay","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}