CINXE.COM
Tutorial | Google Pay API | Google for Developers
<!doctype html> <html lang="en" dir="ltr"> <head> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award"> <meta property="og:site_name" content="Google for Developers"> <meta property="og:type" content="website"><meta name="theme-color" content="#1a73e8"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/_pwa/developers/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.com" crossorigin> <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/favicon-new.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/touchicon-180-new.png"><link rel="canonical" href="https://developers.google.com/pay/api/web/guides/tutorial"><link rel="search" type="application/opensearchdescription+xml" title="Google for Developers" href="https://developers.google.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://developers.google.com/pay/api/web/guides/tutorial" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/pay/api/web/guides/tutorial" /><link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/pay/api/web/guides/tutorial?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/pay/api/web/guides/tutorial?hl=zh-tw" /><link rel="alternate" hreflang="ja" href="https://developers.google.com/pay/api/web/guides/tutorial?hl=ja" /><link rel="alternate" hreflang="ko" href="https://developers.google.com/pay/api/web/guides/tutorial?hl=ko" /><link rel="alternate" hreflang="pl" href="https://developers.google.com/pay/api/web/guides/tutorial?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/pay/api/web/guides/tutorial?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://developers.google.com/pay/api/web/guides/tutorial?hl=ru" /><title>Tutorial | Google Pay API | Google for Developers</title> <meta property="og:title" content="Tutorial | Google Pay API | Google for Developers"><meta property="og:url" content="https://developers.google.com/pay/api/web/guides/tutorial"><meta property="og:image" content="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/opengraph/google-blue.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="675"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Tutorial" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Google Pay", "item": "https://developers.google.com/pay" },{ "@type": "ListItem", "position": 2, "name": "Google Pay for Payments", "item": "https://developers.google.com/pay/api" },{ "@type": "ListItem", "position": 3, "name": "Web", "item": "https://developers.google.com/pay/api/web" },{ "@type": "ListItem", "position": 4, "name": "Tutorial", "item": "https://developers.google.com/pay/api/web/guides/tutorial" }] } </script> <!-- Define name of title that you must set in the files that use this template --> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="google-blue" type="article" layout="docs" concierge='closed' display-toc pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <a href="#main-content" class="skip-link button"> Skip to main content </a> <section class="devsite-wrapper"> <devsite-cookie-notification-bar></devsite-cookie-notification-bar><devsite-header role="banner"> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="https://developers.google.com/pay" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google Pay" > <svg class="devsite-google-wordmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 148 48"> <title>Google</title> <path class="devsite-google-wordmark-svg-path" d="M19.58,37.65c-9.87,0-18.17-8.04-18.17-17.91c0-9.87,8.3-17.91,18.17-17.91c5.46,0,9.35,2.14,12.27,4.94l-3.45,3.45c-2.1-1.97-4.93-3.49-8.82-3.49c-7.21,0-12.84,5.81-12.84,13.02c0,7.21,5.64,13.02,12.84,13.02c4.67,0,7.34-1.88,9.04-3.58c1.4-1.4,2.32-3.41,2.66-6.16H19.58v-4.89h16.47c0.18,0.87,0.26,1.92,0.26,3.06c0,3.67-1.01,8.21-4.24,11.44C28.93,35.9,24.91,37.65,19.58,37.65z M61.78,26.12c0,6.64-5.1,11.53-11.36,11.53s-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53S61.78,19.43,61.78,26.12z M56.8,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C53.84,33.11,56.8,30.22,56.8,26.12z M87.25,26.12c0,6.64-5.1,11.53-11.36,11.53c-6.26,0-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53C82.15,14.59,87.25,19.43,87.25,26.12zM82.28,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C79.32,33.11,82.28,30.22,82.28,26.12z M112.09,15.29v20.7c0,8.52-5.02,12.01-10.96,12.01c-5.59,0-8.95-3.76-10.22-6.81l4.41-1.83c0.79,1.88,2.71,4.1,5.81,4.1c3.8,0,6.16-2.36,6.16-6.77v-1.66h-0.18c-1.14,1.4-3.32,2.62-6.07,2.62c-5.76,0-11.05-5.02-11.05-11.49c0-6.51,5.28-11.57,11.05-11.57c2.75,0,4.93,1.22,6.07,2.58h0.18v-1.88H112.09z M107.64,26.16c0-4.06-2.71-7.03-6.16-7.03c-3.49,0-6.42,2.97-6.42,7.03c0,4.02,2.93,6.94,6.42,6.94C104.93,33.11,107.64,30.18,107.64,26.16z M120.97,3.06v33.89h-5.07V3.06H120.97z M140.89,29.92l3.93,2.62c-1.27,1.88-4.32,5.11-9.61,5.11c-6.55,0-11.28-5.07-11.28-11.53c0-6.86,4.77-11.53,10.71-11.53c5.98,0,8.91,4.76,9.87,7.34l0.52,1.31l-15.42,6.38c1.18,2.31,3.01,3.49,5.59,3.49C137.79,33.11,139.58,31.84,140.89,29.92zM128.79,25.77l10.31-4.28c-0.57-1.44-2.27-2.45-4.28-2.45C132.24,19.04,128.66,21.31,128.79,25.77z"/> </svg>Pay </a> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <devsite-tabs class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab > <a href="https://developers.google.com/pay" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/pay" track-type="nav" track-metadata-position="nav - overview" track-metadata-module="primary nav" data-category="Overview" data-label="navTopMenu" track-name="overview" data-action="tabClick" > Overview </a> </tab> <tab class="devsite-dropdown devsite-active "> <a href="https://developers.google.com/pay/api" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/pay/api" track-type="nav" track-metadata-position="nav - payments" track-metadata-module="primary nav" aria-label="Payments, selected" data-category="Payments" data-label="navTopMenu" track-name="payments" data-action="tabClick" > Payments </a> <button aria-haspopup="menu" aria-expanded="false" aria-label="Dropdown menu for Payments" track-type="nav" track-metadata-eventdetail="https://developers.google.com/pay/api" track-metadata-position="nav - payments" track-metadata-module="primary nav" data-category="Payments" data-label="navTopMenu" track-name="payments" data-action="tabClick" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></button> <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/pay/api/android/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/pay/api/android/overview" track-metadata-position="nav - payments" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-action="dropdownClick" data-category="android" data-label="navTopMenu" > <div class="devsite-nav-item-title"> Android </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/pay/api/web/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/pay/api/web/overview" track-metadata-position="nav - payments" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-category="web" data-action="dropdownClick" data-label="navTopMenu" > <div class="devsite-nav-item-title"> Web </div> </a> </li> </ul> </div> </div> </div> </tab> <tab > <a href="https://developers.google.com/wallet" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/wallet" track-type="nav" track-metadata-position="nav - wallet" track-metadata-module="primary nav" data-category="Wallet" data-label="navTopMenu" track-name="wallet" data-action="tabClick" > Wallet </a> </tab> <tab > <a href="https://developers.google.com/pay/api/status" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/pay/api/status" track-type="nav" track-metadata-position="nav - api status" track-metadata-module="primary nav" data-category="api-status" data-label="navTopMenu" track-name="api status" data-action="tabClick" > API Status </a> </tab> <tab class="devsite-dropdown "> <a href="https://developers.google.com/pay/india/api" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/pay/india/api" track-type="nav" track-metadata-position="nav - india" track-metadata-module="primary nav" data-category="India" data-label="navTopMenu" track-name="india" data-action="tabClick" > India </a> <button aria-haspopup="menu" aria-expanded="false" aria-label="Dropdown menu for India" track-type="nav" track-metadata-eventdetail="https://developers.google.com/pay/india/api" track-metadata-position="nav - india" track-metadata-module="primary nav" data-category="India" data-label="navTopMenu" track-name="india" data-action="tabClick" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></button> <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/pay/india/api/android/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/pay/india/api/android/overview" track-metadata-position="nav - india" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-category="android-india" data-label="navTopMenu" data-action="dropdownClick" > <div class="devsite-nav-item-title"> Android </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/pay/india/api/ios/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/pay/india/api/ios/overview" track-metadata-position="nav - india" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-action="dropdownClick" data-category="ios-india" data-label="navTopMenu" > <div class="devsite-nav-item-title"> iOS </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/pay/india/api/web/intro" track-type="nav" track-metadata-eventdetail="https://developers.google.com/pay/india/api/web/intro" track-metadata-position="nav - india" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-label="navTopMenu" data-action="dropdownClick" data-category="web-india" > <div class="devsite-nav-item-title"> Web </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/pay/india/api/otherapis/omnichannel/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/pay/india/api/otherapis/omnichannel/overview" track-metadata-position="nav - india" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-label="navTopMenu" data-action="dropdownClick" data-category="omnichannel-india" > <div class="devsite-nav-item-title"> Omnichannel </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/pay/india/api/merchant-sdk/guides/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/pay/india/api/merchant-sdk/guides/overview" track-metadata-position="nav - india" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-action="dropdownClick" data-label="navTopMenu" data-category="merchant-india" > <div class="devsite-nav-item-title"> Merchant SDK </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/pay/india/api/psp/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/pay/india/api/psp/overview" track-metadata-position="nav - india" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-category="psp-india" data-label="navTopMenu" data-action="dropdownClick" > <div class="devsite-nav-item-title"> PSP APIs </div> </a> </li> </ul> </div> </div> </div> </tab> <tab > <a href="https://developers.google.com/pay/payment-card-recognition/debit-credit-card-recognition" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/pay/payment-card-recognition/debit-credit-card-recognition" track-type="nav" track-metadata-position="nav - payment card recognition" track-metadata-module="primary nav" data-category="payment-card-recognition" data-label="navTopMenu" track-name="payment card recognition" data-action="tabClick" > Payment Card Recognition </a> </tab> <tab > <a href="https://developers.google.com/pay/spot" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/pay/spot" track-type="nav" track-metadata-position="nav - spot platform" track-metadata-module="primary nav" data-category="spot-platform" data-label="navTopMenu" track-name="spot platform" data-action="tabClick" > Spot Platform </a> </tab> </nav> </devsite-tabs> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="Google Pay API" tenant-name="Google for Developers" project-scope="/pay/api/web" url-scoped="https://developers.google.com/s/results/pay/api/web" > <form class="devsite-search-form" action="https://developers.google.com/s/results" method="GET"> <div class="devsite-search-container"> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value="" > <div class="devsite-search-image material-icons" aria-hidden="true"> </div> <div class="devsite-search-shortcut-icon-container" aria-hidden="true"> <kbd class="devsite-search-shortcut-icon">/</kbd> </div> </div> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> <devsite-user enable-profiles fp-auth id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section "> <div class="devsite-header-background"> <div class="devsite-product-id-row" > <div class="devsite-product-description-row"> <ul class="devsite-breadcrumb-list" aria-label="Lower header breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/pay/api" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google Pay API" > Google Pay for Payments </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/pay/api/web" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="Google Pay API" > Web </a> </li> </ul> </div> <div class="devsite-product-button-row"> <a href="https://pay.google.com/business/console?utm_source=devsite&utm_medium=devsite&utm_campaign=devsite" class="button external " target="_blank" >Manage integrations in console</a> </div> </div> <div class="devsite-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab > <a href="https://developers.google.com/pay/api" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/pay/api" track-type="nav" track-metadata-position="nav - home" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Home" track-name="home" > Home </a> </tab> <tab class="devsite-active"> <a href="https://developers.google.com/pay/api/web/overview" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/pay/api/web/overview" track-type="nav" track-metadata-position="nav - guides" track-metadata-module="primary nav" aria-label="Guides, selected" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" > Guides </a> </tab> <tab > <a href="https://developers.google.com/pay/api/web/reference/client" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/pay/api/web/reference/client" track-type="nav" track-metadata-position="nav - reference" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" > Reference </a> </tab> <tab > <a href="https://developers.google.com/pay/api/web/samples" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/pay/api/web/samples" track-type="nav" track-metadata-position="nav - samples" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" > Samples </a> </tab> <tab > <a href="https://developers.google.com/pay/api/web/support/troubleshooting" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/pay/api/web/support/troubleshooting" track-type="nav" track-metadata-position="nav - support" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Support" track-name="support" > Support </a> </tab> <tab class="devsite-dropdown "> <button class="devsite-tabs-content devsite-tabs-dropdown-only gc-analytics-event devsite-icon devsite-icon-arrow-drop-down" track-type="nav" track-metadata-position="nav - community" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" > Community </button> <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://github.com/google-pay" track-type="nav" track-metadata-eventdetail="https://github.com/google-pay" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip data-label="https://github.com/google-pay" data-category="pay" data-action="upper-tab-dropdown-click" > <div class="devsite-nav-item-title"> GitHub </div> </a> </li> <li class="devsite-nav-item"> <a href="https://twitter.com/googlepaydevs" track-type="nav" track-metadata-eventdetail="https://twitter.com/googlepaydevs" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip data-action="upper-tab-dropdown-click" data-category="pay" data-label="https://twitter.com/googlepaydevs" > <div class="devsite-nav-item-title"> X (Twitter) </div> </a> </li> <li class="devsite-nav-item"> <a href="https://goo.gle/payments-dev-community" track-type="nav" track-metadata-eventdetail="https://goo.gle/payments-dev-community" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip data-label="https://goo.gle/payments-dev-community" data-action="upper-tab-dropdown-click" data-category="pay" > <div class="devsite-nav-item-title"> Discord </div> </a> </li> <li class="devsite-nav-item"> <a href="https://stackoverflow.com/questions/tagged/google-pay" track-type="nav" track-metadata-eventdetail="https://stackoverflow.com/questions/tagged/google-pay" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip data-label="https://stackoverflow.com/questions/tagged/google-pay" data-action="upper-tab-dropdown-click" data-category="pay" > <div class="devsite-nav-item-title"> StackOverflow </div> </a> </li> </ul> </div> </div> </div> </tab> </nav> </devsite-tabs> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars > <div class="devsite-book-nav-filter" > <span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="https://developers.google.com/pay" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google Pay" > <svg class="devsite-google-wordmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 148 48"> <title>Google</title> <path class="devsite-google-wordmark-svg-path" d="M19.58,37.65c-9.87,0-18.17-8.04-18.17-17.91c0-9.87,8.3-17.91,18.17-17.91c5.46,0,9.35,2.14,12.27,4.94l-3.45,3.45c-2.1-1.97-4.93-3.49-8.82-3.49c-7.21,0-12.84,5.81-12.84,13.02c0,7.21,5.64,13.02,12.84,13.02c4.67,0,7.34-1.88,9.04-3.58c1.4-1.4,2.32-3.41,2.66-6.16H19.58v-4.89h16.47c0.18,0.87,0.26,1.92,0.26,3.06c0,3.67-1.01,8.21-4.24,11.44C28.93,35.9,24.91,37.65,19.58,37.65z M61.78,26.12c0,6.64-5.1,11.53-11.36,11.53s-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53S61.78,19.43,61.78,26.12z M56.8,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C53.84,33.11,56.8,30.22,56.8,26.12z M87.25,26.12c0,6.64-5.1,11.53-11.36,11.53c-6.26,0-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53C82.15,14.59,87.25,19.43,87.25,26.12zM82.28,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C79.32,33.11,82.28,30.22,82.28,26.12z M112.09,15.29v20.7c0,8.52-5.02,12.01-10.96,12.01c-5.59,0-8.95-3.76-10.22-6.81l4.41-1.83c0.79,1.88,2.71,4.1,5.81,4.1c3.8,0,6.16-2.36,6.16-6.77v-1.66h-0.18c-1.14,1.4-3.32,2.62-6.07,2.62c-5.76,0-11.05-5.02-11.05-11.49c0-6.51,5.28-11.57,11.05-11.57c2.75,0,4.93,1.22,6.07,2.58h0.18v-1.88H112.09z M107.64,26.16c0-4.06-2.71-7.03-6.16-7.03c-3.49,0-6.42,2.97-6.42,7.03c0,4.02,2.93,6.94,6.42,6.94C104.93,33.11,107.64,30.18,107.64,26.16z M120.97,3.06v33.89h-5.07V3.06H120.97z M140.89,29.92l3.93,2.62c-1.27,1.88-4.32,5.11-9.61,5.11c-6.55,0-11.28-5.07-11.28-11.53c0-6.86,4.77-11.53,10.71-11.53c5.98,0,8.91,4.76,9.87,7.34l0.52,1.31l-15.42,6.38c1.18,2.31,3.01,3.49,5.59,3.49C137.79,33.11,139.58,31.84,140.89,29.92zM128.79,25.77l10.31-4.28c-0.57-1.44-2.27-2.45-4.28-2.45C132.24,19.04,128.66,21.31,128.79,25.77z"/> </svg>Pay </a> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/pay" class="devsite-nav-title gc-analytics-event " data-category="Overview" data-label="navTopMenu" track-name="overview" data-action="tabClick" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="/pay/api" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Payments" data-label="navTopMenu" track-name="payments" data-action="tabClick" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Payments" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Payments </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Payments" data-label="navTopMenu" track-name="payments" data-action="tabClick" > <span class="devsite-nav-text" tooltip menu="Payments"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Payments"> </span> </span> </li> </ul> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/pay/api" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Home" track-name="home" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Home" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Home </span> </a> </li> <li class="devsite-nav-item"> <a href="/pay/api/web/overview" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guides" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip menu="_book"> Guides </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="_book"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/pay/api/web/reference/client" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reference" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Reference </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/pay/api/web/samples" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Samples" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Samples </span> </a> </li> <li class="devsite-nav-item"> <a href="/pay/api/web/support/troubleshooting" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Support" track-name="support" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Support" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Support </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" > <span class="devsite-nav-text" tooltip > Community </span> </span> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu devsite-lower-tab-item"> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" > <span class="devsite-nav-text" tooltip menu="Community"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Community"> </span> </span> </li> </ul> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/wallet" class="devsite-nav-title gc-analytics-event " data-category="Wallet" data-label="navTopMenu" track-name="wallet" data-action="tabClick" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Wallet" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Wallet </span> </a> </li> <li class="devsite-nav-item"> <a href="/pay/api/status" class="devsite-nav-title gc-analytics-event " data-category="api-status" data-label="navTopMenu" track-name="api status" data-action="tabClick" data-category="Site-Wide Custom Events" data-label="Responsive Tab: API Status" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > API Status </span> </a> </li> <li class="devsite-nav-item"> <a href="/pay/india/api" class="devsite-nav-title gc-analytics-event " data-category="India" data-label="navTopMenu" track-name="india" data-action="tabClick" data-category="Site-Wide Custom Events" data-label="Responsive Tab: India" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > India </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="India" data-label="navTopMenu" track-name="india" data-action="tabClick" > <span class="devsite-nav-text" tooltip menu="India"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="India"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/pay/payment-card-recognition/debit-credit-card-recognition" class="devsite-nav-title gc-analytics-event " data-category="payment-card-recognition" data-label="navTopMenu" track-name="payment card recognition" data-action="tabClick" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Payment Card Recognition" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Payment Card Recognition </span> </a> </li> <li class="devsite-nav-item"> <a href="/pay/spot" class="devsite-nav-title gc-analytics-event " data-category="spot-platform" data-label="navTopMenu" track-name="spot platform" data-action="tabClick" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Spot Platform" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Spot Platform </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item"><a href="/pay/api/web/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/overview" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Get started</span> </div></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/setup" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/setup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/setup" ><span class="devsite-nav-text" tooltip>Setup</span></a></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/tutorial" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/tutorial" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/tutorial" ><span class="devsite-nav-text" tooltip>Tutorial</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Quickstarts</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-external"><a href="https://github.com/google-pay/google-pay-button/tree/main/src/button-angular" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://github.com/google-pay/google-pay-button/tree/main/src/button-angular" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://github.com/google-pay/google-pay-button/tree/main/src/button-angular" target="_blank"><span class="devsite-nav-text" tooltip>Angular</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="https://github.com/google-pay/google-pay-button/tree/main/src/button-element#example-usage-html-website" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://github.com/google-pay/google-pay-button/tree/main/src/button-element#example-usage-html-website" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://github.com/google-pay/google-pay-button/tree/main/src/button-element#example-usage-html-website" target="_blank"><span class="devsite-nav-text" tooltip>JavaScript</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="https://github.com/google-pay/google-pay-button/tree/main/src/button-react" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://github.com/google-pay/google-pay-button/tree/main/src/button-react" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://github.com/google-pay/google-pay-button/tree/main/src/button-react" target="_blank"><span class="devsite-nav-text" tooltip>React</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="https://github.com/google-pay/google-pay-button/tree/main/src/button-element#example-usage-svelte-website" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://github.com/google-pay/google-pay-button/tree/main/src/button-element#example-usage-svelte-website" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://github.com/google-pay/google-pay-button/tree/main/src/button-element#example-usage-svelte-website" target="_blank"><span class="devsite-nav-text" tooltip>Svelte</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="https://github.com/google-pay/google-pay-button/tree/main/src/button-element#example-usage-vue-website" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://github.com/google-pay/google-pay-button/tree/main/src/button-element#example-usage-vue-website" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://github.com/google-pay/google-pay-button/tree/main/src/button-element#example-usage-vue-website" target="_blank"><span class="devsite-nav-text" tooltip>Vue</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Codelabs</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-external"><a href="https://codelabs.developers.google.com/codelabs/gpay-web-101" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://codelabs.developers.google.com/codelabs/gpay-web-101" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://codelabs.developers.google.com/codelabs/gpay-web-101" target="_blank"><span class="devsite-nav-text" tooltip>Web 101: Basic</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="https://codelabs.developers.google.com/codelabs/gpay-web-201" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://codelabs.developers.google.com/codelabs/gpay-web-201" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://codelabs.developers.google.com/codelabs/gpay-web-201" target="_blank"><span class="devsite-nav-text" tooltip>Web 201: Advanced</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>What's new</span> </div></li> <li class="devsite-nav-item"><a href="/pay/api/web/support/release-notes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/support/release-notes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/support/release-notes" ><span class="devsite-nav-text" tooltip>API release notes</span></a></li> <li class="devsite-nav-item"><a href="/pay/api/web/support/documentation-change-log" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/support/documentation-change-log" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/support/documentation-change-log" ><span class="devsite-nav-text" tooltip>Documentation change log</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Using the API</span> </div></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/resources/customize" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/resources/customize" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/resources/customize" ><span class="devsite-nav-text" tooltip>Customize your button</span></a></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/resources/payment-data-cryptography" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/resources/payment-data-cryptography" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/resources/payment-data-cryptography" ><span class="devsite-nav-text" tooltip>Payment data cryptography</span></a></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/resources/update-to-latest-version" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/resources/update-to-latest-version" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/resources/update-to-latest-version" ><span class="devsite-nav-text" tooltip>Update to latest API version</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Product features</span> </div></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/resources/bnpl" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/resources/bnpl" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/resources/bnpl" ><span class="devsite-nav-text" tooltip>Buy now, pay later</span></a></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/resources/shift-liability-to-issuer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/resources/shift-liability-to-issuer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/resources/shift-liability-to-issuer" ><span class="devsite-nav-text" tooltip>Shift liability to issuer</span></a></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/resources/sca" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/resources/sca" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/resources/sca" ><span class="devsite-nav-text" tooltip>Strong customer authentication</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Best practices</span> </div></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/brand-guidelines" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/brand-guidelines" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/brand-guidelines" ><span class="devsite-nav-text" tooltip>Brand guidelines</span></a></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/ux-best-practices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/ux-best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/ux-best-practices" ><span class="devsite-nav-text" tooltip>UX best practices</span></a></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/resources/demos" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/resources/demos" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/resources/demos" ><span class="devsite-nav-text" tooltip>Live Google Pay demos</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Test and troubleshoot</span> </div></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/test-and-deploy/integration-checklist" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/test-and-deploy/integration-checklist" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/test-and-deploy/integration-checklist" ><span class="devsite-nav-text" tooltip>Integration checklist</span></a></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/resources/test-card-suite" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/resources/test-card-suite" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/resources/test-card-suite" ><span class="devsite-nav-text" tooltip>Test with sample credit cards</span></a></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/resources/sample-tokens" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/resources/sample-tokens" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/resources/sample-tokens" ><span class="devsite-nav-text" tooltip>Test with sample tokens</span></a></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/resources/troubleshooting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/resources/troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/resources/troubleshooting" ><span class="devsite-nav-text" tooltip>Troubleshooting</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Publish</span> </div></li> <li class="devsite-nav-item"><a href="/pay/api/web/guides/test-and-deploy/publish-your-integration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pay/api/web/guides/test-and-deploy/publish-your-integration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pay/api/web/guides/test-and-deploy/publish-your-integration" ><span class="devsite-nav-text" tooltip>Publish your integration</span></a></li> </ul> <ul class="devsite-nav-list" menu="Payments" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > </span> </span> </li> <li class="devsite-nav-item"> <a href="/pay/api/android/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Android </span> </a> </li> <li class="devsite-nav-item"> <a href="/pay/api/web/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Web" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Web </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="India" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > </span> </span> </li> <li class="devsite-nav-item"> <a href="/pay/india/api/android/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Android </span> </a> </li> <li class="devsite-nav-item"> <a href="/pay/india/api/ios/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: iOS" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > iOS </span> </a> </li> <li class="devsite-nav-item"> <a href="/pay/india/api/web/intro" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Web" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Web </span> </a> </li> <li class="devsite-nav-item"> <a href="/pay/india/api/otherapis/omnichannel/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Omnichannel" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Omnichannel </span> </a> </li> <li class="devsite-nav-item"> <a href="/pay/india/api/merchant-sdk/guides/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Merchant SDK" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Merchant SDK </span> </a> </li> <li class="devsite-nav-item"> <a href="/pay/india/api/psp/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: PSP APIs" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > PSP APIs </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Community" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="https://github.com/google-pay" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: GitHub" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > GitHub </span> </a> </li> <li class="devsite-nav-item"> <a href="https://twitter.com/googlepaydevs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: X (Twitter)" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > X (Twitter) </span> </a> </li> <li class="devsite-nav-item"> <a href="https://goo.gle/payments-dev-community" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Discord" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Discord </span> </a> </li> <li class="devsite-nav-item"> <a href="https://stackoverflow.com/questions/tagged/google-pay" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: StackOverflow" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > StackOverflow </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" id="main-content" class="devsite-main-content" has-book-nav > <devsite-content> <article class="devsite-article"> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="" > Home </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/products" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="" > Products </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/pay" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail="Google Pay" > Google Pay </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/pay/api" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="4" track-type="globalNav" track-name="breadcrumb" track-metadata-position="4" track-metadata-eventdetail="Google Pay API" > Google Pay for Payments </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/pay/api/web" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="5" track-type="globalNav" track-name="breadcrumb" track-metadata-position="5" track-metadata-eventdetail="Google Pay API" > Web </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/pay/api/web/overview" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="6" track-type="globalNav" track-name="breadcrumb" track-metadata-position="6" track-metadata-eventdetail="" > Guides </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <h1 class="devsite-page-title" tabindex="-1"> Tutorial </h1> <devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <devsite-key-takeaways></devsite-key-takeaways> <div class="devsite-page-title-meta"><devsite-view-release-notes></devsite-view-release-notes></div> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded > </devsite-toc> <div class="devsite-article-body clearfix "> <!-- Define name of the body that you define in the files that use this template --> <p>Follow the steps in this tutorial to integrate a web application with the Google Pay API, and to configure it to accept payment cards.</p> <ul> <li><a href="#apiversion">Step 1: Define your Google Pay API version</a>.</li> <li><a href="#tokenization">Step 2: Choose a payment tokenization method</a>.</li> <li><a href="#supported-card-networks">Step 3: Define supported payment card networks</a>.</li> <li><a href="#allowed-payment-methods">Step 4: Describe your allowed payment methods.</a> <li><a href="#js-load">Step 5: Load the Google Pay API JavaScript library</a>.</li> <li><a href="#isreadytopay">Step 6: Determine readiness to pay with the Google Pay API</a>.</li> <li><a href="#add-button">Step 7: Add a Google Pay payment button</a>.</li> <li><a href="#paymentdatarequest">Step 8: Create a PaymentDataRequest object</a>.</li> <li><a href="#event-handler">Step 9: Register an event handler for user gestures</a>.</li> <li><a href="#authorize-payments">Step 10 (optional): Set up Authorize Payments</a>.</li> <li><a href="#price-updates">Step 11 (optional for shipping enabled): Set up Dynamic Price Updates</a>.</li> <li><a href="#promo-codes">Step 12 (optional for promo codes): Set up Promo Codes</a>.</li> <li><p><a href="#full-example">Put it all together</a>.</p><aside><b>Note</b>: See our <a href="/pay/api/web/guides/resources/demos">live Google Pay demo</a>.</aside></li> </ul> <section aria-labelledby="apiversion"> <h2 id="apiversion" data-text="Step 1: Define your Google Pay API version" tabindex="-1">Step 1: Define your Google Pay API version</h2> <p>Declare the version of the Google Pay API that your site uses. The major and minor versions are required in the fields of each passed object, and are included in the response.</p> <p>The following code sample shows declared API versions:</p> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">baseRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">apiVersion</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">2</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">apiVersionMinor</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">0</span> <span class="devsite-syntax-p">};</span></pre></devsite-code> </section> <section aria-labelledby="tokenization"> <h2 id="tokenization" data-text="Step 2: Request a payment token for your payment provider" tabindex="-1">Step 2: Request a payment token for your payment provider</h2> <p>Google encrypts information about a payer's selected card for secure processing by a payment provider.</p> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">tokenizationSpecification</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">type</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'PAYMENT_GATEWAY'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">parameters</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'gateway'</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'example'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'gatewayMerchantId'</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'exampleGatewayMerchantId'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">};</span></pre></devsite-code> <p>Replace <var translate="no">example</var> and <var translate="no">exampleGatewayMerchantId</var> with the appropriate values for your payment provider. Use the following table to find the specific <code translate="no" dir="ltr">gateway</code> and <code translate="no" dir="ltr">gatewayMerchantId</code> values for your payment provider:</p> <div style="background-color: aliceblue"> <devsite-filter> <input type="text" placeholder="Enter a gateway to find its relevant values" /> <table class="vertical-rules"> <thead> <tr> <th>Gateway</th> <th>Parameters and documents</th> </tr> </thead> <tbody class="list"> <tr> <td>ABA PayWay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ababank" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.payway.com.kh/developers/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>accept.blue</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "acceptblue" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.accept.blue/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>ACI</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "aciworldwide" "gatewayMerchantId": "<var translate="no">YOUR_ENTITY_ID</var>"</pre></devsite-code> <p><a href="https://docs.aciworldwide.com/tutorials/mobile-sdk/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>ACpay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "acpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.acpay.com.tw/google-pay-%E9%96%8B%E7%99%BC%E8%80%85%E6%96%87%E4%BB%B6/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Acquired.com</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "acquired" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.acquired.com/paymentmethods/googlepay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Adyen</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "adyen" "gatewayMerchantId": "<var translate="no">YOUR_MERCHANT_ACCOUNT_NAME</var>"</pre></devsite-code> <p><a href="https://docs.adyen.com/developers/payment-methods/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Airba Pay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "airbapay"" "gatewayMerchantId": "<var translate="no">YOUR_MERCHANT_ACCOUNT_NAME</var>"</pre></devsite-code> <p><a href="https://api.airbapay.kz/f3/api/v1/images/pay-manuals/Technical_documentation.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Airvend</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "airvend" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://googlepay.airvend.ng/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Airwallex</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "airwallex" "gatewayMerchantId": "<var translate="no">YOUR_MERCHANT_ACCOUNT_NAME</var>"</pre></devsite-code> <p><a href="https://www.airwallex.com/docs/online-payments__global__google-paytm" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Akurateco</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "akuratecolab" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.akurateco.com/checkout_integration#google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Alfa-Bank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "alfabank" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://pay.alfabank.ru/ecommerce/instructions/merchantManual/pages/index/integration_schemes.html#oplata_s_ispolzovaniem_google_pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Algoritma</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "algoritma" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://algoritma.az/en/payment-solutions/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Allinpay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "allinpayintl" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.allinpayintl.com/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>AllPayments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "allpayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://vp.ru/storage/b/2018/05/30/Shljuz_VsePlatezhi._Rukovodstvo_Merchanta.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>alticepay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "alticepay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.wallet.pt/en/procheckout/google-pay.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Anedot</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "anedot" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://help.anedot.com/knowledge/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>ApcoPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "apcopay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.apimatic.io/apidocs/apcopayapi/v/1_0#/http/plugins/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>APPEX</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "epos" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://appex.ru/services/internet-acquiring/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>AsiaBill</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "asiabill" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p>No developer docs available</p> </td> </tr> <tr> <td>Assist</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "assist" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.assist.ru/o-podklyuchenii/docs/files/TokenPayeng.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Assist Belarus</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "belassist" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.assist.ru/pages/viewpage.action?pageId=5767308" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Assist Kazakhstan</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "assistkz" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://assist.kz/o-podklyuchenii/docs/files/TokenPayeng.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Aurus</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "auruspay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.aurusinc.com/client_releases/googlepay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Axerve</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "gestpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.axerve.com/soap/alternative-payments/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Bank 131</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "bank131" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.131.ru/docs/ru/payments/payment-integration-google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Bank Vostok</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "bankvostok" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.ecom.vostok.bank/documentation/en/ecommerce_documentation.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Barclaycard</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "barclayssmartpayadvance" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.barclaycard.co.uk/content/dam/barclaycard/documents/business/standalone/smartpay/google-pay-integration-guide.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Barion</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "barion" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.barion.com/Google_Pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Basis Theory</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "basistheory" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://developers.basistheory.com/docs/api/orchestration/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>BCC.KZ</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "bccpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://documenter.getpostman.com/view/23274245/VVXGTBh1#f0119085-5a9f-41a6-9308-95004c091f66" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>bePaid</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ecomcharge" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.bepaid.by/en/google_pay/integration" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Bereke Bank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "berekepay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://sandbox.berekebank.kz/en/integration/api/tokenized_payments.html#google_pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Billing Systems</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "billingsystems" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.bisys.ru/doc/shop-api/?shell#gpay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Bizzon</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "bizzon" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://support.bizzon.com/hc/en-gb/articles/360011118098-Setting-up-Google-Pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Blocks</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "blocks" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://getblocks.notion.site/Integrating-Google-Pay-with-Blocks-5917582a5f644ca0aa1031bb0810a476" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Bluefin</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "bluefin" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.bluefin.com/docs/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Blue Media</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "bluemedia" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://bluemedia.pl/developers/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>BlueSnap</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "bluesnap" "gatewayMerchantId": "<var translate="no">YOUR_shopToken</var>"</pre></devsite-code> <p><a href="https://developers.bluesnap.com/docs/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>BORICA</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "borica" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.borica.bg/attachments/BobsProduct/57/docs/Google-Pay-for-Virtual-Merchants-EN.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>BPC</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "bpcpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://dev.bpcbt.com/integration/api/tokenized_payments.html#google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>BR-DGE</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "comcarde" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.br-dge.io/docs/features-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Braintree</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "braintree" "braintree:apiVersion": "v1" "braintree:sdkVersion": "braintree.client.<var translate="no">VERSION</var>" "braintree:merchantId": "<var translate="no">YOUR_BRAINTREE_MERCHANT_ID</var>" "braintree:clientKey": "<var translate="no">YOUR_BRAINTREE_TOKENIZATION_KEY</var>"</pre></devsite-code> <p><a href="https://www.braintreepayments.com/features/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Braspag</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "cielo" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://braspag.github.io//en/manual/ewallets" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>BridgerPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "bridgerpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.bridgerpay.com/docs/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>BT Pay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "btpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://cdn.btpay.bt.com/docs/google-pay-integration.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Buya</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "buya" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://getbuya.com/googlepay.html" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>CardCom</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "cardcom" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://support.cardcom.solutions/hc/he/articles/10268181547154" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>CardConnect</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "cardconnect" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://support.cardconnect.com/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Cardknox</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "cardknox" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.cardknox.com/mobile-wallets/google-pay-hosted-checkout" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Cardstream</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "crst" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://cardstream.com/gateway-capabilities/alternative-payment-methods/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Cashflows</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "cashflowsgateway" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.cashflows.com/solutions/google-pay?hs_preview=uhaeAoux-50425444123" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Cathay United Bank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "cathaybk" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.cathaybk.com.tw/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>CCAvenue UAE</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ccavenueuae" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.ccavenue.ae/downloads_mcpg/Google-Pay-CCAvenue-Integration.pdf" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>CCV</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ccv" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://developer.myccv.eu/documentation/payment_api/online_payments/payment_methods/google_pay/" class="external" target="_blank" >Developer docs</a> </p> </td> </tr> <tr> <td>Cecabank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "cecabank" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://comercios.ceca.es/webapp/ConsTpvVirtWeb/ConsTpvVirtS?modo=mostrarAyuda&pagina=ayuda_google_pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Celerispay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "celerispay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.celerispay.com/#/Google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>CentralPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "centralpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://doc-api.centralpay.net/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Chargehive</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "chargehive" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://chargehive.com/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>CharityEngine</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "charityengine" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://help.charityengine.net/HelpCenter/GooglePay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Chase Merchant Services</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "chase" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://secure.paymentech.com/devcenter/products" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Checkout.com</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "checkoutltd" "gatewayMerchantId": "<var translate="no">YOUR_PUBLIC_KEY</var>"</pre></devsite-code> <p><a href="https://docs.checkout.com/payments/payment-methods/wallets/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>CityPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "citypay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://citypay.github.io/api-docs/paylink/#google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Cloud9 Payment Gateway (C9PG)</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "c9pg" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://c9pg.com/payment-gateway-integrate/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>CloudPayments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "cloudpayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://cloudpayments.ru/wiki/integration/products/googlepay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>CloudWalk</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "cloudwalk" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://ajuda.infinitepay.io/pt-BR/articles/9741853-como-pagar-um-link-de-pagamento-com-o-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Computop</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "computop" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.computop.com/us/solutions/online-payments/e-wallets/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>ConcordPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "concordpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://pay.concord.ua/docs/docs/en/GooglePay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Connectum</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "connectum" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://connectum.eu/gpay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>ConnexPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "connexpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.connexpay.com/docs/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Corefy</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paycoreio" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://corefy.com/docs/integration/payment-methods/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Corvus Pay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "corvuspay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://cps.corvuspay.com/documentation/documents/Google_Pay_integration_eng.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Credorax</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "credorax" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://epower.credorax.com/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>CrossPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "crosspay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.crosspay.net/#tag/Google-Paytm" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>CSG Forte</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "csgforte" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.forte.net/devdocs/a_checkout/digital_wallets.htm?Highlight=digital%20wallet#Google" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>CTBC Bank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ctbcbank" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.ctbcbank.com" class="external" target="_blank">Developer docs</a> </p> </td> </tr> <tr> <td>CURO Payments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "curopayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.curopayments.com/docs/api/?rest_Creditcard#CreditCard-EWallets" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>CYBERBIZ</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "cyberbizpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.cyberbiz.io/support/?p=2620" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Cybersource</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "cybersource" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.cybersource.com/en-us/support/technical-documentation/apis-and-integration.html#GooglePay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>danube.pay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "danubepay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.danubepay.com" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Datacap Systems, Inc.</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "datatrans" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://datacapsystems.github.io/Wallet-Google/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Datatrans</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "datatrans" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.datatrans.ch/showcase/authorisation/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>DECTA</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "decta" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p>No developer docs</p> </td> </tr> <tr> <td>DEUNA</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "deuna" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.deuna.com/docs/integration-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Deutsche Bank AG</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p>No developer docs</p> </td> </tr> <tr> <td>Deutsche Bank – Merchant Solutions</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.db.com/apidocumentation/apimerchantsolution/about-this-documentation" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>DG Financial Technology, Inc.</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "veritrans" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.veritrans.co.jp/payment/googlepay.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Digital Finance</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "digitalfinance" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.digital-finance.com.ua/services/googlepay/google_pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>dLocal</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "dlocal" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.dlocal.com/guides/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>DNA Payments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "dnapayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.dnapayments.com/docs/ecommerce/checkout/integration-guide/google-pay/#card-parameter-support" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Dojo</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "dojo" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.connect.paymentsense.cloud/ConnectE/GooglePay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Dotpay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "dotpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.dotpay.pl/developer/doc/google-pay/en/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>e-SiTef - Software Express</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "softwareexpress" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://esitef-homologacao.softwareexpress.com.br/api/docs/ing/googlepay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>easycard</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "easycard" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://github.com/EasycardNG/API/blob/main/GooglePay.md" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>EasyPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "easypay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://acquiring.easypay.ua/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Easypay EU</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "easypaypt" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.easypay.pt/#section/Payment-Methods" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>EBANX</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ebanx" "gatewayMerchantId": "<var translate="no">YOUR_PUBLIC_INTEGRATION_KEY</var>"</pre></devsite-code> <p> <a href="https://business.ebanx.com/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>eCard</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ecard" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://ecard.pl/oferta/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>ECOMMPAY</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ecommpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.ecommpay.com/en/pm_googlepay_gate.html#pm_googlepay_gate" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Ecopaynet</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ecopaynet" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.ecopaynet.com/es/metodos-pago/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>ECPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ecpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p>No developer docs available</p> </td> </tr> <tr> <td>eGHL</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "eghl" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://e-ghl.com/gallery/google-pay-campaign/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Elavon (Converge)</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "convergepay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.elavon.com/docs/converge/1.0.0/integration-guide/processing-options/googlepay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Emerchantpay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "emerchantpay" "gatewayMerchantID": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.emerchantpay.com/google-pay-integration" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>emspay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "emsonline" "gatewayMerchantID": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://dev.online.emspay.eu/rest-api/server-to-server/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Encoded</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "encoded" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.encoded.co.uk/google-pay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>EpicPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "epicpay" "gatewayMerchantID": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.epicpay.com/Docs/PaymentAPI#Api_Transaction_GooglePay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Espago</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "espago" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://start.espago.com/en/docs/1330629/google_pay-description" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>EveryPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "everypay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.everypay.gr/accept-payments/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Evervault</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "evervault" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.evervault.com/payments/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>EVONET</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "cardinfolink" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.evonetonline.com/docs/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Evopay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "evopay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://cdn.evopay.com.ua/api-docs/index.html#google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Evo Payment Gateway</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "evopaymentgateway" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p>No developer docs available</p> </td> </tr> <tr> <td>exactly.com</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "exactly" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://exactly.com/processing/mobile-payments" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Exact Payments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "exactpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://support.e-xact.com/hc/en-us/articles/12945346125083-Configuring-Google-Pay-on-Payment-Pages" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Fat Zebra</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "fatzebra" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.fatzebra.com/docs/web-integration" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Fenige</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "fenige" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://paytool-api-dev.fenige.pl/fenige-paytool.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Fibonatix</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "fibonatixparagon" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.paragon.online/#12-1-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Financial Line</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "finline" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.finline.io/payment-methods/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Finanso UA</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "finansoua" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://finansoua.com.ua/googlepay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>fincode byGMO</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "fincode" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.fincode.jp/payments/googlepay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>FINEXUS</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "finexus" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://sandbox.finexusgroup.com/myxaas/docs/PayMaster-MPI/googlepay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Finix</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "finix" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.finixpayments.com/#google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>First American by Deluxe</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "firstpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.deluxe.com/docs/deluxe-payment-platform/dfrdpcueb68yb-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>FIS Biller Solutions</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "fisglobalbsp" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://bsptest.metavante.com/dut/agreement.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Fiserv</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "fiserv" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.fiserv.com/product/CommerceHub/docs/?path=docs/Online-Mobile-Digital/Wallets-AltPayments/Google-Pay/Google-Pay.md&branch=main" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Fiserv</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "fiservipg" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.fiserv.dev/public/docs/wallets" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Fluid Pay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "fluidpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://sandbox.fluidpay.com/docs/walletjs/#overview" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>FM Finance LTD</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "fmfinanceltd" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.fmpay.me/Technical_integration_with_Google_Pay.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>ForteBank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "fortebank" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://main.storage-object.pscloud.io/Provedenie_oplaty_s_ispolzovaniem_Google_Pay_v_5_ddd23330f3.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Fractal</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "fractal" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.fractalpay.com/googlepay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Freedom Finance Bank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "axayscom" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://acq.ffinpay.ru/acq-company-web/resources/index/api_doc.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>FreedomPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "freedompay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://corporate.freedompay.com/advanced-commerce-platform/consumer-experience/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>FreedomPay.Money</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payboxmoney" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.paybox.money/?lang=en#/g2g/pay#content-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Freepay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "freepay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://mw.freepay.dk/content/api.html#section/Acquirers/Google-Pay-tm" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Frontstream</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "frontstreampayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.frontstream.com/developers/secure-electronics-payments-api/documentation" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Fung Payments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "fungpayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.fungpayments.com/payment-methods/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>GBPayments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "gbpayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.gbpayments.io/dev/google-pay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>geidea</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "geidea" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.geidea.net/docs/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>GETTRX</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "globalelectronictechnology" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.edgepay.io/docs/google-pay-1" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Global One Pay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "globalonepay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p>No developer docs available</p> </td> </tr> <tr> <td>Global Payments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "globalpayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.globalpaymentsinc.com/en/accept-payments/in-person/globalmpos/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>GMO Payment Gateway</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "gmopg" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.gmo-pg.com/service/mulpay/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>GoDaddy Payments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "godaddypayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.godaddy.com/payments" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Good Idea Technologies</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "git" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://doc.gitpay.tech/alternative_payment_methods_API/googlepayintegration.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>GoPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "gopay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://help.gopay.com/cs/tema/integrace-platebni-brany/nastaveni-a-funkcionality-plateb/jak-spustit-google-pay-na-platebni-brane" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>GP Webpay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "gpwebpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p>No developer docs available</p> </td> </tr> <tr> <td>Gravity Payments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "gravitypayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://dev.gravitypayments.com/docs/emergepay/digital-wallets/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Gr4vy</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "gr4vy" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.gr4vy.com/guides/features/google-pay/overview" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Halyk Bank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "halykbank" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://epayment.kz/docs/Google%20Pay%20additional%20info" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Helcim</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "helcim" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://support.helcim.com/article/helcim-commerce-online-store-configuring-store-settings-google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>HIPS</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "hips" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.hips.com/docs/g-pay-google-pay-or-android-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>HiTrust</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "hitrustpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.hitrustpay.com.tw/page_gpay.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Hyp</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "hyp" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://googlepayhyp.docs.apiary.io/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>icard</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "icardwallet" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://icard.com/en/business/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>iKhokha</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ikhokha" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://emergemobile.atlassian.net/wiki/external/ZDI2MGZkMDhkZTc0NGM2YmE2YjQ0NTYzMzRiYjU3ODA" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>IMOJE</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "imoje" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.imoje.pl/" class="external" target="_blank">Developer docs</a> </p> </td> </tr> <tr> <td>Impaya</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "impayarus" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://impaya.ru/google-pay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>InPlat</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "inplat" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://protocols.inplat.ru/api/_static/latex/InPlat_API_v.1.14.6.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>InstaMed</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "instamed" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.instamed.com/consumer-payments/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>IntaSend Solutions Limited</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "intasend" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.intasend.com/docs/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>IntellectMoney</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "intellectmoney" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://wiki.intellectmoney.ru/pages/viewpage.action?pageId=50724886" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Interactive Transaction Solutions</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "interactivets" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.interactivets.com/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Interswitch Payment Gallery</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "interswitch" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.interswitchgroup.com/docs/pay-with-google" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Intervale</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "intervale" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://intervale.kz/OpenAPI_Intervale_googlePay.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>ioka fintech</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ioka" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.ioka.kz/en/ioka-api/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>iPay88</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ipay88" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.ipay88.com/" class="external" target="_blank">Developer docs</a> </p> </td> </tr> <tr> <td>IPSI</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ipsi" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.iframe.ipsi.com.au/?path=/docs/google-pay-google-pay-button--default"class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>iQmetrix</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "iqmetrixpaymentservicesgateway" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.iqmetrix.com/lp/mobile-payment-technology" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>IXOPAY</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ixopay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://gateway.ixopay.com/documentation/connectors#googlepay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>JetPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "jetpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.jetpay.kz/en/pm_pay_partner_kz.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>JudoPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "judopay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p>No developer docs available</p> </td> </tr> <tr> <td>KapitalBank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "eCommerceKapitalBank" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://pg.kapitalbank.az/docs" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Kassa</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "kassacom" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://kassa.com/docs/api/#provedenie-oplati-s-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>kassa24pay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "kassa24pay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://business.kassa24.kz/documentation/payment-methods-via-apple-pay-and-google-pay-in-kassa-24-business" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Kineox</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "kineox" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://kineox.com/google-pay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Klix by Citadele</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "klix" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://developers.klix.app/payment-methods/#google-paytm" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Lapsa Payments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "lapsapayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://lapsa.pro/documents/Google_technical_integration.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>LHV Pank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "lhvpank" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://support.every-pay.com/merchant-support/google-pay-integration-guide/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Liberty</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "liberty" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://cdn.lb.ge/libertybank/files/02/54/03/89TljMMSB0aL1KIINNBJaA/txpg-lb-manual-1-0-12-2.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Life Pay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "lifepay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://confluence.life-pay.ru/pages/viewpage.action?pageId=69009431" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Limepay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "limepay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.limepay.com.au/developer-portal/wallet-payments/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Linkly</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "linkly" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://bpoint.com.au/developers/v5/api/txn/authkey/googlepay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>LiqPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "liqpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.liqpay.ua/documentation/en/api/acquiring/googlepay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Littlepay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "littlepay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.littlepay.io/checkout/wallet-payments/#integrate-with-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>LogPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "logpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://tst2.logpay.de/atlas/documents/lpy-atlas-v2.0_wallet-api-b2c_googlepay_EN.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Loyale</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "loyale" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.loyale.us/" class="external" target="_blank">Developer docs</a> </p> </td> </tr> <tr> <td>lynck</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "lynck" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.lynck.de/api/#google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Lyra</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "lyra" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://lyra.com/fr/google-pay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Magnetiq Bank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "magnetiq" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://old.magnetiqbank.com/wp-content/uploads/2024/05/google-pay-implementation-instruction_v2.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>maib</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "maibecomm" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.maib.md/en/persoane-juridice/acceptare-plati/e-commerce#custom-37/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>MakeCommerce (Maksekeskus)</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "maksekeskus" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://makecommerce.net/google-pay-integration-guide/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Mandarin</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "mandarin" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.mandarin.io/pay-russian/google_pay.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Market Pay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "marketpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://market-pay.com/en/documentation" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Mastercard Payment Gateway Services</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "mpgs" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://na.gateway.mastercard.com/api/documentation/integrationGuidelines/supportedFeatures/pickPaymentMethod/devicePayments/GooglePay.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>MerchantE</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "merchante" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.merchante.com/hubfs/User%20Guides/Using%20Google%20Pay%20with%20MerchantE_June2023.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Midtrans</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "midtrans" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.midtrans.com/reference/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Merchant Warrior</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "merchantwarrior" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://dox.merchantwarrior.com/digital-wallets-web#google-pay-prerequisites" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Minsait Payments Systems</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "minsaitpaymentsgateway" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://cms.minsaitpayments.com/wp-content/uploads/2023/04/OSP-Google-Pay-DOC-v3_ENG_MPS.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>MITEC</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "mitecmx" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="http://wppsandbox.mit.com.mx/gpay.jsp" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>MIXPLAT</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "mixplat" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.mixplat.ru/scenarios/#38-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>MOBI.Money</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "mobimoney" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://mobi-corp.ru/googlepay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Modulbank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "modulbank" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://modulbank.ru/support/googlepay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Molpay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "molpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p>No developer docs available</p> </td> </tr> <tr> <td>Mondido</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "mondido" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.mondido.com/en/blog/google-pay-documentation/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Monei</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "monei" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.monei.com/docs/payment-methods/google-pay/#google-pay-direct-api-integration" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>monek</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "monek" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.monek.com/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Moneris</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "moneris" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.moneris.com/Documentation/NA/E-Commerce%20Solutions/Google%20Pay/Overview" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Moneta</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "moneta" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p>No developer docs available</p> </td> </tr> <tr> <td>Monext</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "monext" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://payline.atlassian.net/wiki/spaces/DT/pages/1471283926/Google+Pay+-+Integration+EN" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Money.Mail.Ru</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "moneymailru" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://money.mail.ru/oferta/googlepay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>MPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "managepay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.managepay.com/managepay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>mstartipg</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "mstartipg" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://mcheckout.mstart.hr/iCheckOutX/documentation/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Multicarta</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "mulitcarta" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="http://multicarta.ru/internet-ekvayring/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>MultiSafepay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "multisafepay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.multisafepay.com/payment-methods/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Mundipagg</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "mundipagg" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.mundipagg.com/docs/google-pay-tm" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>MyCheck</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "mycheck" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="http://www.mycheck.io/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>MyChoice2Pay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Carbon"><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"gateway"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"mychoice2pay"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"gatewayMerchantId"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</span></pre></devsite-code> <p><a href="https://docs.mychoice2pay.com/docs/api-en/13558d27c8e17-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>MyFatoorah</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "myfatoorah" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://myfatoorah.readme.io/docs/google-pay-native" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>MyPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "mypay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p>No developer docs available</p> </td> </tr> <tr> <td>myPOS</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "mypos" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.mypos.eu/en/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>N&TS Group</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "netsgroup" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://netsgroup.com/" class="external" target="_blank">Developer docs</a> </p> </td> </tr> <tr> <td>NCCC</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "nccc" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.nccc.com.tw" class="external" target="_blank">Developer docs</a> </p> </td> </tr> <tr> <td>Neon Pay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "neonpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.neononepay.com/google-pay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Netopia</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "netopia" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://netopia-payments.com/servicii/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Netvalve</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "netvalve" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://netvalve.atlassian.net/wiki/spaces/ND/pages/45613057/Google+Pay+integration" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Network International</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "networkintl" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.ngenius-payments.com/reference/google-pay-integration" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Newebpay (formerly STPath, Pay2Go)</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "newebpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.spgateway.com/website/Page/content/download_api" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Newtech</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "newtechmobile" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.newtech.lv/" class="external" target="_blank">Developer docs</a> </p> </td> </tr> <tr> <td>Nexi</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "nexi" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://ecommerce.nexi.it/specifiche-tecniche/pagamentosemplice/altrimetodipagamento/googlepay.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Nexi Easy</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "easy" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.nexigroup.com/nexi-checkout/en-EU/docs/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>NMI</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "gatewayservices" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://support.nmi.com/hc/en-gb/articles/360012639192-Google-Pay-with-ChipDNA-Direct" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>noon payments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "noonpayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.noonpayments.com/payment-method/googlepay/introduction" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Noqoody Pay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "noqoodypay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://noqoody.com/googlepay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Novalnet</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "novalnet" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.novalnet.de/onlinepayments/aboutgooglepay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Nexi Relay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "nexirelay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.nexigroup.com/en-EU/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>NTT DATA</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "nttdatahk" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://hk.nttdata.com/payment-acceptance-and-processing" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Nuvei</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "nuvei" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.nuvei.com/documentation/global-guides/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Oceanpayment</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "oceanpayment" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.oceanpayment.com/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Omise</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "omise" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.omise.co/googlepay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>One Inc</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "oneinc" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.oneinc.com/developers" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Onelya</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "onelya" "gatewayMerchantId": "<var translate="no">YOUR_GATWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.gateline.net/api/google-pay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Onerway</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ronghan" "gatewayMerchantId": "<var translate="no">YOUR_GATWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://sandbox-v3-doc.pacypay.com/?java=#onerway-v3-0-openapi-google-pay-" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>OneVision Limited</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "onevision" "gatewayMerchantId": "<var translate="no">YOUR_GATWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.onevisionpay.com/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>OnPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "onpayio" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://onpay.io/docs/google-pay.html" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Opayo by Elavon</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "opayoelavon" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.elavon.com/products/opayo/v1/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>OrkestaPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "orkestapay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.orkestapay.com/docs/en/google-pay#google-pay%E2%84%A2" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Oschadbank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "oschadbank" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://3ds.oschadbank.ua/Інтеграція_з_Google_Pay.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>pagarme</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "pagarme" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.pagar.me/docs/google-pay-tm-guide" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PagBank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "pagbank" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://dev.pagbank.uol.com.br/reference/como-integrar-o-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PagBrasil</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "pagbrasil" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.pagbrasil.com/pt-br/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PagSeguro</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "pagsegurointernational" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.international.pagseguro.com/docs/google-pay-api" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PAY2M</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "pay2m" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://pay2m.com/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Payarc</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payarc" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.payarc.net/#a0463c39-0df4-40da-aac6-2befee70870c" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Pay.com</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paycom" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://apiref.pay.com/reference/googlepay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>PAYCOMET</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paycomet" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.paycomet.com/en/recursos/espec/googlepay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Paydock</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paydock" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://helpdesk.paydock.com/article/190-google-pay-with-mastercard" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PayEase</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payeasenet" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://demo.yizhifubj.com/Development/showdoc-master/web/#/19?page_id=1182" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PayEngine</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payengine" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.payengine.co/developer-docs/processing-payments/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PayFabric</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payfabric" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://github.com/PayFabric/Portal/blob/master/PayFabric/Sections/APM.md#google-paytm" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PayFacto</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payfacto" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://payfacto.com/google-pay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>paygent</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paygent" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.paygent.co.jp/service/googlepay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Payhub</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payhub" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://innsmouth.payhub.com.ua/google-pay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>PayKKa</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paykkaeu" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://jlpay.yuque.com/pmw77l/zfm2gs/fzv0up0c2yeyn6gt?singleDoc" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>PayLane</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paylane" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://devzone.paylane.com/api-guide/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Payler</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payler" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://payler.com/developers/internetacquiring/13" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PayLink®</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paylink" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://why.pay.link/integrate-google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Payload</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="GDScript"><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"gateway"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"payload"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"gatewayMerchantId"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</span></pre></devsite-code> <p> <a href="https://docs.payload.co/ui/mobile-wallets/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Paymark</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paymark" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.paymark.co.nz/products/click/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>PayMaster</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paymaster" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://paymaster.ru/docs/ru/googlepay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Payment Fusion</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paymentfusion" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://partner.paymentfusion.com" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Paymentvision</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paymentvision" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://apihelp.autoscribe.com/googlepay/google-pay-processing" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Paymentwall</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paymentwall" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.paymentwall.com/payment-method/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Paymo</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paymo" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.paymo.ru/#google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Paymob</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "gpaymob" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.paymob.ae/docs/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Paymtech</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paymtech" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://paymtech.kz/pdf/GooglePay_integration.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PayNearMe</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paynearme" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://home.paynearme.com/payment-types/apple-google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Payneteasy</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payneteasy" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://doc.payneteasy.eu/alternative_payment_methods_API/googlepayintegration.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Pay.nl</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paynl" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.pay.nl/paymentoptions?language=en#google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Paynopain</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paynopain" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://paylandsen.docs.apiary.io/#reference/alternative-payment-methods" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PayOne</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payone" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://payone.document360.io/docs/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PayOnline</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payonline" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://developers.payonline.ru/googlepay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Payoo</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payoo" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.payoo.vn/docs/PayooPGW_IntegrationDocument_GooglePay.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PayPlus</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payplus" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.payplus.co.il/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Payrails</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payrails" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.payrails.com/docs/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Payrexx</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payrexx" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.payrexx.com/merchant/v/master/payment-priovder/external-payment-provider/wallets-and-more/google-pay-tm" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PayRiff</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payriff" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.payriff.com/#googlepay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Payrix</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payrix" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://resource.payrix.com/resources/enable-google-pay-for-web" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Paysafe</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paysafe" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.paysafe.com/en/rest-apis/google-pay/overview/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Payscout</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payscout" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://project.payscout.com/dbtranz/docs/OSBP/files/Development.html#introduction" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Paysend Business</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paysend" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://paysend.com/business/acquiring/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Paysoft</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paysoft" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.paysoft.solutions/en/server2server/googlepay.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Pay360</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "pay360" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.pay360.com/google-pay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>paytech</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paytechsolutions" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://paytech.readme.io/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>PayTech Ukraine</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paytech" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://paytech.com.ua/wp-content/uploads/2023/09/g_pay_documentation-3.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Paythru</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paythru" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.paythru.com/walletpayments/google-pay.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Payture</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payture" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="http://payture.com/google-pay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>PayU</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payu" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="http://developers.payu.com/en/google_pay.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PayU LATAM</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payulatam" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.payulatam.com/latam/en/docs/integrations/api-integration/payments-api-brazil.html#submit-transaction-with-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PAYUNi</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payuni" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.payuni.com.tw/docs/web/#/7/34" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>PayU Romania</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payuro" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://secure.payu.ro/docs/alu/v3/#token-googlepay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PayU Russia</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payuru" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://secure.payu.ru/docs/alu/v3/#token-googlepay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Payway</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payway" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.payway.com/wp-content/uploads/Payway-GooglePay-Integration-Guide_DesignRev4.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Paywiser</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "paywiser" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://paywiser.com/api/gpay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Payzone Ireland</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payzoneireland" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.payzone.ie/business/online-payment-solutions" class="external" target="_blank">Developer docs</a> </p> </td> </tr> <tr> <td>PBT Gateway Services Ltd</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "pbtgateway" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://merchants.pbtpay.eu/WebSite/DeveloperDocs.aspx" class="external" target="_blank">Developer docs</a> </p> </td> </tr> <tr> <td>Pelecard</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "pelecard" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.pelecard.com/google-pay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Pensopay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "pensopay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://help.pensopay.com/hc/da/articles/19813066927261-Google-Pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Pikassa</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "pikassa" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://pikassa.io/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>PingPong</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "pingpongx" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.pingpongx.com/zh" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Pin Payments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "pinpayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://pinpayments.com/developers/integration-guides/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Planet</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "cccpayment" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.planetpayment.com/media/5060/googlepay-integration.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PlanetPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "itcardpaymentservice" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://planetpay.pl/storage/app/uploads/public/65a/007/0e3/65a0070e39c1b403290322.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Plategka.com</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "plategkacom" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.plategka.com/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Platon</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "platon" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://platon.atlassian.net/wiki/spaces/docs/pages/1346994177/Google+Pay+API" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Pomelo</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "pomelopay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.pomelopay.com/docs/wallet-payments/ZG9jOjE3NjM0MDQ1-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Portmone</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "portmonecom" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.portmone.com.ua/docs/GPay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Preczn</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "preczn" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.preczn.com/docs/google-pay-for-web" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PrimePay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "primepay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.primepay.kz/#google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Primer</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "primer" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://primer.io/docs/payment-methods/google-pay/direct-integration" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Procard</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "procard" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.procard-ltd.com/en/docs/GooglePay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>ProcessOut</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "processout" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.processout.com/payments/googlepay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Przelewy24</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "przelewy24" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.przelewy24.pl/#tag/GPay-Description" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PSCB</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "pscbru" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.pscb.ru/oos/shpa.html#shlyuz-prozrachnoj-avtorizacii-scenarii-vzaimodejstviya-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>PXP Financial</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "pxpfinancial" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.pxp-solutions.com/reference/google-pay-process-flow" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Qenta Payment CEE</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "qenta" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://guides.qenta.com/payment-methods/googlePayApi/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>QIWI</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "qiwi" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.qiwi.com/en/qiwipay/#introduction" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Qualpay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "qualpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.qualpay.com/developer/guides/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>QuickPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "quickpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://learn.quickpay.net/helpdesk/en/articles/payment-methods/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Qvalent</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "qvalent" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://quickstream.westpac.com.au/docs/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Radial</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "radial" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.radial.com/ptf/Content/Topics/payments/google-integration.htm?Highlight=google%20pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Rapyd</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "rapyd" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.rapyd.net/build-with-rapyd/docs/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>RBK.money</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "rbkmoney" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.rbk.money/docs/payments/googlepay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Rebail Capital</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "rebailcapital" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://rebail.capital/googlepay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Rebilly</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "Rebilly" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.rebilly.com/integrations/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Recurly</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "recurly" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.recurly.com/docs/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Reddot</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "reddotpayment" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://reddotpayment.com/google-pay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Rede</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "rede" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.maxipago.com/developers/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Redsys</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "redsys" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://pagosonline.redsys.es/googlePay.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Reepay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "reepay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://reepay.com/payments-with-google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>RocketGate</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "rocketgate" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.rocketgate.com/googlepay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Russian Standard Bank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "rsb" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://testsecurepay.rsb.ru/email/rsb_ecomm_api_en.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Ryft</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ryft" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://developer.ryftpay.com/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Saferpay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "worldlinesaferpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.saferpay.com/home/integration-guide/payment-methods/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Safexpay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "safexpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.safexpay.ae/GooglePay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Sberbank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "sberbank" "gatewayMerchantId": "<var translate="no">YOUR_ORGANIZATION_NAME</var>"</pre></devsite-code> <p><a href="https://securepayments.sberbank.ru/wiki/doku.php/integration:googlepay:start" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>SEB Baltic</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "sebbaltic" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://support.ecommerce.sebgroup.com/merchant-support/google-pay-integration-guide/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>SEBES Technology</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "sebes" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://sebestech.com/API/google.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Sense Bank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "sensebank" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://sensebank.com.ua/samostijna-integracia-platformi-internet-magazinu-z-google-pay-api" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>SensePass</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "sensepass" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.sensepass.com/sensepay/transaction-api/payment-methods" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Shift4</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "shift4payments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://dev.shift4.com/examples/charge-with-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Shiji Group</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "shijipaymentsolutions" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.shijigroup.com/brands/shiji-payment-solutions" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>SH Start High</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "shstartpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.shstartpay.com/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>simbasoft</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "simbasoft" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://developer.symoco.com" class="external" target="_blank">Developer docs</a> </p> </td> </tr> <tr> <td>Sipay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "sipay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://sandbox.sipay.es/docm/google/en/" class="external" target="_blank">Developer docs</a> </p> </td> </tr> <tr> <td>Softbank Payment Service</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "sbps" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.sbpayment.jp/service/asp/google_pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Softtouch POS and Payments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "softtouch" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.fractalpay.com/googlepayhttps://web.softtouchpos.co/auth/softtouch-google-pay-developer-documentation" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Solid</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "solid" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://dev.solidgate.com/developers/documentation/payments/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Sony Payment Services</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "sonypaymentservices" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.sonypaymentservices.jp/consider/Google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Splitit</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "splitit" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.splitit.com/support/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Spreedly</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "spreedly" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.spreedly.com/guides/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Square</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "square" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.connect.squareup.com/payments/sqpaymentform/digitalwallet/googlepay-setup" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>SredaPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "sredapay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://googlepartners.file.force.com/servlet/servlet.FileDownload?file=00P6Q00001hRDWBUA4&operationContext=S1" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Stancer</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "stancer" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.stancer.com/documentation/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Stripe</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "stripe" "stripe:version": "2018-10-31" "stripe:publishableKey": "<var translate="no">YOUR_PUBLIC_STRIPE_KEY</var>"</pre></devsite-code> <p> <a href="https://stripe.com/docs/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Suntech</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "esafe" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.sunpay.com.tw/%e7%94%a2%e5%93%81%e8%aa%aa%e6%98%8e/%e4%bf%a1%e7%94%a8%e5%8d%a1/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Surfboard Payments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "surfboard" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.surfboardpayments.com/docs/concepts/payment-methods/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Svea Bank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "svea" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.svea.com/se/sv/foretag/betallosningar/betall%C3%B6sningar-app/wallet/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Swedbank Baltic</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "swedbankbaltic" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://support.every-pay.com/merchant-support/google-pay-integration-guide/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Swedbank Pay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "payexswedbankpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://developer.swedbankpay.com" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>TabaPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "tabapay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developers.tabapay.com/GooglePay_Developer.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>TapPay (Cherri Tech)</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "tappay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.tappaysdk.com/taiwan-zhtw/service/payments/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>TapPayments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "tappayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://github.com/Tap-Payments/gosell-js-client/tree/development#google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>tarlanpayments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "tarlanpayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.tarlanpayments.kz/en/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>TAS Link</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "taslink" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://p.taslink.com.ua/gpay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Tatra banka (CardPay)</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "tatrabanka" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p>No developer docs available</p> </td> </tr> <tr> <td>TEKO</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "teko" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.teko.io/assets/common/gpay_integration.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>theMAP</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "themap" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://doc.mapcard.pro/current/sposoby-oplaty/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Till Payments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "tillpayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://tillpayments.com/news/google-pay-tm-integration" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Tinkoff</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "tinkoff" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://oplata.tinkoff.ru/solution/methods/googlepay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>TPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "tpaycom" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://support.tpay.com/pl/merchant/google-pay-tm-on-site" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>TPay.com</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "tpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://tpay.com/platnosci-karta/googlepay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Transact Campus</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "transactcampus" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://transactcampus.com/landing/Using-Google-Pay-with-Transact-Campus" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Transaction Services Network</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "tns" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.advam.com/solutions/pathtopay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Transpayrent</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "transpayrent" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://documentation.transpayrent.cloud" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Tranzila</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "tranzila" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.tranzila.com/google-pay.html" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Tranzzo</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "tranzzo" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.tranzzo.com/docs/payment-methods/digital-wallets/google-pay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Tribe Payments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "tribepayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://doc.tribepayments.com/docs/gateway--google-pay-flow--v1" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Truevo</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "truevo" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.truevo.com/" class="external" target="_blank">Developer docs</a> </p> </td> </tr> <tr> <td>TrustPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "trustpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.trustpay.eu/more-payment-methods/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Trust Payments</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "trustpayments" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://help.trustpayments.com/hc/en-us/sections/4404834183185-Google-Pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Tuna</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "tuna" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://dev.tuna.uy/payments/googlepay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>2can&ibox</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "twocan" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.2can.ru/docs/offer_google_pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>UAPAY</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "uapay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://uapayua.atlassian.net/wiki/spaces/AC/pages/1604222977/Google+Pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>UBRR</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ubrrpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.ubrr.ru/sites/default/files/obshchee_opisanie_modulya_integracii_cms_i_twpg_gpay_v2.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Ukrcardpay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ukrcardpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.ukrcard.ua/google_pay_integration_guide_for_ukrcardpay_PSP_v1_0_0_eng.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>UkrGasBank Pay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "ukrgasbankpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.ukrgasaws.com/en/google_pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Unibank OJSC</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "unibankcheckout" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://unibank.az/uploads/other/GooglePay_api_Unibank.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>unitedfinancialcorporation</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "unitedfinancialcorporation" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="/static/pay/api/download-assets/unitedfinancialcorporation-gpay-integration.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Uniteller</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "uniteller" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.uniteller.ru/google-pay/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Unitpay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "unitpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://help.unitpay.ru/unitpay-management/instrukciya-po-interfeisu#komissii-i-platezhnye-metody" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Unlimint</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "unlimint" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://integration.unlimint.com/v3/#Google-Pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Unzer</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "unzer" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.unzer.com/payment-methods/googlepay/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Unzer Austria</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "unzeraustria" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.mpay24.com/docs/googlepay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>UPC</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "upc" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://upc.ua/ecommerce/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Upgate</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "upgate" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://upgate.redoc.ly/#tag/Google-Pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>USAePay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "usaepay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://help.usaepay.info/developer/client-js-v2/#google-paytm" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>UseePay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "useepay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://useepay.gitbook.io/useepay/plugins/google-pay-api-dai-shang-xian" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Valitor</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "valitor" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://valitorpay.github.io/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Vantiv</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "vantiv" "vantiv:merchantPayPageId": "<var translate="no">YOUR_PAY_PAGE_ID</var>" "vantiv:merchantOrderId": "<var translate="no">YOUR_ORDER_ID</var>" "vantiv:merchantTransactionId": "<var translate="no">YOUR_TRANSACTION_ID</var>" "vantiv:merchantReportGroup": "*web"</pre></devsite-code> <p><a href="https://developer.worldpay.com/docs/wpg/mobilewallets/googlepay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Verestro</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "verestro" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.verestro.com/books/paytool" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Very Good Security</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "verygoodsecurity" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.verygoodsecurity.com/docs/integrations/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Victoriabank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "victoriabank" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.victoriabank.md/en/carduri-pj/e-commerce-test" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Vindicia</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "vindicia" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.vindicia.com/cashbox-and-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Viva Wallet</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "vivawallet" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.vivawallet.com/online-checkouts/redirect-checkout/google-pay-integration/" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>VTEX</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "vtex" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://help.vtex.com/en/tracks/carteira-digital-e-wallet--6X8YyZBoVJpz5R8oXciTyu/61JMBvM5Vanqj6RaJsP8CT" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Walletdoc</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "walletdoc" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.walletdoc.com/docs/google-pay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Walletto</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "walletto" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://walletto.eu/documents/GooglePay_integration.pdf" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>WayForPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "wayforpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://help.wayforpay.com/display/knowledgewfp/Payment+method+Google+Pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>WEAT</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "weatpay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.weat.de/produkte/mph" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>WhenThen</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "whenthen" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://documentation.whenthen.com/orchestrate/alternative-payment-methods/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Windcave</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "windcave" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.windcave.com/developer-ecommerce-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Wirebank</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="verilog"><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"gateway"</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"wirebank"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"gatewayMerchantId"</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</span></pre></devsite-code> <p><a href="https://wirebank.ru/docs/api/#section/Provedenie-oplaty-s-Google-Paytm" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Wirecard</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="verilog"><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"gateway"</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"wirecard"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"gatewayMerchantId"</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</span></pre></devsite-code> <p><a href="https://doc.wirecard.com/GooglePay_Main.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>WOOPPAY</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "wooppay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.woopkassa.kz/kz/products/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>WooshPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "swooshtransfer" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.wooshpay.com/developer-doc" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Worldline (GlobalCollect)</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "globalcollect" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://epayments.developer-ingenico.com/payment-product/google-pay/overview" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Worldline - Ingenico (WL Online Checkout)</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "worldlineingenicoogone" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://support.direct.ingenico.com/payment-methods/google-pay/overview" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Worldline Nordics (Worldline Online Checkout)</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "worldlineonlinecheckout" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.bambora.com/europe/checkout/payment-methods/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Worldline Sips</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "wlsips" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.sips.worldline-solutions.com/en/WLSIPS.157-PM-Google-Pay-integration.html" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Worldnet</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "worldnet" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://docs.worldnettps.com/doku.php?id=developer:api_specification:xml_payment_features_googlepay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Worldpay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "worldpay" "gatewayMerchantId": "<var translate="no">YOUR_WORLDPAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer.worldpay.com/docs/wpg/mobilewallets/googlepay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Wpay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "wpayaus" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developerhub.wpay.com.au/digitalpayments/docs/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>WSPay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "wspay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://docs.wspay.info/googlepay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>XPATE</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "xpate" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://developer-portal.xpate.com/docs/xpate-gateway/i9tnh1rdt0gsx-google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>xpay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "xpaycomua" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://www.xpay.com.ua/eng-google-pay-integration-guide" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>YIĞIM Payment System</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "yigim" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p>No developer docs available</p> </td> </tr> <tr> <td>ЮKassa (YooKassa)</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "yoomoney" "gatewayMerchantId": "<var translate="no">YOUR_SHOP_ID</var>"</pre></devsite-code> <p> <a href="https://yookassa.ru/integration-mobile/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Z-credit</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "zcredit" "gatewayMerchantId": "<var translate="no">YOUR_SHOP_ID</var>"</pre></devsite-code> <p> <a href="https://zcreditwc.docs.apiary.io/" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Zalopay</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "zalopay" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://beta-docs.zalopay.vn/docs/guides/payment-acceptance/googlepay/intro" class="external" target="_blank" >Developer docs</a> </p> </td> </tr> <tr> <td>ZEN.com</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "zen" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p> <a href="https://www.zen.com/developer/googlepay" class="external" target="_blank" >Developer docs</a > </p> </td> </tr> <tr> <td>Zest</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "zestpayment" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://apidocs.dev.gateway.zestpayment.com/#/google-pay" class="external" target="_blank">Developer docs</a></p> </td> </tr> <tr> <td>Zuora</td> <td> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="scdoc"> "gateway": "zuora" "gatewayMerchantId": "<var translate="no">YOUR_GATEWAY_MERCHANT_ID</var>"</pre></devsite-code> <p><a href="https://knowledgecenter.zuora.com/Zuora_Payments/Payment_Methods/B_Define_Payment_Methods/C1_Set_up_Google_Pay_with_Zuora_JavaScript_SDK" class="external" target="_blank">Developer docs</a></p> </td> </tr> </tbody> </table> <devsite-pagination container="devsite-filter" elements=".list tr" elements-per-page="5" ></devsite-pagination> </devsite-filter> </div> <div class="key-point"> <b>Tip</b>: <code translate="no" dir="ltr">example</code> is a valid gateway name in the test environment. If you want to try out the API, you can leave the code sample above as-is. When you use the <code translate="no" dir="ltr">example</code> gateway, your site doesn't receive card data capable of a transaction, but the user flow looks the same. </div> <p>The <code translate="no" dir="ltr">PAYMENT_GATEWAY</code> tokenization type is the most common merchant implementation of the card payment method in the Google Pay API. If your payment provider isn't supported, you might be able to accept Google Pay by a DIRECT integration. For more information, see the <a href="/pay/api/web/reference/request-objects#direct">Direct tokenization documentation</a>.</p> </section> <section aria-labelledby="supported-card-networks"> <h2 id="supported-card-networks" data-text="Step 3: Define supported payment card networks" tabindex="-1">Step 3: Define supported payment card networks</h2> <p>Define the card networks accepted by your site. See the following code sample:</p> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">allowedCardNetworks</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s2">"AMEX"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"DISCOVER"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"INTERAC"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"JCB"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"MASTERCARD"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"VISA"</span><span class="devsite-syntax-p">];</span></pre></devsite-code> <p>The Google Pay API might return cards on file on Google.com (<code translate="no" dir="ltr">PAN_ONLY</code>) or a device token on an Android-powered device authenticated with a 3-D Secure cryptogram (<code translate="no" dir="ltr">CRYPTOGRAM_3DS</code>). You can control whether both methods or just one of them can be returned.</p> <p>Before you set <code translate="no" dir="ltr">allowedCardAuthMethods</code>, confirm with your payment processor and acquirer on whether device tokens (<code translate="no" dir="ltr">CRYPTOGRAM_3DS</code>) are supported in your region.</p> <p>See the following code sample:</p> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">allowedCardAuthMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s2">"PAN_ONLY"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"CRYPTOGRAM_3DS"</span><span class="devsite-syntax-p">];</span></pre></devsite-code> <p>For more information, see <a href="/pay/api/web/reference/request-objects#CardParameters"><code translate="no" dir="ltr">CardParameters</code></a> in our Object reference documentation. Also, check with your gateway or processor for the card networks that are supported, and for support for Android device tokens. </p> <div class="warning"> <b>Important</b>: <ul> <li>Make sure that you also apply your existing risk checks and controls for payment transactions to Google Pay transactions. Google Pay validation and fraud checks aren't intended to replace your risk management processes. </li> <li>If you support <code translate="no" dir="ltr">PAN_ONLY</code>, ensure that you trigger 3D Secure (step-up authentication) for Google Pay PAN <code translate="no" dir="ltr">PAN_ONLY</code> transactions in the same way that you trigger 3D Secure for normal card transactions. </li> </ul> </div> </section> <section aria-labelledby="allowed-payment-methods"> <h2 id="allowed-payment-methods" data-text="Step 4: Describe your allowed payment methods" tabindex="-1">Step 4: Describe your allowed payment methods</h2> <p>To describe your allowed payment methods, complete the following steps:</p> <ol> <li>Combine your supported authentication methods and supported card networks in order to describe your site's support for the <code translate="no" dir="ltr">CARD</code> payment method. See the following code sample: <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">baseCardPaymentMethod</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">type</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'CARD'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">parameters</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">allowedAuthMethods</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">allowedCardAuthMethods</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">allowedCardNetworks</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">allowedCardNetworks</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">};</span></pre></devsite-code> </li> <li>Extend the base card payment method object to describe information you expect to be returned to your application. Include a description of the tokenized payment data. See the following code sample: <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">cardPaymentMethod</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">Object</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">assign</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-nx">tokenizationSpecification</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">tokenizationSpecification</span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">baseCardPaymentMethod</span> <span class="devsite-syntax-p">);</span></pre></devsite-code> </li> <p>For more information about supported <code translate="no" dir="ltr">parameters</code>, see <a href="/pay/api/web/reference/request-objects#CardParameters"><code translate="no" dir="ltr">CardParameters</code></a>. </p> <p>Google Pay currently only supports the <code translate="no" dir="ltr">CARD</code> payment method type.</p> </ol> </section> <section aria-labelledby="js-load"> <h2 id="js-load" data-text="Step 5: Load the Google Pay API JavaScript library" tabindex="-1">Step 5: Load the Google Pay API JavaScript library</h2> <p>To load the Google Pay API JavaScript library, complete the following steps:</p> <ol> <li>Include Google's hosted JavaScript on your page. See the following code sample: <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="HTML"><script async src="https://pay.google.com/gp/p/js/pay.js" onload="console.log('TODO: add onload function')"> </script></pre></devsite-code> </li> <li>After the Google Pay API JavaScript library loads, initialize a <a href="/pay/api/web/reference/client#PaymentsClient"><code translate="no" dir="ltr">PaymentsClient</code></a> object. Initial development uses a <code translate="no" dir="ltr">TEST</code> environment, which returns dummy payment methods that are suitable to reference the structure of a payment response. In this environment, a selected payment method isn't capable of a transaction. See the following code sample. <div class="note"> <b>Note</b>: We recommend that you only initialize <code translate="no" dir="ltr">paymentsClient</code> once. Use the same instance when you invoke all of the other APIs, like <code translate="no" dir="ltr">CreateButton</code>, <code translate="no" dir="ltr">IsReadyToPay</code>, <code translate="no" dir="ltr">PrefetchPaymentData</code>, and <code translate="no" dir="ltr">LoadPaymentData</code>. </div> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">google</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">payments</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">api</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">PaymentsClient</span><span class="devsite-syntax-p">({</span><span class="devsite-syntax-nx">environment</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'TEST'</span><span class="devsite-syntax-p">});</span></pre></devsite-code> <p>For more information about the requirements for a <code translate="no" dir="ltr">PRODUCTION</code> environment that returns chargeable payment methods, see the <a href="/pay/api/web/guides/test-and-deploy/integration-checklist">Integration checklist</a>. </p> </li> </ol> </section> <section aria-labelledby="isreadytopay"> <h2 id="isreadytopay" data-text="Step 6: Determine readiness to pay with the Google Pay API" tabindex="-1">Step 6: Determine readiness to pay with the Google Pay API</h2> <p>To determine readiness to pay with the Google Pay API, complete the following steps:</p> <ol> <li>Add your allowed payment methods to your base request object. See the following code sample: <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">isReadyToPayRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">Object</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">assign</span><span class="devsite-syntax-p">({},</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">baseRequest</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-nx">isReadyToPayRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">allowedPaymentMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-nx">baseCardPaymentMethod</span><span class="devsite-syntax-p">];</span></pre></devsite-code> </li> <li>Call <a href="/pay/api/web/reference/client#isReadyToPay"><code translate="no" dir="ltr">isReadyToPay()</code></a> to determine if the Google Pay API is supported by the current device and browser for your specified payment methods. See the following code sample: <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-nx">paymentsClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">isReadyToPay</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">isReadyToPayRequest</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">then</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">response</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">response</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">result</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// add a Google Pay payment button</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">})</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-k">catch</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// show error in developer console for debugging</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">console</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">error</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span></pre></devsite-code> </li> </ol> </section> <section aria-labelledby="add-button"> <h2 id="add-button" data-text="Step 7: Add a Google Pay payment button" tabindex="-1">Step 7: Add a Google Pay payment button</h2> <p>Add a Google Pay payment button to your page to encourage shoppers to check out with payment methods that are supported by the Google Pay API and your site. For more information about available button types, colors, and display requirements, see the <a href="/pay/api/web/guides/brand-guidelines" title="Google Pay brand guidelines">Brand guidelines</a>.</p> <p>See the following payment button code sample:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentsClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">createButton</span><span class="devsite-syntax-p">({</span><span class="devsite-syntax-nx">onClick</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">=></span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">console</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">log</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'TODO: click handler'</span><span class="devsite-syntax-p">),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">allowedPaymentMethods</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[]});</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// same payment methods as for the loadPaymentData() API call</span> <span class="devsite-syntax-nb">document</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">getElementById</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'container'</span><span class="devsite-syntax-p">).</span><span class="devsite-syntax-nx">appendChild</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">button</span><span class="devsite-syntax-p">);</span></pre></devsite-code> </section> <aside><b>Note</b>: To learn how to customize the Google Pay payment button, see <a href="/pay/api/web/guides/resources/customize">Customize your button</a>.</aside> <section aria-labelledby="paymentdatarequest"> <h2 id="paymentdatarequest" data-text="Step 8: Create a PaymentDataRequest object" tabindex="-1">Step 8: Create a PaymentDataRequest object</h2> <p>To create a <code translate="no" dir="ltr">PaymentDataRequest</code> object, complete the following steps:</p> <ol> <li>Build a JavaScript object that describes your site's support for the Google Pay API. For a full list of supported properties, see <a href="/pay/api/web/reference/request-objects#PaymentDataRequest"> <code translate="no" dir="ltr">PaymentDataRequest</code></a>. See the following code sample: <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">Object</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">assign</span><span class="devsite-syntax-p">({},</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">baseRequest</span><span class="devsite-syntax-p">);</span></pre></devsite-code> </li> <li>Add the payment methods supported by your app, such as any configuration of additional data that's expected in the response. See the following code sample: <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">allowedPaymentMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-nx">cardPaymentMethod</span><span class="devsite-syntax-p">];</span></pre></devsite-code> </li> <li>Define a total price and currency for a shopper to authorize. See the following code sample: <div class="warning"><b>Important</b>: Merchants that process transactions in the European Economic Area (EEA) or any other countries that are subject to <a href="/pay/api/web/guides/resources/sca">Strong Customer Authentication</a> (SCA) must include the <code translate="no" dir="ltr">countryCode</code>, <code translate="no" dir="ltr">totalPrice</code>, and <code translate="no" dir="ltr">merchantName</code> parameters to meet SCA requirements.</div> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">totalPriceStatus</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'FINAL'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">totalPrice</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'123.45'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">currencyCode</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'USD'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">countryCode</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'US'</span> <span class="devsite-syntax-p">};</span></pre></devsite-code> </li> <li>Provide a user-visible merchant name, and use our <code translate="no" dir="ltr">TEST</code> <code translate="no" dir="ltr">merchantId</code> value when in <code translate="no" dir="ltr">TEST</code>. For more details, and for information on when to replace the <code translate="no" dir="ltr">TEST</code> <code translate="no" dir="ltr">merchantId</code> value, see <a href="/pay/api/web/reference/request-objects#MerchantInfo"><code translate="no" dir="ltr">MerchantInfo</code></a>. See the following code sample of a user-visible merchant name: <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">merchantInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantName</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'<var translate="no">Example Merchant</var>'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantId</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'<var translate="no">12345678901234567890</var>'</span> <span class="devsite-syntax-p">};</span></pre></devsite-code> <div class="note"><b>Note</b>: Our <code translate="no" dir="ltr">TEST</code> <code translate="no" dir="ltr">merchantId</code> value is numeric. Your specific <code translate="no" dir="ltr">merchantId</code> value can be numeric or alphanumeric. Review <a href="/pay/api/web/reference/request-objects#MerchantInfo">MerchantInfo</a> for more details on how to obtain your specific <code translate="no" dir="ltr">merchantId</code>.</div> </li> </ol> </section> <section aria-labelledby="event-handler"> <h2 id="event-handler" data-text="Step 9: Register an event handler for user gestures" tabindex="-1">Step 9: Register an event handler for user gestures</h2> <p>To register an event handler for user gestures, complete the following steps:</p> <ol> <li>Register a click event handler for the purchase button. The event handler calls <code translate="no" dir="ltr">loadPaymentData()</code> immediately after it interacts with the <b>Google Pay,</b> payment button.</li> <li>After a Google user grants permission for your site to receive information about the user's selected form of payment and optional contact data, handle the response from the Google Pay API.</li> <li>Extract the payment token from the <code translate="no" dir="ltr">paymentData</code> response. If you implement a gateway integration, pass this token to your gateway without any modifications. <div class="note"><b>Note</b>: In a <code translate="no" dir="ltr">TEST</code> environment, a payment response includes summary data about the selected payment method that's suitable for display on a confirmation page. The payment response doesn't include a payment method that's capable of a transaction.</div> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-nx">paymentsClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">loadPaymentData</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">).</span><span class="devsite-syntax-nx">then</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">paymentData</span><span class="devsite-syntax-p">){</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// if using gateway tokenization, pass this token without modification</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentToken</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">paymentMethodData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">tokenizationData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">token</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">}).</span><span class="devsite-syntax-k">catch</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-p">){</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// show error in developer console for debugging</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">console</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">error</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">});</span></pre></devsite-code> </li> </ol> </section> <h2 id="authorize-payments" data-text="Step 10 (optional): Set up Authorize Payments" tabindex="-1">Step 10 (optional): Set up Authorize Payments</h2> <p>Authorize Payments is used to start the payment process and acknowledge a payment's authorization status. <aside><b>Note</b>: Authorize Payments doesn't support liability shift.</aside> To set up Authorize Payments, take the following steps:</p> <ol> <li>Register an <a href="/pay/api/web/reference/client#onPaymentAuthorized"><code translate="no" dir="ltr">onPaymentAuthorized()</code></a> callback in <a href="/pay/api/web/reference/request-objects#PaymentOptions"><code translate="no" dir="ltr">PaymentOptions</code></a>.</li> <li>Call the <a href="/pay/api/web/reference/client#loadPaymentData"><code translate="no" dir="ltr">loadPaymentData()</code></a> function with the <code translate="no" dir="ltr">PAYMENT_AUTHORIZATION</code> callback intent.</li> <li>Implement <a href="/pay/api/web/reference/client#onPaymentAuthorized"><code translate="no" dir="ltr">onPaymentAuthorized()</code></a>.</li> </ol> <aside><b>Note</b>: See our <a href="/pay/api/web/guides/resources/demos#authorize-payments-example">Live Google Pay demos</a> page for more information.</aside> <h3 id="register-onpaymentauthorized-callbacks" data-text="Register onPaymentAuthorized callbacks" tabindex="-1">Register onPaymentAuthorized callbacks</h3> <p>The following code sample shows how to register <a href="/pay/api/web/reference/client#onPaymentAuthorized"><code translate="no" dir="ltr">onPaymentAuthorized</code></a> callbacks:</p> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">environment</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"TEST"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantInfo</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantName</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Example Merchant"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantId</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"12345678901234567890"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataCallbacks</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">onPaymentAuthorized</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">onPaymentAuthorized</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span></pre></devsite-code> <h3 id="load-payment-data-with-callback-intents" data-text="Load payment data with callback intents" tabindex="-1">Load payment data with callback intents</h3> <p>The following code sample shows how to initialize the payment sheet with Authorize Payments:</p> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">Object</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">assign</span><span class="devsite-syntax-p">({},</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">baseRequest</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">allowedPaymentMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-nx">cardPaymentMethod</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">getGoogleTransactionInfo</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">merchantInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantName</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'Example Merchant'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantId</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'12345678901234567890'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-p">};</span> <span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">callbackIntents</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s2">"PAYMENT_AUTHORIZATION"</span><span class="devsite-syntax-p">];</span></pre></devsite-code> <h3 id="handle-onpaymentauthorized-callbacacks" data-text="Handle onPaymentAuthorized callbacks" tabindex="-1">Handle onPaymentAuthorized callbacks</h3> <p>The <a href="/pay/api/web/reference/client#onPaymentAuthorized"><code translate="no" dir="ltr">onPaymentAuthorized()</code></a> callback is invoked with a <a href="/pay/api/web/reference/response-objects#PaymentData"><code translate="no" dir="ltr">PaymentData</code></a> object by Google after a payer approves payment through a user gesture, such as if they click <b>Pay</b>.</p> <p>The callback returns a <code translate="no" dir="ltr">Promise<PaymentAuthorizationResult></code> value. The <a href="/pay/api/web/reference/response-objects#PaymentAuthorizationResult"><code translate="no" dir="ltr">PaymentAuthorizationResult</code></a> object has a <code translate="no" dir="ltr">SUCCESS</code> or <code translate="no" dir="ltr">ERROR</code> transaction state status. Upon success, the payment sheet is closed successfully. If you encounter an error, the payment sheet renders the error details returned after the payment is processed. The user can change the payment sheet’s payment data and authorize the payment again. See the following code sample:</p> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">onPaymentAuthorized</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">paymentData</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">Promise</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">resolve</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">reject</span><span class="devsite-syntax-p">){</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// handle the response</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">processPayment</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">paymentData</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">then</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">resolve</span><span class="devsite-syntax-p">({</span><span class="devsite-syntax-nx">transactionState</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'SUCCESS'</span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">})</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-k">catch</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">resolve</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">transactionState</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'ERROR'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">error</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">intent</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'PAYMENT_AUTHORIZATION'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">message</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'Insufficient funds'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">reason</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'PAYMENT_DATA_INVALID'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-p">}</span></pre></devsite-code> <h2 id="price-updates" data-text="Step 11 (optional for shipping-enabled): Set up Dynamic Price Updates" tabindex="-1">Step 11 (optional for shipping-enabled): Set up Dynamic Price Updates</h2> <p>Dynamic Price Updates allows a merchant to dynamically update shipping options and transaction information based on a chosen shipping address. Additionally, you can dynamically update transaction information based on a chosen shipping option.</p> <aside><b>Note</b>: Dynamic Price Updates doesn't support liability shift.</aside> <p>To set up Dynamic Price Updates, take the following steps:</p> <ol> <li>Register both the <a href="/pay/api/web/reference/client#onPaymentAuthorized"><code translate="no" dir="ltr">onPaymentAuthorized</code></a> and <a href="/pay/api/web/reference/client#onPaymentDataChanged"><code translate="no" dir="ltr">onPaymentDataChanged</code></a> callbacks in <a href="/pay/api/web/reference/request-objects#PaymentOptions"><code translate="no" dir="ltr">PaymentOptions</code></a>.</li> <li>Call the <a href="/pay/api/web/reference/client#loadPaymentData"><code translate="no" dir="ltr">loadPaymentData()</code></a> function with callback intents. For details, see the corresponding <a href="#load">example</a>.</li> <li>Implement <a href="/pay/api/web/reference/client#onPaymentAuthorized"><code translate="no" dir="ltr">onPaymentAuthorized</code></a> and <a href="/pay/api/web/reference/client#onPaymentDataChanged"><code translate="no" dir="ltr">onPaymentDataChanged</code></a>.</li> </ol> <aside><b>Note</b>: See our <a href="/pay/api/web/guides/resources/demos#dynamic-price-update-example">Live Google Pay demos</a> page for more information.</aside> <h3 id="register" data-text="Register PaymentData callback" tabindex="-1">Register PaymentData callback</h3> <p>The following code sample shows that Dynamic Price Updates requires callback functions to be registered in the <a href="/pay/api/web/reference/client#PaymentsClient" class="external"><code translate="no" dir="ltr">PaymentsClient</code></a> <a href="/pay/api/web/reference/request-objects#PaymentOptions"><code translate="no" dir="ltr">paymentOptions</code></a> object.</p> <aside><b>Note</b>: Dynamic Price Updates requires the <a href="#authorize-payments">Authorize Payments</a> callback.</aside> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">environment</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"TEST"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantInfo</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantName</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Example Merchant"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantId</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"12345678901234567890"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataCallbacks</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">onPaymentAuthorized</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">onPaymentAuthorized</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">onPaymentDataChanged</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">onPaymentDataChanged</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span></pre></devsite-code> <h3 id="load" data-text="Load payment data with callback intents" tabindex="-1">Load payment data with callback intents</h3> <p>The following code sample shows how a payment sheet must be initialized with a required shipping address and shipping options configuration:</p> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">Object</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">assign</span><span class="devsite-syntax-p">({},</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">baseRequest</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">allowedPaymentMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-nx">cardPaymentMethod</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">getGoogleTransactionInfo</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">merchantInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantId</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'12345678901234567890'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantName</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'Example Merchant'</span> <span class="devsite-syntax-p">};</span> <span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">callbackIntents</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s2">"SHIPPING_ADDRESS"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"SHIPPING_OPTION"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"PAYMENT_AUTHORIZATION"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">shippingAddressRequired</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">true</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">shippingAddressParameters</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">getGoogleShippingAddressParameters</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">shippingOptionRequired</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">true</span><span class="devsite-syntax-p">;</span></pre></devsite-code> <h3 id="implement" data-text="Handle onPaymentDataChanged callback" tabindex="-1">Handle onPaymentDataChanged callback</h3> <p>The <a href="/pay/api/web/reference/client#onPaymentDataChanged"><code translate="no" dir="ltr">onPaymentDataChanged</code></a> callback is invoked with an <a href="/pay/api/web/reference/response-objects#IntermediatePaymentData"><code translate="no" dir="ltr">IntermediatePaymentData</code></a> object, which includes the shipping address and shipping option selected in the payment sheet. </p> <p>The callback returns a <code translate="no" dir="ltr">Promise<PaymentDataRequestUpdate></code>. The <a href="/pay/api/web/reference/request-objects#PaymentDataRequestUpdate"><code translate="no" dir="ltr">PaymentDataRequestUpdate</code></a> object has new transaction information, shipping options, and a payment data error. This data updates the payment sheet. </p> <p>Handle any exception cases, such as an unserviceable shipping address or invalid shipping option, directly in the payment sheet. Set up a <a href="/pay/api/web/reference/response-objects#PaymentDataError"><code translate="no" dir="ltr">PaymentDataError</code></a> object to highlight the reason for the error with an error message to the user. Be sure to include the related intent in the message. For details on how to set up the object and message, see the following code sample:</p> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">onPaymentDataChanged</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">intermediatePaymentData</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">Promise</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">resolve</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">reject</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">shippingAddress</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">intermediatePaymentData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">shippingAddress</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">shippingOptionData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">intermediatePaymentData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">shippingOptionData</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequestUpdate</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{};</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">intermediatePaymentData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">callbackTrigger</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">==</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"INITIALIZE"</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">||</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">intermediatePaymentData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">callbackTrigger</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">==</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"SHIPPING_ADDRESS"</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">shippingAddress</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">administrativeArea</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">==</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"NJ"</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequestUpdate</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">error</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">getGoogleUnserviceableAddressError</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">else</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequestUpdate</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">newShippingOptionParameters</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">getGoogleDefaultShippingOptions</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">selectedShippingOptionId</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequestUpdate</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">newShippingOptionParameters</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">defaultSelectedOptionId</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequestUpdate</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">newTransactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">calculateNewTransactionInfo</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">selectedShippingOptionId</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">else</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">intermediatePaymentData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">callbackTrigger</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">==</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"SHIPPING_OPTION"</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequestUpdate</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">newTransactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">calculateNewTransactionInfo</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">shippingOptionData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">id</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">resolve</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">paymentDataRequestUpdate</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-p">}</span></pre></devsite-code> <h2 id="promo-codes" data-text="Step 12 (optional for promo codes): Set up Promo Codes" tabindex="-1">Step 12 (optional for promo codes): Set up Promo Codes</h2> <p>Promo Codes allow a merchant to dynamically update shipping options and transaction information based on a provided promotional code.</p> <aside><b>Note</b>: Promo Codes doesn't support liability shift.</aside> <p>To set up Promo Codes, take the following steps:</p> <ol> <li>Register the <a href="/pay/api/web/reference/client#onPaymentDataChanged"><code translate="no" dir="ltr">onPaymentDataChanged</code></a> callbacks in <a href="/pay/api/web/reference/request-objects#PaymentOptions"><code translate="no" dir="ltr">PaymentOptions</code></a>.</li> <li>Call the <a href="/pay/api/web/reference/client#loadPaymentData"><code translate="no" dir="ltr">loadPaymentData()</code></a> function with callback intents. For details, see the corresponding <a href="#load">example</a>.</li> <li>Implement the <a href="/pay/api/web/reference/client#onPaymentDataChanged"><code translate="no" dir="ltr"> onPaymentDataChanged callback function</code></a>.</li> </ol> <h3 id="register-offer" data-text="Register Offer callback" tabindex="-1">Register Offer callback</h3> <p>The following code sample shows that Promo Codes require callback functions to be registered in the <a href="https://developers.google.com/pay/api/web/reference/client#PaymentsClient" class="external" target="_blank"><code translate="no" dir="ltr">PaymentsClient</code></a> <a href="/pay/api/web/reference/request-objects#PaymentOptions"><code translate="no" dir="ltr">paymentOptions</code></a> object.</p> <aside><b>Note</b>: Promo Codes require the <a href="#authorize-payments">OFFER</a> callback.</aside> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">environment</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"TEST"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantInfo</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantName</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Example Merchant"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantId</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"12345678901234567890"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataCallbacks</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">onPaymentDataChanged</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">onPaymentDataChanged</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span></pre></devsite-code> <h3 id="load-offer" data-text="Load payment data with callback intents" tabindex="-1">Load payment data with callback intents</h3> <p>The following code sample shows how a payment sheet must be initialized with an OFFER callback intent:</p> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">Object</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">assign</span><span class="devsite-syntax-p">({},</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">baseRequest</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">allowedPaymentMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-nx">cardPaymentMethod</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">getGoogleTransactionInfo</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">merchantInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantId</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'12345678901234567890'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">merchantName</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'Example Merchant'</span> <span class="devsite-syntax-p">};</span> <span class="devsite-syntax-nx">paymentDataRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">callbackIntents</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s2">"OFFER"</span><span class="devsite-syntax-p">];</span></pre></devsite-code> <h3 id="implement-offer" data-text="Handle onPaymentDataChanged callback" tabindex="-1">Handle onPaymentDataChanged callback</h3> <aside><b>Note</b>: Any logic calculating payment values or passing those values to the processor should be done securely on your server, not client-side as in this example.</aside> <p>The <a href="/pay/api/web/reference/client#onPaymentDataChanged"><code translate="no" dir="ltr">onPaymentDataChanged</code></a> callback is invoked with an <a href="/pay/api/web/reference/response-objects#IntermediatePaymentData"><code translate="no" dir="ltr">IntermediatePaymentData</code></a> object, which includes the shipping address and shipping option selected in the payment sheet. </p> <p>The callback must return a <code translate="no" dir="ltr">Promise<PaymentDataRequestUpdate></code>. The <a href="/pay/api/web/reference/request-objects#PaymentDataRequestUpdate"><code translate="no" dir="ltr">PaymentDataRequestUpdate</code></a> object has new transaction information, shipping options, offer data, and a payment data error. This data updates the payment sheet. </p> <p>Handle any exception cases, such as an invalid promo code, directly in the payment sheet. Set up a <a href="/pay/api/web/reference/response-objects#PaymentDataError"><code translate="no" dir="ltr">PaymentDataError</code></a> object to highlight the reason for the error with an error message to the user. Be sure to include the related intent in the message. For details on how to set up the object and message, see the following code sample, which references an object (validPromoCodes) containing the promo code values:</p> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="JavaScript"><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">onPaymentDataChanged</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">intermediatePaymentData</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">Promise</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">resolve</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">reject</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">redemptionCodes</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">shippingOptionData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">intermediatePaymentData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">shippingOptionData</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequestUpdate</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{};</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequestUpdate</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">newTransactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">getGoogleTransactionInfo</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// ensure that promo codes set is unique</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-ow">typeof</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">intermediatePaymentData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">offerData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">!=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'undefined'</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// convert to set then back to array</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">redemptionCodes</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">Array</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-kr">from</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">Set</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">intermediatePaymentData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">offerData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">redemptionCodes</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// OPTIONAL: ensure that the newest promo code is the only one applied</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// redemptionCodes = new Array(redemptionCodes[redemptionCodes.length -1]);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// validate promo codes and add descriptions to payment sheet</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">intermediatePaymentData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">callbackTrigger</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">===</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'OFFER'</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequestUpdate</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">newOfferInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{};</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequestUpdate</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">newOfferInfo</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">offers</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">redemptionCode</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">redemptionCodes</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">validPromoCodes</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-nx">redemptionCode</span><span class="devsite-syntax-p">])</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequestUpdate</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">validPromoCodes</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-nx">redemptionCode</span><span class="devsite-syntax-p">].</span><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">validPromoCodes</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-nx">redemptionCode</span><span class="devsite-syntax-p">],</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequestUpdate</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">else</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">paymentDataRequestUpdate</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">error</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">getGoogleOfferInvalidError</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">redemptionCode</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span></pre></devsite-code> <section aria-labelledby="full-example"> <h2 id="full-example" data-text="Put it all together" tabindex="-1">Put it all together</h2> <p>The example code blocks in this section show a complete end-to-end example of the Google Pay API JavaScript library tutorial, Authorize Payments, Dynamic Price Updates, and Promo Codes. <div class="ds-selector-tabs"> <section> <h3 id="tutorial" data-text="Tutorial" tabindex="-1">Tutorial</h3> <div></div><devsite-code><pre class="devsite-click-to-copy devsite-enable-open-in-jsfiddle gc-analytics-event" data-scope="tutorial" data-jsfiddle-title="Google Pay API JavaScript example" data-jsfiddle-wrap="h" data-category="Google Pay API" data-label="Tutorial" data-action="click" data-value="0" translate="no" dir="ltr" is-upgraded syntax="GDScript"><code data-scope="tutorial" data-type="html" translate="no" dir="ltr"><<span class="devsite-syntax-n">div</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">id</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"container"</span>><<span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">div</span>> </code> <<span class="devsite-syntax-n">script</span>> <code data-scope="tutorial" data-type="js" translate="no" dir="ltr"><span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Define</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">version</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">referenced</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">when</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">creating</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">configuration</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentDataRequest|apiVersion in PaymentDataRequest}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">apiVersion</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">apiVersionMinor</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">0</span> <span class="devsite-syntax-p">};</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">networks</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">confirm</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">networks</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardNetworks</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s2">"AMEX"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"DISCOVER"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"INTERAC"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"JCB"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"MASTERCARD"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"VISA"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">authentication</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">methods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">confirm</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">processor</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supports</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Android</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">device</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokens</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">networks</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardAuthMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s2">"PAN_ONLY"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"CRYPTOGRAM_3DS"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Identify</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s gateway merchant identifier</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">The</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">will</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">an</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">encrypted</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">method</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">capable</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">being</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">charged</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">authorization</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">check</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">on</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parameters</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">pass</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#gateway|PaymentMethodTokenizationSpecification}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokenizationSpecification</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'PAYMENT_GATEWAY'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parameters</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'gateway'</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'example'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'gatewayMerchantId'</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'exampleGatewayMerchantId'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">};</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Describe</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s support for the CARD payment method and its required</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'CARD'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parameters</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedAuthMethods</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardAuthMethods</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardNetworks</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardNetworks</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">};</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Describe</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s support for the CARD payment method including optional</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">cardPaymentMethod</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">Object</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">assign</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokenizationSpecification</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokenizationSpecification</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">);</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">An</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">initialized</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">payments</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">or</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">null</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">not</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">yet</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">set</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">null</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Configure</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s support for payment methods supported by the Google Pay</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Each</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">member</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">should</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">contain</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">only</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">required</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowing</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">reuse</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">this</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">base</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">when</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">determining</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">viewer</span><span class="devsite-syntax-s1">'s ability</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">later</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">requesting</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">method</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">version</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">methods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleIsReadyToPayRequest</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">Object</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">assign</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseRequest</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Configure</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">support</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentDataRequest|PaymentDataRequest}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentDataRequest</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">Object</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">assign</span><span class="devsite-syntax-p">({},</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseRequest</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">cardPaymentMethod</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleTransactionInfo</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">merchantInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchant</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">ID</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">is</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">available</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">production</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">environment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">approval</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">See</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">guides</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">test</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">deploy</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">integration</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">checklist</span><span class="devsite-syntax-o">|</span><span class="devsite-syntax-n">Integration</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">checklist</span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchantId</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'12345678901234567890'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchantName</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'Example Merchant'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">an</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">active</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">or</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">initialize</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">client</span><span class="devsite-syntax-c1">#PaymentsClient|PaymentsClient constructor}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">payments</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">client</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">===</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">null</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">payments</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-p">({</span><span class="devsite-syntax-n">environment</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'TEST'</span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Initialize</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">hosted</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">JavaScript</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">has</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">loaded</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Display</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">confirmation</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">viewer</span><span class="devsite-syntax-s1">'s</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">ability</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onGooglePayLoaded</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">isReadyToPay</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">getGoogleIsReadyToPayRequest</span><span class="devsite-syntax-p">())</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">then</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">addGooglePayButton</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">prefetch</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">improve</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">performance</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">confirming</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">functionality</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">prefetchGooglePaymentData</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">})</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">catch</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">err</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">show</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">developer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">debugging</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">err</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Add</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">purchase</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alongside</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">an</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">existing</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">checkout</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#ButtonOptions|Button options}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">guides</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">brand</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">guidelines</span><span class="devsite-syntax-o">|</span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">brand</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">guidelines</span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">addGooglePayButton</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">createButton</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onClick</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onGooglePaymentButtonClicked</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">document</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">getElementById</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'container'</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">appendChild</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Provide</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">amount</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">currency</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">amount</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">status</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#TransactionInfo|TransactionInfo}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transaction</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">info</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">suitable</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">use</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">property</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequest</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleTransactionInfo</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">countryCode</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'US'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">currencyCode</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'USD'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPriceStatus</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'FINAL'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">set</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">cart</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">total</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPrice</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'1.00'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Prefetch</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">improve</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">performance</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">client</span><span class="devsite-syntax-c1">#prefetchPaymentData|prefetchPaymentData()}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">prefetchGooglePaymentData</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentDataRequest</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">must</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">be</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">set</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">but</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">does</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">not</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">affect</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">cache</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPriceStatus</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'NOT_CURRENTLY_KNOWN'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">currencyCode</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'USD'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">prefetchPaymentData</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Show</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">when</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">is</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">clicked</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onGooglePaymentButtonClicked</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentDataRequest</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleTransactionInfo</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">loadPaymentData</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">then</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">handle</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">processPayment</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">})</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">catch</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">err</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">show</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">developer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">debugging</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">err</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Process</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">returned</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">param</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">from</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">user</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">approves</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentData|PaymentData object reference}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">processPayment</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">show</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">returned</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">developer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">debugging</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">log</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">pass</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">token</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">process</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">note</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">DO</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">NOT</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">save</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">credentials</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">future</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transactions</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">unless</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">they</span><span class="devsite-syntax-s1">'re used for merchant-initiated transactions with user</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">consent</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">place</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentToken</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">paymentMethodData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">tokenizationData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">token</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">}</span></code><<span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">script</span>> <code data-scope="tutorial" data-type="html" translate="no" dir="ltr"><<span class="devsite-syntax-n">script</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">async</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">src</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"https://pay.google.com/gp/p/js/pay.js"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onload</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"onGooglePayLoaded()"</span>><<span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">script</span>> </code></pre></devsite-code> </section> <section> <h3 id="authorize-payments_1" data-text="Authorize Payments" tabindex="-1"><span>Authorize Payments</span></h3> <div></div><devsite-code><pre class="devsite-click-to-copy devsite-enable-open-in-jsfiddle gc-analytics-event" data-scope="authorize-payments" data-jsfiddle-title="Google Pay API JavaScript example" data-jsfiddle-wrap="h" data-category="Google Pay API" data-label="Authorize Payments" data-action="click" data-value="0" translate="no" dir="ltr" is-upgraded syntax="GDScript"><code data-scope="authorize-payments" data-type="html" translate="no" dir="ltr"><<span class="devsite-syntax-n">div</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">id</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"container"</span>><<span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">div</span>> </code> <<span class="devsite-syntax-n">script</span>> <code data-scope="authorize-payments" data-type="js" translate="no" dir="ltr"><span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Define</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">version</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">referenced</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">when</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">creating</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">configuration</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentDataRequest|apiVersion in PaymentDataRequest}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">apiVersion</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">apiVersionMinor</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">0</span> <span class="devsite-syntax-p">};</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">networks</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">confirm</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">networks</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardNetworks</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s2">"AMEX"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"DISCOVER"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"INTERAC"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"JCB"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"MASTERCARD"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"VISA"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">authentication</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">methods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">confirm</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">processor</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supports</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Android</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">device</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokens</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">networks</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardAuthMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s2">"PAN_ONLY"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"CRYPTOGRAM_3DS"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Identify</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s gateway merchant identifier</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">The</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">will</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">an</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">encrypted</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">method</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">capable</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">being</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">charged</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">authorization</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">check</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">on</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parameters</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">pass</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#gateway|PaymentMethodTokenizationSpecification}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokenizationSpecification</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'PAYMENT_GATEWAY'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parameters</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'gateway'</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'example'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'gatewayMerchantId'</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'exampleGatewayMerchantId'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">};</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Describe</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s support for the CARD payment method and its required</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'CARD'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parameters</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedAuthMethods</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardAuthMethods</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardNetworks</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardNetworks</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">};</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Describe</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s support for the CARD payment method including optional</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">cardPaymentMethod</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">Object</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">assign</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokenizationSpecification</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokenizationSpecification</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">);</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">An</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">initialized</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">payments</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">or</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">null</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">not</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">yet</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">set</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">null</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Configure</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s support for payment methods supported by the Google Pay</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Each</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">member</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">should</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">contain</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">only</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">required</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowing</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">reuse</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">this</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">base</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">when</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">determining</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">viewer</span><span class="devsite-syntax-s1">'s ability</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">later</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">requesting</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">method</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">version</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">methods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleIsReadyToPayRequest</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">Object</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">assign</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseRequest</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Configure</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">support</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentDataRequest|PaymentDataRequest}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentDataRequest</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">Object</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">assign</span><span class="devsite-syntax-p">({},</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseRequest</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">cardPaymentMethod</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleTransactionInfo</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">merchantInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchant</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">ID</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">is</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">available</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">production</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">environment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">approval</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">See</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">guides</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">test</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">deploy</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">integration</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">checklist</span><span class="devsite-syntax-o">|</span><span class="devsite-syntax-n">Integration</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">checklist</span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchantId</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'12345678901234567890'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchantName</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'Example Merchant'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">callbackIntents</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s2">"PAYMENT_AUTHORIZATION"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">an</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">active</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">or</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">initialize</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">client</span><span class="devsite-syntax-c1">#PaymentsClient|PaymentsClient constructor}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">payments</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">client</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">===</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">null</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">payments</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">environment</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'TEST'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataCallbacks</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onPaymentAuthorized</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onPaymentAuthorized</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Handles</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">authorize</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payments</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">callback</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">intents</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">param</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">from</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">approves</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">through</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">user</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gesture</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentData object reference}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentAuthorizationResult}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Promise</span><span class="devsite-syntax-o"><</span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-o">></span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Promise</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentAuthorizationResult</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">acknowledge</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">authorization</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">status</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onPaymentAuthorized</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Promise</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">resolve</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">reject</span><span class="devsite-syntax-p">){</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">handle</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">processPayment</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">then</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">resolve</span><span class="devsite-syntax-p">({</span><span class="devsite-syntax-n">transactionState</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'SUCCESS'</span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">})</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">catch</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">resolve</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transactionState</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'ERROR'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">intent</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'PAYMENT_AUTHORIZATION'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">message</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'Insufficient funds'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">reason</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'PAYMENT_DATA_INVALID'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Initialize</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">hosted</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">JavaScript</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">has</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">loaded</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Display</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">confirmation</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">viewer</span><span class="devsite-syntax-s1">'s</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">ability</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onGooglePayLoaded</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">isReadyToPay</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">getGoogleIsReadyToPayRequest</span><span class="devsite-syntax-p">())</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">then</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">addGooglePayButton</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">})</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">catch</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">err</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">show</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">developer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">debugging</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">err</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Add</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">purchase</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alongside</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">an</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">existing</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">checkout</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#ButtonOptions|Button options}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">guides</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">brand</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">guidelines</span><span class="devsite-syntax-o">|</span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">brand</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">guidelines</span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">addGooglePayButton</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">createButton</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onClick</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onGooglePaymentButtonClicked</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">document</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">getElementById</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'container'</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">appendChild</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Provide</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">amount</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">currency</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">amount</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">status</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#TransactionInfo|TransactionInfo}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transaction</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">info</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">suitable</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">use</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">property</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequest</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleTransactionInfo</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">displayItems</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">label</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Subtotal"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"SUBTOTAL"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">price</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"11.00"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">label</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Tax"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"TAX"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">price</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"1.00"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">],</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">countryCode</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'US'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">currencyCode</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"USD"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPriceStatus</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"FINAL"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPrice</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"12.00"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPriceLabel</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Total"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Show</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">when</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">is</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">clicked</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onGooglePaymentButtonClicked</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentDataRequest</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleTransactionInfo</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">loadPaymentData</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Process</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">returned</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">param</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">from</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">user</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">approves</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentData|PaymentData object reference}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">processPayment</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Promise</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">resolve</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">reject</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">setTimeout</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">pass</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">token</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">process</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentToken</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">paymentMethodData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">tokenizationData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">token</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">resolve</span><span class="devsite-syntax-p">({});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">3000</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-p">}</span></code><<span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">script</span>> <code data-scope="authorize-payments" data-type="html" translate="no" dir="ltr"><<span class="devsite-syntax-n">script</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">async</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">src</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"https://pay.google.com/gp/p/js/pay.js"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onload</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"onGooglePayLoaded()"</span>><<span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">script</span>> </code></pre></devsite-code> </section> <section> <h3 id="dynamic-price-updates" data-text="Dynamic Price Updates" tabindex="-1"><span>Dynamic Price Updates</span></h3> <div></div><devsite-code><pre class="devsite-click-to-copy devsite-enable-open-in-jsfiddle gc-analytics-event" data-scope="dynamic-price-updates" data-jsfiddle-title="Google Pay API JavaScript example" data-jsfiddle-wrap="h" data-category="Google Pay API" data-label="Dynamic Price Updates" data-action="click" data-value="0" translate="no" dir="ltr" is-upgraded syntax="GDScript"><code data-scope="dynamic-price-updates" data-type="html" translate="no" dir="ltr"><<span class="devsite-syntax-n">div</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">id</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"container"</span>><<span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">div</span>> </code> <<span class="devsite-syntax-n">script</span>> <code data-scope="dynamic-price-updates" data-type="js" translate="no" dir="ltr"><span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Define</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">version</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">referenced</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">when</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">creating</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">configuration</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentDataRequest|apiVersion in PaymentDataRequest}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">apiVersion</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">apiVersionMinor</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">0</span> <span class="devsite-syntax-p">};</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">networks</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">confirm</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">networks</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardNetworks</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s2">"AMEX"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"DISCOVER"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"JCB"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"MASTERCARD"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"VISA"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">authentication</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">methods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">confirm</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">processor</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supports</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Android</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">device</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokens</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">networks</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardAuthMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s2">"PAN_ONLY"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"CRYPTOGRAM_3DS"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Identify</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s gateway merchant identifier</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">The</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">will</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">an</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">encrypted</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">method</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">capable</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">being</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">charged</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">authorization</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">check</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">on</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parameters</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">pass</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#gateway|PaymentMethodTokenizationSpecification}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokenizationSpecification</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'PAYMENT_GATEWAY'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parameters</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'gateway'</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'example'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'gatewayMerchantId'</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'exampleGatewayMerchantId'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">};</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Describe</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s support for the CARD payment method and its required</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'CARD'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parameters</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedAuthMethods</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardAuthMethods</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardNetworks</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardNetworks</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">};</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Describe</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s support for the CARD payment method including optional</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">cardPaymentMethod</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">Object</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">assign</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokenizationSpecification</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokenizationSpecification</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">);</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">An</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">initialized</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">payments</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">or</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">null</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">not</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">yet</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">set</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">null</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Configure</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s support for payment methods supported by the Google Pay</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Each</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">member</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">should</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">contain</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">only</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">required</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowing</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">reuse</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">this</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">base</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">when</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">determining</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">viewer</span><span class="devsite-syntax-s1">'s ability</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">later</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">requesting</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">method</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">version</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">methods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleIsReadyToPayRequest</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">Object</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">assign</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseRequest</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Configure</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">support</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentDataRequest|PaymentDataRequest}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentDataRequest</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">Object</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">assign</span><span class="devsite-syntax-p">({},</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseRequest</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">cardPaymentMethod</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleTransactionInfo</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">merchantInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchant</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">ID</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">is</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">available</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">production</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">environment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">approval</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">See</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">guides</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">test</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">deploy</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">integration</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">checklist</span><span class="devsite-syntax-o">|</span><span class="devsite-syntax-n">Integration</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">checklist</span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchantId</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'12345678901234567890'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchantName</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'Example Merchant'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">callbackIntents</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s2">"SHIPPING_ADDRESS"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"SHIPPING_OPTION"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"PAYMENT_AUTHORIZATION"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">shippingAddressRequired</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-bp">true</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">shippingAddressParameters</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleShippingAddressParameters</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">shippingOptionRequired</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-bp">true</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">an</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">active</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">or</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">initialize</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">client</span><span class="devsite-syntax-c1">#PaymentsClient|PaymentsClient constructor}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">payments</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">client</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">===</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">null</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">payments</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">environment</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"TEST"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchantInfo</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchantName</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Example Merchant"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchantId</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"01234567890123456789"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataCallbacks</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onPaymentAuthorized</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onPaymentAuthorized</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onPaymentDataChanged</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onPaymentDataChanged</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onPaymentAuthorized</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Promise</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">resolve</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">reject</span><span class="devsite-syntax-p">){</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">handle</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">processPayment</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">then</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">resolve</span><span class="devsite-syntax-p">({</span><span class="devsite-syntax-n">transactionState</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'SUCCESS'</span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">})</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">catch</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">resolve</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transactionState</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'ERROR'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">intent</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'PAYMENT_AUTHORIZATION'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">message</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'Insufficient funds'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">reason</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'PAYMENT_DATA_INVALID'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Handles</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">dynamic</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">buy</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">flow</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shipping</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">address</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shipping</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">options</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">callback</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">intents</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">param</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">itermediatePaymentData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">from</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shipping</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">address</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">or</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shipping</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">option</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">is</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">selected</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#IntermediatePaymentData|IntermediatePaymentData object reference}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentDataRequestUpdate|PaymentDataRequestUpdate}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Promise</span><span class="devsite-syntax-o"><</span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-o">></span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Promise</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequestUpdate</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">update</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onPaymentDataChanged</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">intermediatePaymentData</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Promise</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">resolve</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">reject</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shippingAddress</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">intermediatePaymentData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">shippingAddress</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shippingOptionData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">intermediatePaymentData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">shippingOptionData</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{};</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">intermediatePaymentData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">callbackTrigger</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">==</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"INITIALIZE"</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">||</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">intermediatePaymentData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">callbackTrigger</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">==</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"SHIPPING_ADDRESS"</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">shippingAddress</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">administrativeArea</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">==</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"NJ"</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleUnserviceableAddressError</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">else</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">newShippingOptionParameters</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleDefaultShippingOptions</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">selectedShippingOptionId</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">newShippingOptionParameters</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">defaultSelectedOptionId</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">calculateNewTransactionInfo</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">selectedShippingOptionId</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">else</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">intermediatePaymentData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">callbackTrigger</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">==</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"SHIPPING_OPTION"</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">calculateNewTransactionInfo</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">shippingOptionData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">id</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">resolve</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Helper</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">create</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">TransactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">param</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">string</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shippingOptionId</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">respresenting</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">selected</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shipping</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">option</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#TransactionInfo|TransactionInfo}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transaction</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">info</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">suitable</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">use</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">property</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequest</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">calculateNewTransactionInfo</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">shippingOptionId</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleTransactionInfo</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shippingCost</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getShippingCosts</span><span class="devsite-syntax-p">()[</span><span class="devsite-syntax-n">shippingOptionId</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">displayItems</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">push</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"LINE_ITEM"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">label</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Shipping cost"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">price</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shippingCost</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">status</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"FINAL"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPrice</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">0.00</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">displayItems</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">forEach</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">displayItem</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=></span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPrice</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">+=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parseFloat</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">displayItem</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">price</span><span class="devsite-syntax-p">));</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">totalPrice</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPrice</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">toString</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Initialize</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">hosted</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">JavaScript</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">has</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">loaded</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Display</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">confirmation</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">viewer</span><span class="devsite-syntax-s1">'s</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">ability</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onGooglePayLoaded</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">isReadyToPay</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">getGoogleIsReadyToPayRequest</span><span class="devsite-syntax-p">())</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">then</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">addGooglePayButton</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">prefetch</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">improve</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">performance</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">confirming</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">functionality</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">prefetchGooglePaymentData</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">})</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">catch</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">err</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">show</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">developer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">debugging</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">err</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Add</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">purchase</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alongside</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">an</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">existing</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">checkout</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#ButtonOptions|Button options}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">guides</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">brand</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">guidelines</span><span class="devsite-syntax-o">|</span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">brand</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">guidelines</span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">addGooglePayButton</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">createButton</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onClick</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onGooglePaymentButtonClicked</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">document</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">getElementById</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'container'</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">appendChild</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Provide</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">amount</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">currency</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">amount</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">status</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#TransactionInfo|TransactionInfo}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transaction</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">info</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">suitable</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">use</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">property</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequest</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleTransactionInfo</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">displayItems</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">label</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Subtotal"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"SUBTOTAL"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">price</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"11.00"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">label</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Tax"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"TAX"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">price</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"1.00"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">],</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">countryCode</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'US'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">currencyCode</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"USD"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPriceStatus</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"FINAL"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPrice</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"12.00"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPriceLabel</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Total"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Provide</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">key</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">value</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">store</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shippping</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">options</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getShippingCosts</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"shipping-001"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"0.00"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"shipping-002"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"1.99"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"shipping-003"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"10.00"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Provide</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shipping</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">address</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parameters</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">when</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">using</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">dynamic</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">buy</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">flow</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#ShippingAddressParameters|ShippingAddressParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shipping</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">address</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">details</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">suitable</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">use</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shippingAddressParameters</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">property</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequest</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleShippingAddressParameters</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCountryCodes</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s1">'US'</span><span class="devsite-syntax-p">],</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">phoneNumberRequired</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-bp">true</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Provide</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shipping</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">options</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">default</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">selected</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shipping</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">option</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#ShippingOptionParameters|ShippingOptionParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shipping</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">option</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parameters</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">suitable</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">use</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shippingOptionParameters</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">property</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequest</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleDefaultShippingOptions</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">defaultSelectedOptionId</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"shipping-001"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shippingOptions</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"id"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"shipping-001"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"label"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Free: Standard shipping"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"description"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Free Shipping delivered in 5 business days."</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"id"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"shipping-002"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"label"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"$1.99: Standard shipping"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"description"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Standard shipping delivered in 3 business days."</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"id"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"shipping-003"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"label"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"$10: Express shipping"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"description"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Express shipping delivered in 1 business day."</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Provide</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentDataError|PaymentDataError}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">suitable</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">use</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">property</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequestUpdate</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleUnserviceableAddressError</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">reason</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"SHIPPING_ADDRESS_UNSERVICEABLE"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">message</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Cannot ship to the selected address"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">intent</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"SHIPPING_ADDRESS"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Prefetch</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">improve</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">performance</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">client</span><span class="devsite-syntax-c1">#prefetchPaymentData|prefetchPaymentData()}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">prefetchGooglePaymentData</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentDataRequest</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">must</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">be</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">set</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">but</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">does</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">not</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">affect</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">cache</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPriceStatus</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'NOT_CURRENTLY_KNOWN'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">currencyCode</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'USD'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">prefetchPaymentData</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Show</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">when</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">is</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">clicked</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onGooglePaymentButtonClicked</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentDataRequest</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleTransactionInfo</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">loadPaymentData</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Process</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">returned</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">param</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">from</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">user</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">approves</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentData|PaymentData object reference}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">processPayment</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Promise</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">resolve</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">reject</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">setTimeout</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">show</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">returned</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">developer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">debugging</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">log</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">pass</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">token</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">process</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentToken</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">paymentMethodData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">tokenizationData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">token</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">resolve</span><span class="devsite-syntax-p">({});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">3000</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-p">}</span></code><<span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">script</span>> <code data-scope="dynamic-price-updates" data-type="html" translate="no" dir="ltr"><<span class="devsite-syntax-n">script</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">async</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">src</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"https://pay.google.com/gp/p/js/pay.js"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onload</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"onGooglePayLoaded()"</span>><<span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">script</span>> </code></pre></devsite-code> </section> <section> <h3 id="offers" data-text="Offers" tabindex="-1"><span>Offers</span></h3> <div></div><devsite-code><pre class="devsite-click-to-copy devsite-enable-open-in-jsfiddle gc-analytics-event" data-scope="offers" data-jsfiddle-title="Google Pay API JavaScript example" data-jsfiddle-wrap="h" data-category="Google Pay API" data-label="Offers" data-action="click" data-value="0" translate="no" dir="ltr" is-upgraded syntax="GDScript"><code data-scope="offers" data-type="html" translate="no" dir="ltr"><<span class="devsite-syntax-n">div</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">id</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"container"</span>><<span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">div</span>> </code> <<span class="devsite-syntax-n">script</span>> <code data-scope="dynamic-price-updates" data-type="js" translate="no" dir="ltr"><span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Please</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">note</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">The</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Code</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">callback</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">is</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">extremely</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">flexible</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">This</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">example</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">implementation</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">is</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">only</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">one</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">many</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">ways</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">interface</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">it</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">In</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">production</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">codes</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">logic</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">should</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">be</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">securely</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">processed</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">on</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">server</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">not</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">client</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">side</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">this</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">example</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Use</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">AJAX</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">pass</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">this</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">information</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Define</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">version</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">referenced</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">when</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">creating</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">configuration</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentDataRequest|apiVersion in PaymentDataRequest}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">apiVersion</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">apiVersionMinor</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">0</span> <span class="devsite-syntax-p">};</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Define</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">valid</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">code</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">strings</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">This</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paradigm</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">is</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">not</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">necessary</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">implement</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Codes</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">but</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">provides</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">an</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">example</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">how</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">implement</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">code</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">behavior</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">modular</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">way</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">In</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">production</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">codes</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">should</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">be</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">securely</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">processed</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">on</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">server</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">not</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">client</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">side</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">this</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">example</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">code</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">way</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">code</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">itself</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">is</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">displayed</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">description</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">description</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">provided</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">user</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">on</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">used</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">calculate</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">price</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">change</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">value</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">value</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">passed</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">into</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">above</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">This</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">value</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">should</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">be</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">negative</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">discount</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">validPromoCodes</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">SOMEPROMOCODE</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">code</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'SOMEPROMOCODE'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">description</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'20</span><span class="devsite-syntax-si">% o</span><span class="devsite-syntax-s1">ff all products!'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">percentageDiscount</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">value</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-mi">20</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">value</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">should</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">be</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">negative</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">discount</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">ANOTHERPROMOCODE</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">code</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'ANOTHERPROMOCODE'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">description</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'$5 dollars off!'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">staticDiscount</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">value</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">5.00</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">value</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">should</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">be</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">negative</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">discount</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">networks</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">confirm</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">networks</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardNetworks</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s1">'AMEX'</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'DISCOVER'</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'JCB'</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'MASTERCARD'</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'VISA'</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">authentication</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">methods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">confirm</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">processor</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supports</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Android</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">device</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokens</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">card</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">networks</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardAuthMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s1">'PAN_ONLY'</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'CRYPTOGRAM_3DS'</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Identify</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s gateway merchant identifier</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">The</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">will</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">an</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">encrypted</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">method</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">capable</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">being</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">charged</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">authorization</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">check</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">on</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parameters</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">pass</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#gateway|PaymentMethodTokenizationSpecification}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokenizationSpecification</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'PAYMENT_GATEWAY'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parameters</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'example'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gatewayMerchantId</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'exampleGatewayMerchantId'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">};</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Describe</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s support for the CARD payment method and its required</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'CARD'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parameters</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedAuthMethods</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardAuthMethods</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardNetworks</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCardNetworks</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">};</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Describe</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s support for the CARD payment method including optional</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#CardParameters|CardParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">cardPaymentMethod</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">Object</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">assign</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokenizationSpecification</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">tokenizationSpecification</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">);</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">An</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">initialized</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">payments</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">or</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">null</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">not</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">yet</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">set</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">null</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Configure</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-s1">'s support for payment methods supported by the Google Pay</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Each</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">member</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">should</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">contain</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">only</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">required</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowing</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">reuse</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">this</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">base</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">when</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">determining</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">viewer</span><span class="devsite-syntax-s1">'s ability</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">later</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">requesting</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">method</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">version</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">methods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">supported</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleIsReadyToPayRequest</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">Object</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">assign</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseRequest</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Configure</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">support</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentDataRequest|PaymentDataRequest}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fields</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentDataRequest</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">Object</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">assign</span><span class="devsite-syntax-p">({},</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">baseRequest</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">cardPaymentMethod</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleTransactionInfo</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">merchantInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchant</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">ID</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">is</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">available</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">production</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">environment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">approval</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">See</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">guides</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">test</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">deploy</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">integration</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">checklist</span><span class="devsite-syntax-o">|</span><span class="devsite-syntax-n">Integration</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">checklist</span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchantId</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'12345678901234567890'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchantName</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'Example Merchant'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">callbackIntents</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s1">'OFFER'</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">shippingAddressRequired</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-bp">false</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">shippingAddressParameters</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleShippingAddressParameters</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">an</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">active</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">or</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">initialize</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">client</span><span class="devsite-syntax-c1">#PaymentsClient|PaymentsClient constructor}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">payments</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">client</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">===</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">null</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">payments</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">environment</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'TEST'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchantInfo</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchantName</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'Example Merchant'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchantId</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'01234567890123456789'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataCallbacks</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onPaymentDataChanged</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onPaymentDataChanged</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">These</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">functions</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">handle</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">adding</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">valid</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">codes</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">well</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">adjusting</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">display</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">items</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">match</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">To</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">add</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">code</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">create</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">per</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">this</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">template</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">define</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">it</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">valid</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onPaymentDataChanged</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentDataRequestUpdate|PaymentDataRequestUpdate}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">param</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">string</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">redemptionCode</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">string</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">representing</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">code</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">apply</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">param</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">string</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">description</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">string</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">representing</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">description</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">show</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">param</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-nb devsite-syntax-nb-Type">int</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">discountPercentage</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb devsite-syntax-nb-Type">int</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">representing</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">percentage</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">discount</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Please</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">note</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">discount</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">value</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">should</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">be</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">negative</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Ex</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-mi">20</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">20</span><span class="devsite-syntax-o">%</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">discount</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">param</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequestUpdate</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">representing</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">current</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">state</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequestUpdate</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">update</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transaction</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">info</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">offer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">percentageDiscount</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">promoParameters</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">set</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">variables</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">originalTransactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleTransactionInfo</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">/*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">because</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">this</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">code</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">calculates</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">%</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">original</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">prices</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">we</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">need</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">get</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">original</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transaction</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">info</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">discount</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">0</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">update</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">code</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">description</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">newOfferInfo</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">offers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">push</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">redemptionCode</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promoParameters</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s1">'code'</span><span class="devsite-syntax-p">],</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">description</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promoParameters</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s1">'description'</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">calculate</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">discount</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">from</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">original</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transaction</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">items</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">only</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">originalTransactionInfo</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">displayItems</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">forEach</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">displayItem</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">discount</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">+=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parseFloat</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">displayItem</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">price</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promoParameters</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s1">'value'</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">0.01</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">add</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">displayItem</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">discount</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">displayItems</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">push</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">label</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promoParameters</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s1">'code'</span><span class="devsite-syntax-p">],</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">price</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">discount</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">toFixed</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mi">2</span><span class="devsite-syntax-p">),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'LINE_ITEM'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">staticDiscount</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">promoParameters</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">set</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">variables</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">update</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">code</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">description</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">newOfferInfo</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">offers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">push</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">redemptionCode</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promoParameters</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s1">'code'</span><span class="devsite-syntax-p">],</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">description</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promoParameters</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s1">'description'</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">add</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">displayItem</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">discount</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">displayItems</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">push</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">label</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promoParameters</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s1">'code'</span><span class="devsite-syntax-p">],</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">price</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promoParameters</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s1">'value'</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">toFixed</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mi">2</span><span class="devsite-syntax-p">),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'LINE_ITEM'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Handles</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">offer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">callback</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">intents</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">param</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">itermediatePaymentData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">from</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">when</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">code</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">is</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">entered</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#IntermediatePaymentData|IntermediatePaymentData object reference}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentDataRequestUpdate|PaymentDataRequestUpdate}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Promise</span><span class="devsite-syntax-o"><</span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-o">></span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Promise</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequestUpdate</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">update</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transaction</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">info</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">offer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onPaymentDataChanged</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">intermediatePaymentData</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Promise</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">resolve</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">reject</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">redemptionCodes</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Set</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shippingOptionData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">intermediatePaymentData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">shippingOptionData</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{};</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleTransactionInfo</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">ensure</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">that</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">codes</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">set</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">is</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">unique</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nb">typeof</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">intermediatePaymentData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">offerData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">!=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'undefined'</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">redemptionCodes</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Set</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">intermediatePaymentData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">offerData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">redemptionCodes</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">validate</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">promo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">codes</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">add</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">descriptions</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">intermediatePaymentData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">callbackTrigger</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">===</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'OFFER'</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">newOfferInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{};</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">newOfferInfo</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">offers</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">redemptionCode</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">redemptionCodes</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">validPromoCodes</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">redemptionCode</span><span class="devsite-syntax-p">])</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">validPromoCodes</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">redemptionCode</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">validPromoCodes</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">redemptionCode</span><span class="devsite-syntax-p">],</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">else</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleOfferInvalidError</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">redemptionCode</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Update</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">item</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">costs</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">total</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">In</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">production</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">this</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">final</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">calculation</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">should</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">always</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">be</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">calculated</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">server</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">side</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">ensure</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">it</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">matches</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">price</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">that</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">merchant</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sends</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">processor</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">calculateNewTransactionInfo</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">newTransactionInfo</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">resolve</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentDataRequestUpdate</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Helper</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">update</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">TransactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#TransactionInfo|TransactionInfo}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">param</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">respresenting</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">selected</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shipping</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">option</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#TransactionInfo|TransactionInfo}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transaction</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">info</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">suitable</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">use</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">property</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequest</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">calculateNewTransactionInfo</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">calculate</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPrice</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">from</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">display</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">items</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">let</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPrice</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">0.00</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">displayItems</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">forEach</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">displayItem</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPrice</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">+=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parseFloat</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">displayItem</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">price</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Note</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">totalPrice</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">must</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">be</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">string</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">totalPrice</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPrice</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">toFixed</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mi">2</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">newTransactionInfo</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Initialize</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">hosted</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">JavaScript</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">has</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">loaded</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Display</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">confirmation</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">viewer</span><span class="devsite-syntax-s1">'s</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">ability</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onGooglePayLoaded</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">isReadyToPay</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">getGoogleIsReadyToPayRequest</span><span class="devsite-syntax-p">())</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">then</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">addGooglePayButton</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">prefetch</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">improve</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">performance</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">confirming</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">site</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">functionality</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">prefetchGooglePaymentData</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">})</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">catch</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">err</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">show</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">developer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">debugging</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">err</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Add</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">purchase</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alongside</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">an</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">existing</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">checkout</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#ButtonOptions|Button options}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">guides</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">brand</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">guidelines</span><span class="devsite-syntax-o">|</span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">brand</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">guidelines</span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">addGooglePayButton</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">createButton</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onClick</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onGooglePaymentButtonClicked</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedPaymentMethods</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">baseCardPaymentMethod</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">document</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">getElementById</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'container'</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">appendChild</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Provide</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">amount</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">currency</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">and</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">amount</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">status</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#TransactionInfo|TransactionInfo}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transaction</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">info</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">suitable</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">use</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">property</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequest</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleTransactionInfo</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">displayItems</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">label</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'Subtotal'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'SUBTOTAL'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">price</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'11.00'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">status</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'FINAL'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">label</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'Tax'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">type</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'TAX'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">price</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'1.00'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">],</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">currencyCode</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'USD'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPriceStatus</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'FINAL'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPrice</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'12.00'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPriceLabel</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'Total'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Provide</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shipping</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">address</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">parameters</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#ShippingAddressParameters|ShippingAddressParameters}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shipping</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">address</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">details</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">suitable</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">use</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">shippingAddressParameters</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">property</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequest</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleShippingAddressParameters</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">allowedCountryCodes</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s1">'US'</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'UK'</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'FR'</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'CA'</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'MX'</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'GA'</span><span class="devsite-syntax-p">],</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">phoneNumberRequired</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-bp">false</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Provide</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">an</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">invalid</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">offer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentDataError|PaymentDataError}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">returns</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">suitable</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">use</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">as</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">property</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">of</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PaymentDataRequestUpdate</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleOfferInvalidError</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">redemptionCode</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">reason</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'OFFER_INVALID'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">message</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">redemptionCode</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">+</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">' is not a valid promo code.'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">intent</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'OFFER'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Prefetch</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">improve</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">performance</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">client</span><span class="devsite-syntax-c1">#prefetchPaymentData|prefetchPaymentData()}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">prefetchGooglePaymentData</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentDataRequest</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">must</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">be</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">set</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">but</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">does</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">not</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">affect</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">cache</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">totalPriceStatus</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'NOT_CURRENTLY_KNOWN'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">currencyCode</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'USD'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">prefetchPaymentData</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Show</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sheet</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">when</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">button</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">is</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">clicked</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onGooglePaymentButtonClicked</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentDataRequest</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">transactionInfo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGoogleTransactionInfo</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getGooglePaymentsClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentsClient</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">loadPaymentData</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentDataRequest</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">then</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">handle</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">processPayment</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">})</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">catch</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">err</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">show</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">developer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">debugging</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">err</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-o">/**</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Process</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">returned</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">by</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">the</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">In</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">a</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">production</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">environment</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">this</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">should</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">always</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">be</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">implemented</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">server</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">side</span><span class="devsite-syntax-o">.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">param</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-n">object</span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">from</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Pay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">API</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">after</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">user</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">approves</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">see</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">link</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-n">developers</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">com</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">pay</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">api</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">web</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">reference</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">objects</span><span class="devsite-syntax-c1">#PaymentData|PaymentData object reference}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*/</span> <span class="devsite-syntax-n">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">processPayment</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">show</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">returned</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">developer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">debugging</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">console</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">log</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">//</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">@</span><span class="devsite-syntax-n">todo</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">pass</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">token</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">your</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gateway</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">to</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">process</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">payment</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentToken</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paymentData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">paymentMethodData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">tokenizationData</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">token</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">}</span></code><<span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">script</span>> <code data-scope="dynamic-price-updates" data-type="html" translate="no" dir="ltr"><<span class="devsite-syntax-n">script</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">async</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">src</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"https://pay.google.com/gp/p/js/pay.js"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">onload</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"onGooglePayLoaded()"</span>><<span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">script</span>> </code></pre></devsite-code> </section> </div> <div class="objective"><b>Objective</b>: Proceed to our <a href="/pay/api/web/guides/test-and-deploy/integration-checklist" class="external">Integration checklist</a> to validate your integration and request production access.</div> <devsite-hats-survey class="nocontent" hats-id="4NW8RMX3c0txz2edqks0X7KTJD4r" listnr-id="5165057"></devsite-hats-survey> </div> <devsite-recommendations display="in-page" hidden yield> </devsite-recommendations> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-recommendations id="recommendations-link" yield></devsite-recommendations> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://developers.google.com/site-policies">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p> <p>Last updated 2025-02-13 UTC.</p> </devsite-content-footer> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-content-data-template"> [[["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 2025-02-13 UTC."],[[["This tutorial explains how to integrate Google Pay API into your web application for accepting payment cards."],["It covers crucial steps like setting up the API, adding a Google Pay button, and handling payment requests."],["Tokenization is a key element, allowing secure processing of card information via your payment provider."],["The tutorial provides guidance and code snippets for various payment gateways and their integration."],["It includes optional features like dynamic price updates and promo codes for enhanced functionality."]]],[]] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Product Info</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="https://payments.developers.google.com/terms/aup" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Acceptable Use Policy </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://payments.developers.google.com/terms/sellertos" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Terms of Service </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Support</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/pay/api/web/support/how-to-get-help" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > How to get help with the Google Pay API </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Related Links</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/gmail/markup/reference/order" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Gmail order markup </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-sites" aria-label="Other Google Developers websites"> <a href="https://developers.google.com/" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link"> <picture> <img class="devsite-footer-sites-logo" src="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/lockup-google-for-developers.svg" loading="lazy" alt="Google Developers"> </picture> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"> <a href="//developer.android.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Android Link" > Android </a> </li> <li class="devsite-footer-sites-item"> <a href="//developer.chrome.com/home" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Chrome Link" > Chrome </a> </li> <li class="devsite-footer-sites-item"> <a href="//firebase.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Firebase Link" > Firebase </a> </li> <li class="devsite-footer-sites-item"> <a href="//cloud.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud Platform Link" > Google Cloud Platform </a> </li> <li class="devsite-footer-sites-item"> <a href="//ai.google.dev/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google AI Link" > Google AI </a> </li> <li class="devsite-footer-sites-item"> <a href="/products" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer All products Link" > All products </a> </li> </ul> </nav> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/terms/site-terms" data-category="Site-Wide Custom Events" data-label="Footer Terms link" > Terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" > Privacy </a> </li> <li class="devsite-footer-utility-item glue-cookie-notification-bar-control"> <a class="devsite-footer-utility-link gc-analytics-event" href="#" data-category="Site-Wide Custom Events" data-label="Footer Manage cookies link" aria-hidden="true" > Manage cookies </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the Google for Developers newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="/newsletter/subscribe" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" > Subscribe </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> <devsite-concierge data-info-panel data-ai-panel data-api-explorer-panel > </devsite-concierge> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip ></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics> <script type="application/json" analytics>[{"dimensions": {"dimension1": "Signed out", "dimension5": "en", "dimension4": "Google Pay API", "dimension3": false, "dimension6": "en", "dimension11": false}, "gaid": "UA-24532603-1", "metrics": {"ratings_count": "metric2", "ratings_value": "metric1"}, "purpose": 1}, {"dimensions": {"dimension1": "Signed out", "dimension5": "en", "dimension4": "Google Pay API", "dimension3": false, "dimension6": "en", "dimension11": false}, "gaid": "UA-22847105-24", "metrics": {"ratings_count": "metric2", "ratings_value": "metric1"}, "purpose": 0}]</script> <script type="application/json" tag-management>{"at": "True", "ga4": [{"id": "G-272J68FCRF", "purpose": 1}, {"id": "G-H8SZV3J6N1", "purpose": 0}], "ga4p": [{"id": "G-272J68FCRF", "purpose": 1}], "gtm": [], "parameters": {"internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Google Pay API", "signedIn": "False", "tenant": "developers", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}, "experiment": {"ids": ""}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="u6gFlvTllRbajUXL9UL1FB+BlCr9Un"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers","https://developers-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/developers/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/favicon-new.png","https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","developers.google.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["CloudShell__cloud_code_overflow_menu","MiscFeatureFlags__enable_firebase_utm","Concierge__enable_key_takeaways","Experiments__reqs_query_experiments","EngEduTelemetry__enable_engedu_telemetry","MiscFeatureFlags__developers_footer_dark_image","Profiles__enable_join_program_group_endpoint","Search__enable_dynamic_content_confidential_banner","Profiles__enable_page_saving","TpcFeatures__enable_unmirrored_page_left_nav","Profiles__enable_recognition_badges","TpcFeatures__enable_mirror_tenant_redirects","Cloud__enable_cloud_facet_chat","BookNav__enable_tenant_cache_key","Search__enable_ai_eligibility_checks","Concierge__enable_concierge_restricted","Profiles__enable_developer_profiles_callout","Search__enable_suggestions_from_borg","Profiles__enable_awarding_url","MiscFeatureFlags__enable_explain_this_code","Search__enable_ai_search_summaries","Cloud__enable_llm_concierge_chat","Profiles__enable_complete_playlist_endpoint","Analytics__enable_clearcut_logging","Profiles__enable_release_notes_notifications","Profiles__enable_public_developer_profiles","DevPro__enable_cloud_innovators_plus","Cloud__enable_legacy_calculator_redirect","Profiles__enable_profile_collections","MiscFeatureFlags__enable_variable_operator","Search__enable_ai_search_summaries_restricted","Concierge__enable_pushui","MiscFeatureFlags__emergency_css","Cloud__enable_cloudx_ping","Cloud__enable_cloud_shell_fte_user_flow","Search__enable_page_map","Profiles__enable_dashboard_curated_recommendations","Profiles__enable_completecodelab_endpoint","Cloud__enable_cloud_dlp_service","CloudShell__cloud_shell_button","Cloud__enable_cloudx_experiment_ids","MiscFeatureFlags__enable_project_variables","Significatio__enable_by_tenant","Profiles__enable_completequiz_endpoint","Cloud__enable_cloud_shell","Profiles__enable_stripe_subscription_management","DevPro__enable_developer_subscriptions","Cloud__enable_free_trial_server_call","Concierge__enable_concierge","MiscFeatureFlags__enable_view_transitions","MiscFeatureFlags__developers_footer_image","Profiles__require_profile_eligibility_for_signin"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","https://developerscontentserving-pa.clients6.google.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","https://developerscontentsearch-pa.clients6.google.com",1,4,null,"https://developerprofiles-pa.clients6.google.com",[1,"developers","Google for Developers","developers.google.com",null,"developers-dot-devsite-v2-prod.appspot.com",null,null,[1,1,[1],null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],[1,null,null,[1,20],"/recommendations/information"],null,null,null,[1,1,1],[1,1,null,1,1]],null,[null,null,null,null,null,null,"/images/lockup-new.svg","/images/touchicon-180-new.png",null,null,null,null,1,null,null,null,null,null,null,null,null,1,null,null,null,"/images/lockup-dark-theme-new.svg",[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[6,1,14,15,20,22,23,29,32,36],null,[[null,null,null,[3,7,10,2,39,17,4,32,24,11,12,13,34,15,25],null,null,[1,[["docType","Choose a content type",[["Tutorial",null,null,null,null,null,null,null,null,"Tutorial"],["Guide",null,null,null,null,null,null,null,null,"Guide"],["Sample",null,null,null,null,null,null,null,null,"Sample"]]],["product","Choose a product",[["Android",null,null,null,null,null,null,null,null,"Android"],["ARCore",null,null,null,null,null,null,null,null,"ARCore"],["ChromeOS",null,null,null,null,null,null,null,null,"ChromeOS"],["Firebase",null,null,null,null,null,null,null,null,"Firebase"],["Flutter",null,null,null,null,null,null,null,null,"Flutter"],["Assistant",null,null,null,null,null,null,null,null,"Google Assistant"],["GoogleCloud",null,null,null,null,null,null,null,null,"Google Cloud"],["GoogleMapsPlatform",null,null,null,null,null,null,null,null,"Google Maps Platform"],["GooglePay",null,null,null,null,null,null,null,null,"Google Pay & Google Wallet"],["GooglePlay",null,null,null,null,null,null,null,null,"Google Play"],["Tensorflow",null,null,null,null,null,null,null,null,"TensorFlow"]]],["category","Choose a topic",[["AiAndMachineLearning",null,null,null,null,null,null,null,null,"AI and Machine Learning"],["Data",null,null,null,null,null,null,null,null,"Data"],["Enterprise",null,null,null,null,null,null,null,null,"Enterprise"],["Gaming",null,null,null,null,null,null,null,null,"Gaming"],["Mobile",null,null,null,null,null,null,null,null,"Mobile"],["Web",null,null,null,null,null,null,null,null,"Web"]]]]]],[1,1],null,1],[[["UA-24532603-1"],["UA-22084204-5"],null,null,["UA-24532603-5"],null,null,[["G-272J68FCRF"],null,null,[["G-272J68FCRF",2]]],[["UA-24532603-1",2]],null,[["UA-24532603-5",2]],null,1],[[5,4],[13,10],[4,3],[3,2],[14,11],[12,9],[16,13],[6,5],[1,1],[15,12],[11,8]],[[2,2],[1,1]]],null,4,null,null,null,null,null,null,null,null,null,null,null,null,null,"developers.devsite.google"],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m",1]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>