1<!DOCTYPE html><html lang="en" class="scroll-animation mode-auto"> <head>
1<script> 2 if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) { 3 document.documentElement.classList.add('anim-ready') 4 } 5 </script>
5<script> 6 window.dataLayer = window.dataLayer || []; 7 function gtag(){dataLayer.push(arguments);} 8 gtag('consent', 'default', { 9 'ad_storage': 'denied', 10 'ad_user_data': 'denied', 11 'ad_personalization': 'denied', 12 'analytics_storage': 'denied', 13 'functionality_storage': 'granted', 14 'personalization_storage': 'denied', 15 'security_storage': 'granted', 16 'wait_for_update': 500 17 }); 18 </script>
18<script> 19 window._hsq = window._hsq || []; 20 window._hsq.push(['addPrivacyConsentListener', function(consent) { 21 if (consent.allowed) { 22 window.dataLayer = window.dataLayer || []; 23 function gtag(){dataLayer.push(arguments);} 24 gtag('consent', 'update', { 25 'ad_storage': 'granted', 26 'ad_user_data': 'granted', 27 'ad_personalization': 'granted', 28 'analytics_storage': 'granted', 29 'personalization_storage': 'granted' 30 }); 31 } 32 }]); 33 </script>
33<script> 34 ;(function () { 35 var queue = [] 36 var fired = false 37 38 function flush() { 39 if (fired) return 40 fired = true 41 teardown() 42 for (var i = 0; i < queue.length; i++) { 43 try { 44 queue[i]() 45 } catch (e) {} 46 } 47 queue.length = 0 48 } 49 50 var events = ['pointerdown', 'keydown', 'touchstart', 'scroll', 'wheel', 'mousemove'] 51 var opts = { once: true, passive: true, capture: true } 52 53 function onFirst() { 54 flush() 55 } 56 57 function onHidden() { 58 if (document.visibilityState === 'hidden') flush() 59 } 60 61 function teardown() { 62 for (var i = 0; i < events.length; i++) { 63 window.removeEventListener(events[i], onFirst, opts) 64 } 65 document.removeEventListener('visibilitychange', onHidden) 66 window.removeEventListener('pagehide', flush) 67 } 68 69 for (var i = 0; i < events.length; i++) { 70 window.addEventListener(events[i], onFirst, opts) 71 } 72 document.addEventListener('visibilitychange', onHidden) 73 window.addEventListener('pagehide', flush) 74 75 // Idle fallback: non-interacting visits still load tags shortly after load. 76 var IDLE_MS = 3000 77 function scheduleIdle() { 78 if ('requestIdleCallback' in window) { 79 requestIdleCallback(flush, { timeout: IDLE_MS }) 80 } else { 81 setTimeout(flush, IDLE_MS) 82 } 83 } 84 if (document.readyState === 'complete') { 85 scheduleIdle() 86 } else { 87 window.addEventListener('load', scheduleIdle) 88 } 89 90 // Public API: run now if we've already fired, otherwise queue it. 91 window.__loadDeferred = function (fn) { 92 if (typeof fn !== 'function') return 93 if (fired) { 94 try { 95 fn() 96 } catch (e) {} 97 return 98 } 99 queue.push(fn) 100 } 101 })() 102</script>
102<script> 103;(function () { 104 'use strict' 105 106 var ua = navigator.userAgent || '' 107 var isBot = false // tier 1: block 108 var signal = '' // tier 2: allow but tag 109 var reason = '' 110 111 function block(why) { if (!isBot) { isBot = true; reason = why } } 112 function tag(why) { if (!signal) signal = why } 113 114 // Tier 1: block. Signals that cannot occur in a real user's browser. 115 // 1. Declared bots and automation tooling in the UA string. 116 var botPatterns = [ 117 /bot\b/i, /crawl/i, /spider/i, /slurp/i, /mediapartners/i, 118 /headless/i, /phantom/i, /selenium/i, /puppeteer/i, /playwright/i, 119 /wget/i, /curl/i, /python/i, /scrapy/i, /node-fetch/i, /axios/i, 120 /go-http/i, /java\//i, /ahrefsbot/i, /semrushbot/i, /mj12bot/i, 121 /dotbot/i, /rogerbot/i, /bingbot/i, /yandexbot/i, /baiduspider/i, 122 /duckduckbot/i, /facebookexternalhit/i, /twitterbot/i, /linkedinbot/i, 123 /applebot/i, /petalbot/i, /bytespider/i, /gptbot/i, /claudebot/i, 124 ] 125 for (var i = 0; i < botPatterns.length; i++) { 126 if (botPatterns[i].test(ua)) { block('ua'); break } 127 } 128 129 // 2. WebDriver flag, set by Selenium/Puppeteer/Playwright, never by a real browser. 130 if (!isBot && navigator.webdriver === true) block('webdriver') 131 132 // 3. userAgentData explicitly reporting a Headless brand. 133 if (!isBot && navigator.userAgentData && navigator.userAgentData.brands) { 134 for (var k = 0; k < navigator.userAgentData.brands.length; k++) { 135 var brand = navigator.userAgentData.brands[k].brand || '' 136 if (/Headless/i.test(brand)) { block('headless-brand'); break } 137 } 138 } 139 140 // Tier 2: tag, do not block (see the notes in this component's frontmatter). 141 // 4. WebGL renderer: SwiftShader blocks, software renderers and absent WebGL tag. 142 if (!isBot) { 143 try { 144 var canvas = document.createElement('canvas') 145 var gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl') 146 if (gl) { 147 var dbgInfo = gl.getExtension('WEBGL_debug_renderer_info') 148 if (dbgInfo) { 149 var rv = (gl.getParameter(dbgInfo.UNMASKED_RENDERER_WEBGL) || '') + ' ' + 150 (gl.getParameter(dbgInfo.UNMASKED_VENDOR_WEBGL) || '') 151 if (/SwiftShader/i.test(rv)) block('swiftshader') 152 else if (/llvmpipe|Mesa OffScreen/i.test(rv)) tag('software-gl') 153 } 154 } else if (!/Mobile|Android|iPhone/.test(ua)) { 155 tag('no-webgl') 156 } 157 } catch (e) { /* probe failed, never infer bot from an exception */ } 158 } 159 160 // 5. Missing navigator.languages: tag only. 161 if (!isBot && (!navigator.languages || navigator.languages.length === 0)) tag('no-languages') 162 163 // 6. Screen-resolution anomalies: tag, never block. 164 if (!isBot && !signal) { 165 var w = screen.width, h = screen.height 166 var odd = [[800, 600], [1280, 1200], [1024, 898]] 167 for (var j = 0; j < odd.length; j++) { 168 if (w === odd[j][0] && h === odd[j][1]) { tag('odd-resolution'); break } 169 } 170 // Square viewport at desktop size. 171 if (!signal && w === h && w >= 1024) tag('square-resolution') 172 } 173 174 window.__shuttleBotDetected = isBot 175 window.__shuttleBotReason = reason // '' unless blocked 176 window.__shuttleBotSignal = signal // '' unless soft-tagged 177})() 178</script>
178<script data-ga-measurement-id="G-EQMX8Y79S3" id="ga-init"> 179 ;(function () { 180 if (window.__shuttleBotDetected) return 181 182 var measurementId = document.getElementById('ga-init').getAttribute('data-ga-measurement-id') 183 184 // Load gtag.js dynamically (only for non-bot traffic) 185 var s = document.createElement('script') 186 s.async = true 187 s.src = 'https://www.googletagmanager.com/gtag/js?id=' + measurementId 188 document.head.appendChild(s) 189 190 window.dataLayer = window.dataLayer || [] 191 function gtag() { 192 dataLayer.push(arguments) // eslint-disable-line 193 } 194 gtag('js', new Date()) 195 gtag('config', measurementId, { 196 'traffic_type': (function () { 197 try { 198 var h = window.location.hostname 199 if (h === 'localhost' || h === '127.0.0.1' || h.indexOf('.local') !== -1 || h.indexOf('netlify.app') !== -1) { 200 return 'internal' 201 } 202 } catch (e) {} 203 return 'external' 204 })(), 205 // Soft bot signal from botFilter.astro tier 2; register it as a GA4 custom 206 // dimension to segment on. (This script is inlined into every page's head, 207 // so keep its comments functional: the reasoning lives in botFilter.astro's 208 // frontmatter, which is not served.) 209 'bot_signal': window.__shuttleBotSignal || 'none' 210 }) 211 })() 212</script>
212<!-- Google tag (gtag.js) -->
212<script data-gtm-measurement-id="GT-TWQ4VWZ" id="gtm-init"> 213 ;(function () { 214 if (window.__shuttleBotDetected) return 215 216 var tagId = document.getElementById('gtm-init').getAttribute('data-gtm-measurement-id') 217 218 var s = document.createElement('script') 219 s.async = true 220 s.src = 'https://www.googletagmanager.com/gtag/js?id=' + tagId 221 document.head.appendChild(s) 222 223 window.dataLayer = window.dataLayer || [] 224 function gtag() { 225 dataLayer.push(arguments) // eslint-disable-line 226 } 227 gtag('js', new Date()) 228 gtag('config', tagId) 229 })() 230</script>
230 <!-- End Google tag -->
230<script data-dashly-key="3504-8a6416f51eb90826430301254aa" id="dashly-init"> 231 ;(window.__loadDeferred || 232 function (f) { 233 f() 234 })(function () { 235 !(function () { 236 function t(t, e) { 237 return function () { 238 window.dashlyasync.push(t, arguments) 239 } 240 } 241 if ('undefined' == typeof dashly) { 242 var e = document.createElement('script') 243 e.type = 'text/javascript' 244 e.async = !0 245 e.src = 'https://cdn.dashly.app/api.min.js' 246 document.getElementsByTagName('head')[0].appendChild(e) 247 window.dashly = {} 248 window.dashlyasync = [] 249 dashly.settings = {} 250 for ( 251 var n = [ 252 'connect', 253 'track', 254 'identify', 255 'auth', 256 'onReady', 257 'addCallback', 258 'removeCallback', 259 'trackMessageInteraction', 260 ], 261 a = 0; 262 a < n.length; 263 a++ 264 ) 265 dashly[n[a]] = t(n[a]) 266 } 267 })() 268 dashly.connect(document.getElementById('dashly-init').getAttribute('data-dashly-key')) 269 }) 270</script>
270<meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Shuttle | The Payment Layer for Platforms, AI Agents & Merchants</title><meta name="description" content="Shuttle is a payment layer for software platforms, AI agents and merchants: one integration for voice, links and embedded checkout, with any compatible gateway."><meta property="og:type" content="website"><meta property="og:url" content="https://www.shuttleglobal.com/"><meta property="og:title" content="Shuttle | The Payment Layer for Platforms, AI Agents & Merchants"><meta property="og:description" content="Shuttle is a payment layer for software platforms, AI agents and merchants: one integration for voice, links and embedded checkout, with any compatible gateway."><meta property="og:site_name" content="Shuttle Global"><meta property="og:image" content="https://www.shuttleglobal.com/og-shuttle.jpg"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:url" content="https://www.shuttleglobal.com/"><meta name="twitter:title" content="Shuttle | The Payment Layer for Platforms, AI Agents & Merchants"><meta name="twitter:description" content="Shuttle is a payment layer for software platforms, AI agents and merchants: one integration for voice, links and embedded checkout, with any compatible gateway."><meta name="twitter:image" content="https://www.shuttleglobal.com/og-shuttle.jpg"><link rel="canonical" href="https://www.shuttleglobal.com/"><link rel="preconnect" href="https://app.shuttleglobal.com" crossorigin><link rel="dns-prefetch" href="https://app.shuttleglobal.com"><link rel="preload" href="/fonts/circularstd/CircularStd-Book.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/circularstd/CircularStd-Bold.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/circularstd/CircularStd-Black.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/newsreader/Newsreader-latin-normal.woff2" as="font" type="font/woff2" crossorigin><link rel="icon" href="/favicon.svg" type="image/svg+xml"><link rel="icon" href="/favicon-32.png" sizes="32x32" type="image/png"><link rel="icon" href="/favicon.png" type="image/png"><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="sitemap" href="/sitemap-index.xml"><meta name="generator" content="Astro v5.17.1"><meta name="theme-color" content="#ffbe00">
270<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"Shuttle Global","url":"https://www.shuttleglobal.com","logo":"https://www.shuttleglobal.com/logo-light.png","description":"Shuttle is a payment layer for software platforms, AI agents and merchants.","address":{"@type":"PostalAddress","streetAddress":"20 Wenlock Road","addressLocality":"London","addressCountry":"GB","postalCode":"N1 7GU"},"sameAs":["https://x.com/shuttleglobal","https://www.linkedin.com/company/shuttleglobal"]}</script>
270<!-- HubSpot (already async+defer; left as-is) -->
270<script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/5467876.js"></script>
270 <!-- 271 Retargeting pixels (RB2B, Meta, LinkedIn) are deferred via __loadDeferred: 272 they load on first interaction or shortly after load, off the critical path. 273 PageView still fires on load via the idle fallback, so coverage is preserved. 274--><!-- RB2B -->
274<script>(window.__loadDeferred||function(f){f()})(function(){!function(key) {if (window.reb2b) return;window.reb2b = {loaded: true};var s = document.createElement("script");s.async = true;s.src = "https://b2bjsstore.s3.us-west-2.amazonaws.com/b/" + key + "/" + key + ".js.gz";document.getElementsByTagName("script")[0].parentNode.insertBefore(s, document.getElementsByTagName("script")[0]);}("R6G5YHYMQV65");});</script>
274 <!-- Meta Pixel -->
274<script> 275(window.__loadDeferred||function(f){f()})(function(){
vendor: 399 bytes, lines 275-284
275 276!function(f,b,e,v,n,t,s) 277{if(f.fbq)return;n=f.fbq=function(){n.callMethod? 278n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 279if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 280n.queue=[];t=b.createElement(e);t.async=!0; 281t.src=v;s=b.getElementsByTagName(e)[0]; 282s.parentNode.insertBefore(t,s)}(window, document,'script', 283'https://connect.facebook.net/en_US/fbevents.js'); 284fbq('init', '
284979724164073879
vendor: 30 bytes, lines 284-285
284'); 285fbq('track', 'PageView');
286}); 287</script>
287 <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=979724164073879&ev=PageView&noscript=1"></noscript><!-- LinkedIn Insight -->
287<script> 288(window.__loadDeferred||function(f){f()})(function(){ 289_linkedin_partner_id = "8529753"; 290window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; 291window._linkedin_data_partner_ids.push(_linkedin_partner_id); 292(function(l) { 293if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])}; 294window.lintrk.q=[]} 295var s = document.getElementsByTagName("script")[0]; 296var b = document.createElement("script"); 297b.type = "text/javascript";b.async = true; 298b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; 299s.parentNode.insertBefore(b, s);})(window.lintrk); 300}); 301</script>
301<noscript><img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=8529753&fmt=gif"></noscript><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="swap">
301<script type="module" src="/_astro/ClientRouter.astro_astro_type_script_index_0_lang.CDGfc0hd.js"></script>
301<link rel="stylesheet" href="/_astro/links-checkout.D8ofBM6W.css"> 302<style>.spacer[data-astro-cid-fhklgtsq]{height:calc(var(--spacing,.25rem)*4);background-color:#fff9;width:100%;position:relative}@supports (color:color-mix(in lab,red,red)){.spacer[data-astro-cid-fhklgtsq]{background-color:color-mix(in oklab,var(--color-white,#fff)60%,transparent)}}@media(min-width:48rem){.spacer[data-astro-cid-fhklgtsq]{height:calc(var(--spacing,.25rem)*6)}}@media(min-width:64rem){.spacer[data-astro-cid-fhklgtsq]{height:calc(var(--spacing,.25rem)*8)}}.spacer[data-astro-cid-fhklgtsq]:where(.dark,.dark *){background-color:#0c0a0999}@supports (color:color-mix(in lab,red,red)){.spacer[data-astro-cid-fhklgtsq]:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-neutral-950,oklch(14.7% .004 49.25))60%,transparent)}}.section-spacer--primary[data-astro-cid-fhklgtsq] .spacer[data-astro-cid-fhklgtsq]{background-color:#2e30becc}@supports (color:color-mix(in lab,red,red)){.section-spacer--primary[data-astro-cid-fhklgtsq] .spacer[data-astro-cid-fhklgtsq]{background-color:color-mix(in oklab,var(--color-primary-500,#2e30be)80%,transparent)}}.section[data-astro-cid-5v3l7meg]{position:relative;overflow:hidden}.section[data-astro-cid-5v3l7meg].section--sticky{overflow:visible}.section--v-allign-top[data-astro-cid-5v3l7meg]{flex-direction:column;justify-content:flex-start;display:flex}.section--v-allign-center[data-astro-cid-5v3l7meg]{flex-direction:column;justify-content:center;display:flex}.section--v-allign-bottom[data-astro-cid-5v3l7meg]{flex-direction:column;justify-content:flex-end;display:flex}.section__bg[data-astro-cid-5v3l7meg]{inset:calc(var(--spacing,.25rem)*0);position:absolute}@media(min-width:64rem){:where(.section--fullwidth-right) .container__track[data-astro-cid-5v3l7meg]{width:100vw}}.row[data-astro-cid-eq54w2gt]{position:relative}.row__grid[data-astro-cid-eq54w2gt]{grid-template-columns:repeat(12,minmax(0,1fr));display:grid;position:relative}.row__grid--flex[data-astro-cid-eq54w2gt]{flex-flow:wrap;justify-content:center;align-items:center;width:100%;display:flex}.row__grid--flex[data-astro-cid-eq54w2gt]>*{flex:1}.row__grid--semitransparent[data-astro-cid-eq54w2gt]{background-color:#fffc;width:100%}@supports (color:color-mix(in lab,red,red)){.row__grid--semitransparent[data-astro-cid-eq54w2gt]{background-color:color-mix(in oklab,var(--color-white,#fff)80%,transparent)}}.row__grid--semitransparent[data-astro-cid-eq54w2gt]:where(.dark,.dark *){background-color:#0c0a09cc}@supports (color:color-mix(in lab,red,red)){.row__grid--semitransparent[data-astro-cid-eq54w2gt]:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-neutral-950,oklch(14.7% .004 49.25))80%,transparent)}}.row__grid--transparent[data-astro-cid-eq54w2gt]{background-color:#0000;width:100%}/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */.col[data-astro-cid-poit3qco]:has(:is(.col placeholder)){display:none}@media(min-width:64rem){.col[data-astro-cid-poit3qco]:has(:is(.col placeholder)){display:block}}.col__placeholder[data-astro-cid-poit3qco]{display:none}.col--opaque[data-astro-cid-poit3qco]{background-color:var(--color-white,#fff)}.col--opaque[data-astro-cid-poit3qco]:where(.dark,.dark *){background-color:var(--color-neutral-950,oklch(14.7% .004 49.25))}.col--semitransparent[data-astro-cid-poit3qco]{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.col--semitransparent[data-astro-cid-poit3qco]{background-color:color-mix(in oklab,var(--color-white,#fff)80%,transparent)}}.col--semitransparent[data-astro-cid-poit3qco]:where(.dark,.dark *){background-color:#0c0a09cc}@supports (color:color-mix(in lab,red,red)){.col--semitransparent[data-astro-cid-poit3qco]:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-neutral-950,oklch(14.7% .004 49.25))80%,transparent)}} 303</style> 304<link rel="stylesheet" href="/_astro/index.D8LsHoHp.css"> 305<style>/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */.certifications[data-astro-cid-36swhdvd]{background:linear-gradient(135deg,#ffbe00 0% 60%,#ffc619);gap:1.75rem;padding:2.5rem 1.5rem;display:grid}@media(min-width:1024px){.certifications[data-astro-cid-36swhdvd]{grid-template-columns:15rem 1fr;align-items:center;gap:3rem;padding:2.75rem 3rem}}.certifications__intro[data-astro-cid-36swhdvd]{display:contents}.certifications__grid[data-astro-cid-36swhdvd]{order:2}.certifications__links[data-astro-cid-36swhdvd]{order:3}@media(min-width:1024px){.certifications__intro[data-astro-cid-36swhdvd]{display:block}}.certifications__title[data-astro-cid-36swhdvd]{text-wrap:balance;color:#343469;margin:0;font-size:1.6rem;font-weight:700;line-height:1.15}.certifications__grid[data-astro-cid-36swhdvd]{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1.25rem;margin:0;padding:0;list-style:none;display:grid}@media(min-width:1024px){.certifications__grid[data-astro-cid-36swhdvd]{grid-template-columns:repeat(4,minmax(0,1fr))}}.certifications__item[data-astro-cid-36swhdvd]{align-items:flex-start;gap:.75rem;margin:0;list-style:none;display:flex}.certifications__icon[data-astro-cid-36swhdvd]{color:#343469;background:#3434691a;flex:none;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex}.certifications__icon[data-astro-cid-36swhdvd] svg{width:1.5rem;height:1.5rem}.certifications__item-title[data-astro-cid-36swhdvd]{color:#343469;margin:.1rem 0 .2rem;font-size:1rem;font-weight:700;line-height:1.25}.certifications__item-desc[data-astro-cid-36swhdvd]{color:#4b4d7a;margin:0;font-size:.85rem;line-height:1.45}.certifications__links[data-astro-cid-36swhdvd]{font-family:var(--font-headings);letter-spacing:.06em;text-transform:uppercase;color:#343469;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .9rem;margin:1.25rem 0 0;font-size:.8rem;font-weight:700;display:flex}.certifications__links[data-astro-cid-36swhdvd] a[data-astro-cid-36swhdvd]{color:#343469;text-underline-offset:3px;text-decoration:underline}@media(min-width:1024px){.certifications__links[data-astro-cid-36swhdvd]{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.55rem;margin-top:1.1rem;font-size:.72rem;line-height:1.35}.certifications__sep[data-astro-cid-36swhdvd]{display:none}}.certifications__links[data-astro-cid-36swhdvd] a[data-astro-cid-36swhdvd]:hover,.certifications__links[data-astro-cid-36swhdvd] a[data-astro-cid-36swhdvd]:focus-visible{text-decoration-thickness:2px} 306/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */.decoration-border[data-astro-cid-psnb6536]>[data-astro-cid-psnb6536]{z-index:1;position:absolute}.decoration-border__top[data-astro-cid-psnb6536]{top:calc(var(--spacing,.25rem)*0);right:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);height:1px}.decoration-border--solid[data-astro-cid-psnb6536] .decoration-border__top[data-astro-cid-psnb6536]{background-color:var(--color-neutral-200,oklch(92.3% .003 48.717))}.decoration-border--solid[data-astro-cid-psnb6536] .decoration-border__top[data-astro-cid-psnb6536]:where(.dark,.dark *){background-color:var(--color-neutral-700,oklch(37.4% .01 67.558))}.decoration-border--dashed[data-astro-cid-psnb6536] .decoration-border__top[data-astro-cid-psnb6536]{background-image:repeating-linear-gradient(90deg,#e7e5e4 0 4px,#0000 4px 8px)}.decoration-border--dashed[data-astro-cid-psnb6536] .decoration-border__top[data-astro-cid-psnb6536]:where(.dark,.dark *){background-image:repeating-linear-gradient(90deg,#44403b 0 4px,#0000 4px 8px)}.decoration-border__right[data-astro-cid-psnb6536]{top:calc(var(--spacing,.25rem)*0);right:calc(var(--spacing,.25rem)*0);bottom:calc(var(--spacing,.25rem)*0);width:1px}.decoration-border--solid[data-astro-cid-psnb6536] .decoration-border__right[data-astro-cid-psnb6536]{background-color:var(--color-neutral-200,oklch(92.3% .003 48.717))}.decoration-border--solid[data-astro-cid-psnb6536] .decoration-border__right[data-astro-cid-psnb6536]:where(.dark,.dark *){background-color:var(--color-neutral-700,oklch(37.4% .01 67.558))}.decoration-border--dashed[data-astro-cid-psnb6536] .decoration-border__right[data-astro-cid-psnb6536]{background-image:repeating-linear-gradient(0deg,#e7e5e4 0 4px,#0000 4px 8px)}.decoration-border--dashed[data-astro-cid-psnb6536] .decoration-border__right[data-astro-cid-psnb6536]:where(.dark,.dark *){background-image:repeating-linear-gradient(0deg,#44403b 0 4px,#0000 4px 8px)}.decoration-border__bottom[data-astro-cid-psnb6536]{right:calc(var(--spacing,.25rem)*0);bottom:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:1;height:1px;position:absolute}.decoration-border--solid[data-astro-cid-psnb6536] .decoration-border__bottom[data-astro-cid-psnb6536]{background-color:var(--color-neutral-200,oklch(92.3% .003 48.717))}.decoration-border--solid[data-astro-cid-psnb6536] .decoration-border__bottom[data-astro-cid-psnb6536]:where(.dark,.dark *){background-color:var(--color-neutral-700,oklch(37.4% .01 67.558))}.decoration-border--dashed[data-astro-cid-psnb6536] .decoration-border__bottom[data-astro-cid-psnb6536]{background-image:repeating-linear-gradient(90deg,#e7e5e4 0 4px,#0000 4px 8px)}.decoration-border--dashed[data-astro-cid-psnb6536] .decoration-border__bottom[data-astro-cid-psnb6536]:where(.dark,.dark *){background-image:repeating-linear-gradient(90deg,#44403b 0 4px,#0000 4px 8px)}.decoration-border__left[data-astro-cid-psnb6536]{top:calc(var(--spacing,.25rem)*0);bottom:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:1;width:1px;position:absolute}.decoration-border--solid[data-astro-cid-psnb6536] .decoration-border__left[data-astro-cid-psnb6536]{background-color:var(--color-neutral-200,oklch(92.3% .003 48.717))}.decoration-border--solid[data-astro-cid-psnb6536] .decoration-border__left[data-astro-cid-psnb6536]:where(.dark,.dark *){background-color:var(--color-neutral-700,oklch(37.4% .01 67.558))}.decoration-border--dashed[data-astro-cid-psnb6536] .decoration-border__left[data-astro-cid-psnb6536]{background-image:repeating-linear-gradient(0deg,#e7e5e4 0 4px,#0000 4px 8px)}.decoration-border--dashed[data-astro-cid-psnb6536] .decoration-border__left[data-astro-cid-psnb6536]:where(.dark,.dark *){background-image:repeating-linear-gradient(0deg,#44403b 0 4px,#0000 4px 8px)} 307</style> 308<link rel="stylesheet" href="/_astro/about.DxoG1gex.css"> 309<style>/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */.header[data-astro-cid-hnhh3bfe]{flex-direction:column;justify-content:center;align-items:flex-start;width:100%;display:flex}.header__subtitle[data-astro-cid-hnhh3bfe]{margin-bottom:calc(var(--spacing,.25rem)*0);width:100%;padding-inline:calc(var(--spacing,.25rem)*6);padding-block:calc(var(--spacing,.25rem)*1);order:1}@media(min-width:64rem){.header__subtitle[data-astro-cid-hnhh3bfe]{padding-inline:calc(var(--spacing,.25rem)*8)}}.header__title[data-astro-cid-hnhh3bfe]{margin-bottom:calc(var(--spacing,.25rem)*0);width:100%;padding-inline:calc(var(--spacing,.25rem)*6);padding-block:calc(var(--spacing,.25rem)*6);order:2;position:relative}@media(min-width:64rem){.header__title[data-astro-cid-hnhh3bfe]{padding-inline:calc(var(--spacing,.25rem)*8)}}.header__title-text[data-astro-cid-hnhh3bfe]{display:block} 310</style> 311<link rel="stylesheet" href="/_astro/links-checkout.BY5OM2aF.css"> 312<link rel="stylesheet" href="/_astro/links-checkout.CCaclwkd.css">
312<script type="module" src="/_astro/page.CGQpBvrF.js"></script>
vendor: 1 bytes, line 312
312
313<script>!(function(w,p,f,c){if(!window.crossOriginIsolated && !navigator.serviceWorker) return;c=w[p]=Object.assign(w[p]||{},{"lib":"/~partytown/","debug":false});c[f]=(c[f]||[]).concat(["dataLayer.push"])})(window,'partytown','forward');/* Partytown 0.11.2 - MIT QwikDev */ 314const t={preserveBehavior:!1},e=e=>{if("string"==typeof e)return[e,t];const[n,r=t]=e;return[n,{...t,...r}]},n=Object.freeze((t=>{const e=new Set;let n=[];do{Object.getOwnPropertyNames(n).forEach((t=>{"function"==typeof n[t]&&e.add(t)}))}while((n=Object.getPrototypeOf(n))!==Object.prototype);return Array.from(e)})());!function(t,r,o,i,a,s,c,l,d,p,u=t,f){function h(){f||(f=1,"/"==(c=(s.lib||"/~partytown/")+(s.debug?"debug/":""))[0]&&(d=r.querySelectorAll('script[type="text/partytown"]'),i!=t?i.dispatchEvent(new CustomEvent("pt1",{detail:t})):(l=setTimeout(v,(null==s?void 0:s.fallbackTimeout)||1e4),r.addEventListener("pt0",w),a?y(1):o.serviceWorker?o.serviceWorker.register(c+(s.swPath||"partytown-sw.js"),{scope:c}).then((function(t){t.active?y():t.installing&&t.installing.addEventListener("statechange",(function(t){"activated"==t.target.state&&y()}))}),console.error):v())))}function y(e){p=r.createElement(e?"script":"iframe"),t._pttab=Date.now(),e||(p.style.display="block",p.style.width="0",p.style.height="0",p.style.border="0",p.style.visibility="hidden",p.setAttribute("aria-hidden",!0)),p.src=c+"partytown-"+(e?"atomics.js?v=0.11.2":"sandbox-sw.html?"+t._pttab),r.querySelector(s.sandboxParent||"body").appendChild(p)}function v(n,o){for(w(),i==t&&(s.forward||[]).map((function(n){const[r]=e(n);delete t[r.split(".")[0]]})),n=0;n<d.length;n++)(o=r.createElement("script")).innerHTML=d[n].innerHTML,o.nonce=s.nonce,r.head.appendChild(o);p&&p.parentNode.removeChild(p)}function w(){clearTimeout(l)}s=t.partytown||{},i==t&&(s.forward||[]).map((function(r){const[o,{preserveBehavior:i}]=e(r);u=t,o.split(".").map((function(e,r,o){var a;u=u[o[r]]=r+1<o.length?u[o[r]]||(a=o[r+1],n.includes(a)?[]:{}):(()=>{let e=null;if(i){const{methodOrProperty:n,thisObject:r}=((t,e)=>{let n=t;for(let t=0;t<e.length-1;t+=1)n=n[e[t]];return{thisObject:n,methodOrProperty:e.length>0?n[e[e.length-1]]:void 0}})(t,o);"function"==typeof n&&(e=(...t)=>n.apply(r,...t))}return function(){let n;return e&&(n=e(arguments)),(t._ptf=t._ptf||[]).push(o,arguments),n}})()}))})),"complete"==r.readyState?h():(t.addEventListener("DOMContentLoaded",h),t.addEventListener("load",h))}(window,document,navigator,top,window.crossOriginIsolated);;(e=>{e.addEventListener("astro:before-swap",e=>{let r=document.body.querySelector("iframe[src*='/~partytown/']");if(r)e.newDocument.body.append(r)})})(document);</script>
314</head><body class="mode-light scroll-animation"> <header class="header header--sticky" data-astro-cid-a2ntzko5> <div class="container" data-astro-cid-a2ntzko5> <nav aria-label="main navigation" role="navigation" class="header__nav" data-astro-cid-a2ntzko5> <a href="/" class="header__logo" data-astro-cid-a2ntzko5> <img src="/logo-wordmark-light.png" alt="Shuttle logo" width="111" height="27" class="block dark:hidden" data-astro-cid-a2ntzko5> <img src="/logo-wordmark-dark.png" alt="Shuttle logo" width="111" height="27" class="hidden dark:block" data-astro-cid-a2ntzko5> </a> <button id="header-toggle" class="header__toggle group/toggle" aria-expanded="false" aria-label="Toggle navigation" data-astro-cid-a2ntzko5> <div class="header__toggle-inner" data-astro-cid-a2ntzko5> <span aria-hidden="true" data-astro-cid-a2ntzko5></span> <span aria-hidden="true" data-astro-cid-a2ntzko5></span> <span aria-hidden="true" data-astro-cid-a2ntzko5></span> </div> </button> <ul role="menubar" aria-label="Select page" class="header__menu peer/menu" data-astro-cid-a2ntzko5> <li role="none" class="header__menu-item group/menuItem" data-astro-cid-a2ntzko5> <span role="menuitem" class="header__menu-link " data-astro-cid-a2ntzko5> Platforms <svg width="1em" height="1em" class="header__menu-chevron size-sm" data-astro-cid-a2ntzko5="true" data-icon="plus"> <symbol id="ai:local:plus" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 4.5v15m7.5-7.5h-15"/></symbol><use href="#ai:local:plus"></use> </svg> </span> <div class="header__submenu header__submenu--full" data-astro-cid-a2ntzko5> <div class="header__submenu-inner" data-astro-cid-a2ntzko5> <div class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <span class="header__submenu-group-title" data-astro-cid-a2ntzko5>Products</span> <ul class="header__submenu-col" data-astro-cid-a2ntzko5> <li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/platforms/links-checkout/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Links Payments </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/platforms/voice-payments/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Voice Payments </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/platforms/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Embedded Payment Layer </a> </li> </ul> </div><div class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <span class="header__submenu-group-title" data-astro-cid-a2ntzko5>Resources</span> <ul class="header__submenu-col" data-astro-cid-a2ntzko5> <li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/payment-providers/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Connected Payment Services </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/guides/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Payment Guides </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/vs/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Comparisons </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/alternatives/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Alternatives </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/glossary/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Glossary </a> </li> </ul> </div> <div class="decoration-border hidden lg:block decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span></div> </div> </div> </li><li role="none" class="header__menu-item group/menuItem" data-astro-cid-a2ntzko5> <span role="menuitem" class="header__menu-link " data-astro-cid-a2ntzko5> Merchants <svg width="1em" height="1em" viewBox="0 0 24 24" class="header__menu-chevron size-sm" data-astro-cid-a2ntzko5="true" data-icon="plus"> <use href="#ai:local:plus"></use> </svg> </span> <div class="header__submenu header__submenu--full" data-astro-cid-a2ntzko5> <div class="header__submenu-inner" data-astro-cid-a2ntzko5> <div class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <span class="header__submenu-group-title" data-astro-cid-a2ntzko5>Payment Apps</span> <ul class="header__submenu-col" data-astro-cid-a2ntzko5> <li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/merchants/links-checkout/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Links Payments </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/merchants/voice-checkout/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Voice Payments </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/quickbooks-online/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> QuickBooks Invoice Payments </a> </li> </ul> </div><div class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <span class="header__submenu-group-title" data-astro-cid-a2ntzko5>Find New Services</span> <ul class="header__submenu-col" data-astro-cid-a2ntzko5> <li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/merchants/payment-services/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Payment Services </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/merchants/revenue-finance/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Revenue Based Finance </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/merchants/fraud-protection/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Fraud Services </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/payment-providers/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Connected Payment Services </a> </li> </ul> </div><div class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <span class="header__submenu-group-title" data-astro-cid-a2ntzko5>Login</span> <ul class="header__submenu-col" data-astro-cid-a2ntzko5> <li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="https://payments.withbolt.com/b/QUICKBOOKS/sso?setupChannelKe
314y=setup" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> QuickBooks Invoice Payments </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="https://merchant.shuttleglobal.com/login" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Links Payments </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="https://merchant.shuttleglobal.com/login" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Merchant Portal </a> </li> </ul> </div> <div class="decoration-border hidden lg:block decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span></div> </div> </div> </li><li role="none" class="header__menu-item group/menuItem" data-astro-cid-a2ntzko5> <span role="menuitem" class="header__menu-link " data-astro-cid-a2ntzko5> Industries <svg width="1em" height="1em" viewBox="0 0 24 24" class="header__menu-chevron size-sm" data-astro-cid-a2ntzko5="true" data-icon="plus"> <use href="#ai:local:plus"></use> </svg> </span> <div class="header__submenu header__submenu--full" data-astro-cid-a2ntzko5> <div class="header__submenu-inner" data-astro-cid-a2ntzko5> <div class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <span class="header__submenu-group-title" data-astro-cid-a2ntzko5>Verticals</span> <ul class="header__submenu-col" data-astro-cid-a2ntzko5> <li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/industries/insurance-financial-services/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Insurance & Financial Services </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/industries/construction-field-services/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Construction & Field Services </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/industries/wholesale/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Wholesale & Distribution </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/industries/retail/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Retail </a> </li> </ul> </div><div class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <span class="header__submenu-group-title" data-astro-cid-a2ntzko5>More Industries</span> <ul class="header__submenu-col" data-astro-cid-a2ntzko5> <li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/industries/managed-service-providers/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> MSPs </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/industries/collections/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Collections </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/industries/bpo/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> BPOs </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/industries/healthcare/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Healthcare </a> </li> </ul> </div><div class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <span class="header__submenu-group-title" data-astro-cid-a2ntzko5> </span> <ul class="header__submenu-col" data-astro-cid-a2ntzko5> <li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/industries/car-financing/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Car Financing </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/industries/parking/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Parking </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/industries/events-ticketing/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Events & Ticketing </a> </li><li role="none" class="header__submenu-item group/submenuItem" data-astro-cid-a2ntzko5> <a href="/industries/hotel-booking/" role="menuitem" class="header__submenu-link " data-astro-cid-a2ntzko5> Hotel Booking </a> </li> </ul> </div> <div class="decoration-border hidden lg:block decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span></div> </div> </div> </li><li role="none" class="header__menu-item group/menuItem" data-astro-cid-a2ntzko5> <a href="/products/" role="menuitem" class="header__menu-link " data-astro-cid-a2ntzko5> Products </a> </li><li role="none" class="header__menu-item group/menuItem" data-astro-cid-a2ntzko5> <a href="/blog/" role="menuitem" class="header__menu-link " data-astro-cid-a2ntzko5> Articles </a> </li> </ul> </nav> </div> <div class="header__bottom-border" data-astro-cid-a2ntzko5></div> </header>
314<script> 315 ;(function () { 316 if (window.__shuttleNavWired) return 317 window.__shuttleNavWired = true 318 319 function closeAllDropdowns() { 320 document.querySelectorAll('.header__menu-item.open').forEach(function (el) { 321 el.classList.remove('open') 322 }) 323 } 324 325 document.addEventListener('click', function (event) { 326 var target = event.target 327 if (!target || !target.closest) return 328 329 // Mobile hamburger toggle 330 var toggle = target.closest('.header__toggle') 331 if (toggle) { 332 var menu = document.querySelector('.header__menu') 333 toggle.classList.toggle('toggle--open') 334 var expanded = toggle.getAttribute('aria-expanded') === 'true' 335 toggle.setAttribute('aria-expanded', expanded ? 'false' : 'true') 336 if (menu) menu.classList.toggle('menu--open') 337 return 338 } 339 340 // Top-level menu link that owns a submenu â toggle its dropdown 341 var link = target.closest('.header__menu-link') 342 if (link) { 343 var item = link.closest('.header__menu-item') 344 if (item && item.querySelector('.header__submenu')) { 345 event.preventDefault() 346 var wasOpen = item.classList.contains('open') 347 closeAllDropdowns() 348 if (!wasOpen) item.classList.add('open') 349 return 350 } 351 // plain link with no submenu â let it navigate 352 } 353 354 // Click anywhere outside an open dropdown closes it 355 if (!target.closest('.header__menu-item.open')) { 356 closeAllDropdowns() 357 } 358 }) 359 360 // Close dropdowns on Escape for keyboard users 361 document.addEventListener('keydown', function (event) { 362 if (event.key === 'Escape') closeAllDropdowns() 363 }) 364 })() 365</script>
365 <main>
365<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"Shuttle Global","url":"https://www.shuttleglobal.com","description":"Shuttle is a payment layer for software platforms, AI agents and merchants: one integration for voice, links and embedded checkout, with any compatible gateway.","publisher":{"@type":"Organization","name":"Shuttle Global","url":"https://www.shuttleglobal.com","logo":{"@type":"ImageObject","url":"https://www.shuttleglobal.com/logo-light.png"}},"potentialAction":{"@type":"SearchAction","target":"https://www.shuttleglobal.com/glossary?q={search_term_string}","query-input":"required name=search_term_string"}}</script>
365 <div class="section-spacer section-spacer--neutral" data-astro-cid-fhklgtsq> <div class="container" data-astro-cid-fhklgtsq> <div class="spacer" data-astro-cid-fhklgtsq> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> </div> <section class="section section--none bg-white! dark:bg-neutral-950!" data-astro-cid-5v3l7meg> <div style="height:100%" class="section__bg" data-astro-cid-5v3l7meg></div> <div class="container" data-astro-cid-5v3l7meg> <div class="hero-container" data-astro-cid-xzhkqbh4> <div class="hero-split" data-astro-cid-xzhkqbh4> <div class="hero-split__copy" data-astro-cid-xzhkqbh4> <h1 class="hero-split__title" data-astro-cid-xzhkqbh4>The Payment Layer</h1> <p class="hero-split__lede" data-astro-cid-xzhkqbh4> <strong data-astro-cid-xzhkqbh4>One integration for software platforms, AI agents and merchants.</strong> Take payments on the phone, by link, or inside your own product, with any compatible gateway. </p> <div class="hero-actions" data-astro-cid-xzhkqbh4> <a href="/platforms/" target="_self" class="button button--base button--primary w-full lg:w-auto" data-astro-cid-6ygtcg62>For Platforms</a> <a href="/merchants/" target="_self" class="button button--base button--w
365hite w-full lg:w-auto" data-astro-cid-6ygtcg62>For Merchants</a> </div> <ul class="hero-badges" data-astro-cid-xzhkqbh4> <li data-astro-cid-xzhkqbh4> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-xzhkqbh4> <path d="M12 3l7 3v5c0 5-3.4 8.4-7 10-3.6-1.6-7-5-7-10V6l7-3z" data-astro-cid-xzhkqbh4></path> <path d="M9 12l2 2 4-4" data-astro-cid-xzhkqbh4></path> </svg> PCI DSS Level 1 </li><li data-astro-cid-xzhkqbh4> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-xzhkqbh4> <path d="M12 3l7 3v5c0 5-3.4 8.4-7 10-3.6-1.6-7-5-7-10V6l7-3z" data-astro-cid-xzhkqbh4></path> <path d="M9 12l2 2 4-4" data-astro-cid-xzhkqbh4></path> </svg> ISO 27001 </li><li data-astro-cid-xzhkqbh4> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-xzhkqbh4> <path d="M12 3l7 3v5c0 5-3.4 8.4-7 10-3.6-1.6-7-5-7-10V6l7-3z" data-astro-cid-xzhkqbh4></path> <path d="M9 12l2 2 4-4" data-astro-cid-xzhkqbh4></path> </svg> SOC 2 Type 2 </li> </ul> </div> <div class="hero-proof" data-astro-cid-xzhkqbh4> <p class="sr-only" data-astro-cid-xzhkqbh4>Shuttle quietly provides payments for the largest insurer, the largest broadcaster, the largest parking payments platform, the largest accounting platform, the largest CPaaS and the largest automobile manufacturer group in the world.</p> <div aria-hidden="true" data-astro-cid-xzhkqbh4> <p class="hero-proof__eyebrow" data-astro-cid-xzhkqbh4>Shuttle quietly provides payments for</p> <p class="hero-proof__lead" data-astro-cid-xzhkqbh4>The largest…</p> <ul class="hero-proof__list" data-hero-proof data-astro-cid-xzhkqbh4> <li class="hero-proof__item is-on" data-astro-cid-xzhkqbh4> <span class="hero-proof__icon" data-astro-cid-xzhkqbh4> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-xzhkqbh4><path d="M12 3l7 3v5c0 5-3.4 8.4-7 10-3.6-1.6-7-5-7-10V6l7-3z"/><path d="M9 12l2 2 4-4"/></svg> </span> <span class="hero-proof__word" data-astro-cid-xzhkqbh4>Insurer</span> <span class="hero-proof__bar" data-astro-cid-xzhkqbh4></span> </li><li class="hero-proof__item" data-astro-cid-xzhkqbh4> <span class="hero-proof__icon" data-astro-cid-xzhkqbh4> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-xzhkqbh4><circle cx="12" cy="12" r="1.8"/><path d="M8.6 8.6a4.8 4.8 0 000 6.8M15.4 8.6a4.8 4.8 0 010 6.8M5.7 5.7a8.9 8.9 0 000 12.6M18.3 5.7a8.9 8.9 0 010 12.6"/></svg> </span> <span class="hero-proof__word" data-astro-cid-xzhkqbh4>Broadcaster</span> <span class="hero-proof__bar" data-astro-cid-xzhkqbh4></span> </li><li class="hero-proof__item" data-astro-cid-xzhkqbh4> <span class="hero-proof__icon" data-astro-cid-xzhkqbh4> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-xzhkqbh4><rect x="4" y="4" width="16" height="16" rx="1"/><path d="M10 17V7h3.4a3 3 0 010 6H10"/></svg> </span> <span class="hero-proof__word" data-astro-cid-xzhkqbh4>Parking payments platform</span> <span class="hero-proof__bar" data-astro-cid-xzhkqbh4></span> </li><li class="hero-proof__item" data-astro-cid-xzhkqbh4> <span class="hero-proof__icon" data-astro-cid-xzhkqbh4> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-xzhkqbh4><rect x="5" y="3" width="14" height="18" rx="1"/><path d="M8.5 7.5h7M8.5 11.5h7M8.5 15.5h4"/></svg> </span> <span class="hero-proof__word" data-astro-cid-xzhkqbh4>Accounting platform</span> <span class="hero-proof__bar" data-astro-cid-xzhkqbh4></span> </li><li class="hero-proof__item" data-astro-cid-xzhkqbh4> <span class="hero-proof__icon" data-astro-cid-xzhkqbh4> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-xzhkqbh4><path d="M4 5h16v11H9l-5 4z"/><path d="M8.5 9.5h7M8.5 12.5h4.5"/></svg> </span> <span class="hero-proof__word" data-astro-cid-xzhkqbh4>CPaaS</span> <span class="hero-proof__bar" data-astro-cid-xzhkqbh4></span> </li><li class="hero-proof__item" data-astro-cid-xzhkqbh4> <span class="hero-proof__icon" data-astro-cid-xzhkqbh4> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-xzhkqbh4><path d="M3.5 16.5v-3.2l2.2-4.8h12.6l2.2 4.8v3.2z"/><path d="M3.5 13.3h17"/><circle cx="7.5" cy="16.5" r="1.6"/><circle cx="16.5" cy="16.5" r="1.6"/></svg> </span> <span class="hero-proof__word" data-astro-cid-xzhkqbh4>Automobile manufacturer group</span> <span class="hero-proof__bar" data-astro-cid-xzhkqbh4></span> </li> </ul> <p class="hero-proof__tail" data-astro-cid-xzhkqbh4>…in the world.</p> </div> </div> </div> </div> </div> </section> <div class="section-spacer section-spacer--neutral" data-astro-cid-fhklgtsq> <div class="container" data-astro-cid-fhklgtsq> <div class="spacer" data-astro-cid-fhklgtsq> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> </div>
365<script type="module">function u(){const t=document.querySelector("[data-hero-proof]");if(!t||t.dataset.proofReady)return;t.dataset.proofReady="1";const r=t.closest(".hero-proof"),s=Array.from(t.children),d=2800,f=matchMedia("(prefers-reduced-motion: reduce)").matches;let n=0,c=0;r.style.setProperty("--dwell",`${d-100}ms`);const i=e=>{s.forEach((a,m)=>a.classList.toggle("is-on",m===e)),n=e},o=()=>window.clearInterval(c),l=()=>{o(),!(f||s.length<2)&&(c=window.setInterval(()=>{if(!t.isConnected)return o();i((n+1)%s.length)},d))};s.forEach((e,a)=>e.addEventListener("mouseenter",()=>{o(),r.classList.add("is-paused"),i(a)})),t.addEventListener("mouseleave",()=>{r.classList.remove("is-paused");const e=s[n];e.classList.remove("is-on"),e.offsetWidth,e.classList.add("is-on"),l()}),document.addEventListener("astro:before-swap",o,{once:!0}),l()}document.addEventListener("astro:page-load",u);u();</script>
365 <section class="section section--none" data-astro-cid-5v3l7meg> <div style="height:100%" class="section__bg" data-astro-cid-5v3l7meg></div> <div class="container" data-astro-cid-5v3l7meg> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--semitransparent lg:gap-x-8 lg:gap-y-0 gap-x-6 gap-y-6" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-12 md:col-span-12 col--opaque" data-astro-cid-poit3qco> <div class="customer-logos" data-astro-cid-jgeu3orn> <h2 class="customer-logos__title" data-astro-cid-jgeu3orn>Trusted by platforms and direct merchants</h2> <div class="customer-logos__marquee" data-astro-cid-jgeu3orn> <ul class="customer-logos__track" data-astro-cid-jgeu3orn> <li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/allianz.webp" alt="Allianz" width="101" height="25" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/bbc.webp" alt="BBC" width="91" height="26" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/volkswagen.webp" alt="Volkswagen" width="38" height="38" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/mercedes-benz.webp" alt="Mercedes-Benz" width="137" height="35" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/ringgo.webp" alt="RingGo" width="39" height="38" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/ikano-bank.webp" alt="Ikano Bank" width="69" height="29" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/anchanto.webp" alt="Anchanto" width="137" height="22" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/rice-university.webp" alt="Rice University" width="77" height="28" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/golden-nugget.webp" alt="Golden Nugget Hotels" width="41" height="37" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/quickbooks.webp" alt="QuickBooks" width="98" height="25" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/twilio.webp" alt="Twilio" width="88" height="27" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/arrive.webp" alt="Arrive" width="92" height="26" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/instanda.webp" alt="INSTANDA" width="141" height="24" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/polyai.webp" alt="PolyAI" width="88" height="26" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/brightpearl.webp" alt="Brightpearl" width="113" height="24" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/cabot.webp" alt="Cabot Financial" width="62" height="31" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/wescot.webp" alt="Wescot Credit Services" width="107" height="27" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/method.webp" alt="Method" width="109" height="24" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/orbit.webp" alt="Orbit" width="45" height="35" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" data-astro-cid-jgeu3orn> <img src="/logos/customers/vfairs.webp" alt="vFairs" width="78" height="33" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/allianz.webp" alt width="101" height="25" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/bbc.webp" alt width="91" height="26" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/volkswagen.webp" alt width="38" height="38" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/mercedes-benz.webp" alt width="137" height="35" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/ringgo.webp" alt width="39" height="38" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/ikano-bank.webp" alt width="69" height="29" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn>
365 <img src="/logos/customers/anchanto.webp" alt width="137" height="22" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/rice-university.webp" alt width="77" height="28" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/golden-nugget.webp" alt width="41" height="37" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/quickbooks.webp" alt width="98" height="25" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/twilio.webp" alt width="88" height="27" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/arrive.webp" alt width="92" height="26" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/instanda.webp" alt width="141" height="24" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/polyai.webp" alt width="88" height="26" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/brightpearl.webp" alt width="113" height="24" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/cabot.webp" alt width="62" height="31" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/wescot.webp" alt width="107" height="27" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/method.webp" alt width="109" height="24" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/orbit.webp" alt width="45" height="35" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li><li class="customer-logos__slot" aria-hidden="true" data-astro-cid-jgeu3orn> <img src="/logos/customers/vfairs.webp" alt width="78" height="33" loading="lazy" decoding="async" data-astro-cid-jgeu3orn> </li> </ul> </div> </div> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span></div> </section> <div class="section-spacer section-spacer--neutral" data-astro-cid-fhklgtsq> <div class="container" data-astro-cid-fhklgtsq> <div class="spacer" data-astro-cid-fhklgtsq> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> </div> <section class="section section--none" data-astro-cid-5v3l7meg> <div style="height:100%" class="section__bg" data-astro-cid-5v3l7meg></div> <div class="container" data-astro-cid-5v3l7meg> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--semitransparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-12 md:col-span-12 col--trans
365parent" data-astro-cid-poit3qco> <div class="coverage-band" data-astro-cid-jwdutmmi> <div class="coverage-band__head" data-astro-cid-jwdutmmi> <p class="coverage-band__eyebrow" data-astro-cid-jwdutmmi>Shuttle at a glance</p> <h2 class="coverage-band__title" data-astro-cid-jwdutmmi>One payment layer, connecting platforms and enterprises worldwide</h2> </div> <div class="coverage-band__map" data-astro-cid-jwdutmmi> <canvas aria-hidden="true" data-coverage-map data-markets="[{"n":"United States","lat":39,"lon":-98},{"n":"Canada","lat":56,"lon":-100},{"n":"United Kingdom","lat":53,"lon":-1.6},{"n":"Ireland","lat":53.3,"lon":-7.7},{"n":"Netherlands","lat":52.2,"lon":5.3},{"n":"Germany","lat":51,"lon":10.4},{"n":"Austria","lat":47.6,"lon":14.5},{"n":"Switzerland","lat":46.8,"lon":8.2},{"n":"France","lat":46.6,"lon":2.4},{"n":"Spain","lat":40.2,"lon":-3.7},{"n":"Italy","lat":42.8,"lon":12.6},{"n":"Poland","lat":52.1,"lon":19.4},{"n":"Ukraine","lat":49,"lon":31.4},{"n":"Belgium","lat":50.6,"lon":4.6},{"n":"Luxembourg","lat":49.8,"lon":6.1},{"n":"Denmark","lat":56,"lon":9.5},{"n":"Norway","lat":61,"lon":9},{"n":"Sweden","lat":62,"lon":15},{"n":"Finland","lat":64.5,"lon":26},{"n":"Estonia","lat":58.7,"lon":25.5},{"n":"Latvia","lat":56.9,"lon":24.9},{"n":"Lithuania","lat":55.3,"lon":23.9},{"n":"Czech Republic","lat":49.8,"lon":15.5},{"n":"Slovakia","lat":48.7,"lon":19.7},{"n":"Hungary","lat":47.2,"lon":19.4},{"n":"Slovenia","lat":46.1,"lon":14.8},{"n":"Croatia","lat":45.1,"lon":15.2},{"n":"Romania","lat":45.9,"lon":24.9},{"n":"Bulgaria","lat":42.7,"lon":25.3},{"n":"Greece","lat":39.1,"lon":22},{"n":"Portugal","lat":39.6,"lon":-8},{"n":"Gibraltar","lat":36.14,"lon":-5.35},{"n":"Malta","lat":35.9,"lon":14.4},{"n":"Cyprus","lat":35,"lon":33.2},{"n":"Liechtenstein","lat":47.16,"lon":9.55},{"n":"Iceland","lat":64.9,"lon":-19},{"n":"Bosnia-Herzegovina","lat":44.2,"lon":17.7},{"n":"Serbia","lat":44,"lon":21},{"n":"Kosovo","lat":42.6,"lon":20.9},{"n":"North Macedonia","lat":41.6,"lon":21.7},{"n":"Albania","lat":41.2,"lon":20.2},{"n":"Monaco","lat":43.7,"lon":7.4},{"n":"San Marino","lat":43.9,"lon":12.5},{"n":"United Arab Emirates","lat":24,"lon":54},{"n":"Saudi Arabia","lat":24,"lon":45},{"n":"Qatar","lat":25.3,"lon":51.2},{"n":"Kuwait","lat":29.3,"lon":47.5},{"n":"Bahrain","lat":26,"lon":50.6},{"n":"Oman","lat":21,"lon":57},{"n":"Jordan","lat":31.2,"lon":36.5},{"n":"Lebanon","lat":33.9,"lon":35.9},{"n":"Israel","lat":31,"lon":35},{"n":"Georgia","lat":42.3,"lon":43.4},{"n":"Azerbaijan","lat":40.4,"lon":47.6},{"n":"South Africa","lat":-29,"lon":24.5},{"n":"Kenya","lat":0,"lon":38},{"n":"Nigeria","lat":9.1,"lon":8.7},{"n":"Ghana","lat":7.9,"lon":-1},{"n":"Egypt","lat":26.8,"lon":30.8},{"n":"Ethiopia","lat":9.1,"lon":40.5},{"n":"Tanzania","lat":-6.4,"lon":34.9},{"n":"Uganda","lat":1.4,"lon":32.3},{"n":"Rwanda","lat":-1.9,"lon":29.9},{"n":"Senegal","lat":14.5,"lon":-14.5},{"n":"Cote d'Ivoire","lat":7.5,"lon":-5.5},{"n":"Cameroon","lat":5.7,"lon":12.7},{"n":"Benin","lat":9.3,"lon":2.3},{"n":"Burkina Faso","lat":12.2,"lon":-1.6},{"n":"Burundi","lat":-3.4,"lon":29.9},{"n":"Cape Verde","lat":16,"lon":-24},{"n":"Central African Republic","lat":6.6,"lon":20.9},{"n":"Chad","lat":15.5,"lon":19},{"n":"Congo","lat":-0.2,"lon":15.8},{"n":"Equatorial Guinea","lat":1.6,"lon":10.5},{"n":"Gabon","lat":-0.8,"lon":11.6},{"n":"Gambia","lat":13.4,"lon":-15.3},{"n":"Guinea","lat":10,"lon":-11},{"n":"Guinea-Bissau","lat":12,"lon":-15},{"n":"Liberia","lat":6.4,"lon":-9.4},{"n":"Madagascar","lat":-18.9,"lon":47},{"n":"Malawi","lat":-13.5,"lon":34.3},{"n":"Mali","lat":17,"lon":-4},{"n":"Mauritius","lat":-20.3,"lon":57.6},{"n":"Mozambique","lat":-18.7,"lon":35.5},{"n":"Niger","lat":17.6,"lon":8.1},{"n":"Seychelles","lat":-4.7,"lon":55.5},{"n":"Sierra Leone","lat":8.5,"lon":-11.8},{"n":"South Sudan","lat":7,"lon":30},{"n":"Togo","lat":8.6,"lon":0.8},{"n":"Zambia","lat":-13.1,"lon":27.9},{"n":"Zimbabwe","lat":-19,"lon":29.8},{"n":"Botswana","lat":-22.3,"lon":24.7},{"n":"India","lat":22,"lon":79},{"n":"Indonesia","lat":-2.5,"lon":117},{"n":"Philippines","lat":12.9,"lon":122},{"n":"Thailand","lat":15.1,"lon":101},{"n":"Australia","lat":-25,"lon":134},{"n":"Japan","lat":36.5,"lon":138.5},{"n":"Hong Kong","lat":22.3,"lon":114.2},{"n":"Singapore","lat":1.35,"lon":103.8},{"n":"Malaysia","lat":4.2,"lon":102},{"n":"New Zealand","lat":-41.5,"lon":172.8},{"n":"China","lat":35.9,"lon":104.2},{"n":"Vietnam","lat":14.1,"lon":108.3},{"n":"Bangladesh","lat":23.7,"lon":90.4},{"n":"Pakistan","lat":30.4,"lon":69.3},{"n":"Sri Lanka","lat":7.9,"lon":80.8},{"n":"Nepal","lat":28.4,"lon":84.1},{"n":"Myanmar","lat":21.9,"lon":95.9},{"n":"Cambodia","lat":12.6,"lon":105},{"n":"
365Laos","lat":19.9,"lon":102.5},{"n":"Brunei","lat":4.5,"lon":114.7},{"n":"Taiwan","lat":23.7,"lon":121},{"n":"South Korea","lat":36.5,"lon":127.9},{"n":"Macau","lat":22.2,"lon":113.5},{"n":"Maldives","lat":3.2,"lon":73.2},{"n":"Uzbekistan","lat":41.4,"lon":64.6},{"n":"Chile","lat":-35,"lon":-71},{"n":"Mexico","lat":23.6,"lon":-102.5},{"n":"Brazil","lat":-10.8,"lon":-52.9},{"n":"Argentina","lat":-38.4,"lon":-63.6},{"n":"Colombia","lat":4.6,"lon":-74.3},{"n":"Peru","lat":-9.2,"lon":-75},{"n":"Ecuador","lat":-1.8,"lon":-78.2},{"n":"Bolivia","lat":-16.3,"lon":-63.6},{"n":"Paraguay","lat":-23.4,"lon":-58.4},{"n":"Uruguay","lat":-32.5,"lon":-55.8},{"n":"Costa Rica","lat":9.7,"lon":-84},{"n":"Guatemala","lat":15.8,"lon":-90.2},{"n":"Honduras","lat":15.2,"lon":-86.2},{"n":"El Salvador","lat":13.8,"lon":-88.9},{"n":"Nicaragua","lat":12.9,"lon":-85.2},{"n":"Panama","lat":8.5,"lon":-80.8},{"n":"Jamaica","lat":18.1,"lon":-77.3},{"n":"Guyana","lat":4.9,"lon":-58.9},{"n":"Trinidad & Tobago","lat":10.7,"lon":-61.2},{"n":"Dominican Republic","lat":18.7,"lon":-70.2},{"n":"Barbados","lat":13.2,"lon":-59.5},{"n":"Suriname","lat":4,"lon":-56}]" data-astro-cid-jwdutmmi></canvas> </div> <p class="sr-only" data-astro-cid-jwdutmmi>Markets covered by Shuttle's connected payment providers include United States, Canada, United Kingdom, Ireland, Netherlands, Germany, Austria, Switzerland, France, Spain, Italy, Poland, Ukraine, Belgium, Luxembourg, Denmark, Norway, Sweden, Finland, Estonia, Latvia, Lithuania, Czech Republic, Slovakia, Hungary, Slovenia, Croatia, Romania, Bulgaria, Greece, Portugal, Gibraltar, Malta, Cyprus, Liechtenstein, Iceland, Bosnia-Herzegovina, Serbia, Kosovo, North Macedonia, Albania, Monaco, San Marino, United Arab Emirates, Saudi Arabia, Qatar, Kuwait, Bahrain, Oman, Jordan, Lebanon, Israel, Georgia, Azerbaijan, South Africa, Kenya, Nigeria, Ghana, Egypt, Ethiopia, Tanzania, Uganda, Rwanda, Senegal, Cote d'Ivoire, Cameroon, Benin, Burkina Faso, Burundi, Cape Verde, Central African Republic, Chad, Congo, Equatorial Guinea, Gabon, Gambia, Guinea, Guinea-Bissau, Liberia, Madagascar, Malawi, Mali, Mauritius, Mozambique, Niger, Seychelles, Sierra Leone, South Sudan, Togo, Zambia, Zimbabwe, Botswana, India, Indonesia, Philippines, Thailand, Australia, Japan, Hong Kong, Singapore, Malaysia, New Zealand, China, Vietnam, Bangladesh, Pakistan, Sri Lanka, Nepal, Myanmar, Cambodia, Laos, Brunei, Taiwan, South Korea, Macau, Maldives, Uzbekistan, Chile, Mexico, Brazil, Argentina, Colombia, Peru, Ecuador, Bolivia, Paraguay, Uruguay, Costa Rica, Guatemala, Honduras, El Salvador, Nicaragua, Panama, Jamaica, Guyana, Trinidad & Tobago, Dominican Republic, Barbados and Suriname.</p> <div class="coverage-band__facts" data-astro-cid-jwdutmmi> <div class="coverage-band__fact" data-astro-cid-jwdutmmi> <span class="coverage-band__key" data-astro-cid-jwdutmmi>How much</span> <span class="coverage-band__big" data-astro-cid-jwdutmmi>Billions</span> <p class="coverage-band__text" data-astro-cid-jwdutmmi>of dollars in payments processed through <b data-astro-cid-jwdutmmi>Shuttle</b></p> </div> <div class="coverage-band__fact" data-astro-cid-jwdutmmi> <span class="coverage-band__key" data-astro-cid-jwdutmmi>Who</span> <span class="coverage-band__big" data-astro-cid-jwdutmmi>35+</span> <p class="coverage-band__text" data-astro-cid-jwdutmmi>software platforms, plus direct merchants including <b data-astro-cid-jwdutmmi>the BBC, Allianz and Volkswagen</b></p> </div> <div class="coverage-band__fact" data-astro-cid-jwdutmmi> <span class="coverage-band__key" data-astro-cid-jwdutmmi>Where</span> <span class="coverage-band__big" data-astro-cid-jwdutmmi>160+</span> <p class="coverage-band__text" data-astro-cid-jwdutmmi>countries covered by <b data-astro-cid-jwdutmmi>connected payment providers</b></p> </div> </div> <p class="coverage-band__more" data-astro-cid-jwdutmmi><a href="/payment-providers/" data-astro-cid-jwdutmmi>Browse the payment provider directory →</a></p> </div> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span></div> </div> </div> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span></div> </section> <div class="section-spacer section-spacer--neutral" data-astro-cid-fhklgtsq> <div class="container" data-astro-cid-fhklgtsq> <div class="spacer" data-astro-cid-fhklgtsq> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> </div>
365<script type="module" src="/_astro/CoverageBand.astro_astro_type_script_index_0_lang.BYt4JuyK.js"></script>
365 <section class="section section--none" data-astro-cid-5v3l7meg> <div style="height:100%" class="section__bg" data-astro-cid-5v3l7meg></div> <div class="container" data-astro-cid-5v3l7meg> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--transparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6 pb-8" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-12 md:col-span-12 col--transparent" data-astro-cid-poit3qco> <header class="header header--basic pt-16 lg:pt-24" data-astro-cid-hnhh3bfe> <h2 class="header__title h2 lg:whitespace-nowrap" data-astro-cid-hnhh3bfe> <span class="header__title-text" data-astro-cid-hnhh3bfe>One is fine. Three is untenable.</span> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span></div> </h2> <p class="header__subtitle h5" data-astro-cid-hnhh3bfe> Building payment provider integrations yourself </p> </header> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--transparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6 items-stretch!" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-4 md:col-span-12 flex! col--transparent" data-astro-cid-poit3qco> <div class="escalation" data-astro-cid-atjfleex> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span></div> <p class="escalation__count" data-astro-cid-atjfleex>One provider</p> <svg class="escalation__wiring" viewBox="0 0 220 96" aria-hidden="true" data-astro-cid-atjfleex> <line x1="10" y1="48" x2="210" y2="48" data-astro-cid-atjfleex></line> <circle class="escalation__you" cx="10" cy="48" r="5" data-astro-cid-atjfleex></circle> <circle class="escalation__psp" cx="210" cy="48" r="4" data-astro-cid-atjfleex></circle> </svg> <h3 class="escalation__title" data-astro-cid-atjfleex>Fine</h3> <p class="escalation__text" data-astro-cid-atjfleex>Read their docs, build it, ship it. A known piece of work with an end to it.</p> <ul class="escalation__carries" data-astro-cid-atjfleex> <li data-astro-cid-atjfleex>1 data model</li><li data-astro-cid-atjfleex>1 set of rules</li> </ul> </div> </div> <div class="col col-span-12 lg:col-span-4 md:col-span-12 flex! col--transparent" data-astro-cid-poit3qco> <div class="escalation" data-astro-cid-atjfleex> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span></div> <p class="escalation__count" data-astro-cid-atjfleex>Two providers</p> <svg class="escalation__wiring" viewBox="0 0 220 96" aria-hidden="true" data-astro-cid-atjfleex> <line x1="10" y1="48" x2="210" y2="32" data-astro-cid-atjfleex></line><line x1="10" y1="48" x2="210" y2="64" data-astro-cid-atjfleex></line> <circle class="escalation__you" cx="10" cy="48" r="5" data-astro-cid-atjfleex></circle> <circle class="escalation__psp" cx="210" cy="32" r="4" data-astro-cid-atjfleex></circle><circle class="escalation__psp" cx="210" cy="64" r="4" data-astro-cid-atjfleex></circle> </svg> <h3 class="escalation__title" data-astro-cid-atjfleex>A nuisance</h3> <p class="escalation__text" data-astro-cid-atjfleex>The second one does everything its own way. You write the same feature twice, and you fix it twice every time either provider changes something.</p> <ul class="escalation__carries" data-astro-cid-atjfleex> <li data-astro-cid-atjfleex>2 data models</li><li data-astro-cid-atjfleex>2 sets of rules</li><li data-astro-cid-atjfleex>Translation matrix</li> </ul> </div> </div> <div class="col col-span-12 lg:col-span-4 md:col-span-12 flex! col--trans
365parent" data-astro-cid-poit3qco> <div class="escalation escalation--heavy" data-astro-cid-atjfleex> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span></div> <p class="escalation__count" data-astro-cid-atjfleex>Three providers</p> <svg class="escalation__wiring" viewBox="0 0 220 96" aria-hidden="true" data-astro-cid-atjfleex> <line x1="10" y1="48" x2="210" y2="24" data-astro-cid-atjfleex></line><line x1="10" y1="48" x2="210" y2="48" data-astro-cid-atjfleex></line><line x1="10" y1="48" x2="210" y2="72" data-astro-cid-atjfleex></line> <circle class="escalation__you" cx="10" cy="48" r="5" data-astro-cid-atjfleex></circle> <circle class="escalation__psp" cx="210" cy="24" r="4" data-astro-cid-atjfleex></circle><circle class="escalation__psp" cx="210" cy="48" r="4" data-astro-cid-atjfleex></circle><circle class="escalation__psp" cx="210" cy="72" r="4" data-astro-cid-atjfleex></circle> </svg> <h3 class="escalation__title" data-astro-cid-atjfleex>Untenable</h3> <p class="escalation__text" data-astro-cid-atjfleex>Three sets of docs, three different ways to describe a refund, three support contacts to chase. And if the card data passes through you, so does the PCI scope.</p> <ul class="escalation__carries" data-astro-cid-atjfleex> <li data-astro-cid-atjfleex>3 data models</li><li data-astro-cid-atjfleex>Translation nightmare</li><li data-astro-cid-atjfleex>3 relationships</li><li data-astro-cid-atjfleex>SAQ-D, if cards pass through you</li> </ul> </div> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--transparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-12 md:col-span-12 col--opaque" data-astro-cid-poit3qco> <div class="intcost__prose intcost__prose--home" data-astro-cid-atjfleex> <p data-astro-cid-atjfleex> 366Shuttle is the layer that makes it one integration instead. Run more than one provider at a time, send each 367 payment method to its own gateway, and keep the providers you already have. <a href="/about/" data-astro-cid-atjfleex>Why we built it that way →</a> </p> </div> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </section> <div class="section-spacer section-spacer--neutral" data-astro-cid-fhklgtsq> <div class="container" data-astro-cid-fhklgtsq> <div class="spacer" data-astro-cid-fhklgtsq> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> </div> <section id="what-do-you-need" class="section section--none" data-astro-cid-5v3l7meg> <div style="height:100%" class="section__bg" data-astro-cid-5v3l7meg></div> <div class="container" data-astro-cid-5v3l7meg> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--transparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-12 md:col-span-12 col--trans
367parent" data-astro-cid-poit3qco> <header class="header header--basic pt-16 lg:pt-24 items-center! text-center" data-astro-cid-hnhh3bfe> <h2 class="header__title h2" data-astro-cid-hnhh3bfe> <span class="header__title-text mx-auto" data-astro-cid-hnhh3bfe>What do you need?</span> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span></div> </h2> <p class="header__subtitle h5" data-astro-cid-hnhh3bfe> Choose your starting point </p> </header> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--transparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6 items-stretch!" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-4 md:col-span-12 flex! col--transparent" data-astro-cid-poit3qco> <div class="solution-card" data-astro-cid-j7pv25f6> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span></div> <svg width="1em" height="1em" class="solution-card__icon" data-astro-cid-j7pv25f6="true" data-icon="link"> <symbol id="ai:local:link" viewBox="0 0 64 64"><g fill="none" stroke-linecap="round" stroke-linejoin="round"><circle cx="14" cy="50" r="6" fill="#2E30BE"/><path stroke="#2E30BE" stroke-width="3" d="M14 50V22h30"/><path stroke="#FFBE00" stroke-width="3" d="m38 16 6 6-6 6"/><circle cx="50" cy="22" r="6" fill="#FFBE00"/></g></symbol><use href="#ai:local:link"></use> </svg> <h3 class="solution-card__title" data-astro-cid-j7pv25f6>Links Payments</h3> <p class="solution-card__text" data-astro-cid-j7pv25f6>A hosted checkout you send as a link.</p> <dl class="solution-card__meta" data-astro-cid-j7pv25f6> <dt data-astro-cid-j7pv25f6>Who it's for</dt> <dd data-astro-cid-j7pv25f6>Teams that invoice, chase or take orders away from a website.</dd> <dt data-astro-cid-j7pv25f6>Why choose it</dt> <dd data-astro-cid-j7pv25f6>Set the amount and reference on the link, add your logo and custom domain, all in the Merchant Portal.</dd> </dl> <div class="solution-card__links" data-astro-cid-j7pv25f6> <a href="/platforms/links-checkout/" class="solution-card__link" data-astro-cid-j7pv25f6>For Platforms <span aria-hidden="true" data-astro-cid-j7pv25f6>→</span></a> <a href="/merchants/links-checkout/" class="solution-card__link" data-astro-cid-j7pv25f6>For Merchants <span aria-hidden="true" data-astro-cid-j7pv25f6>→</span></a> </div> </div> </div> <div class="col col-span-12 lg:col-span-4 md:col-span-12 flex! col--transparent" data-astro-cid-poit3qco> <div class="solution-card" data-astro-cid-j7pv25f6> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span></div> <svg width="1em" height="1em" class="solution-card__icon" data-astro-cid-j7pv25f6="true" data-icon="voice"> <symbol id="ai:local:voice" viewBox="0 0 64 64"><g fill="none"><rect width="6" height="12" x="9" y="26" fill="#2E30BE" rx="2"/><rect width="6" height="24" x="19" y="20" fill="#2E30BE" rx="2"/><rect width="6" height="40" x="29" y="12" fill="#FFBE00" rx="2"/><rect width="6" height="24" x="39" y="20" fill="#2E30BE" rx="2"/><rect width="6" height="12" x="49" y="26" fill="#2E30BE" rx="2"/></g></symbol><use href="#ai:local:voice"></use> </svg> <h3 class="solution-card__title" data-astro-cid-j7pv25f6>Voice Payments</h3> <p class="solution-card__text" data-astro-cid-j7pv25f6>Card payments taken inside the call (telephony).</p> <dl class="solution-card__meta" data-astro-cid-j7pv25f6> <dt data-astro-cid-j7pv25f6>Who it's for</dt> <dd data-astro-cid-j7pv25f6>Teams taking payment on the phone, with people or AI agents.</dd> <dt data-astro-cid-j7pv25f6>Why choose it</dt> <dd data-astro-cid-j7pv25f6>The digits never reach the agent or the recording, so your PCI scope is limited.</dd> </dl> <div class="solution-card__links" data-astro-cid-j7pv25f6> <a href="/platforms/voice-payments/" class="solution-card__link" data-astro-cid-j7pv25f6>For Platforms <span aria-hidden="true" data-astro-cid-j7pv25f6>→</span></a> <a href="/merchants/voice-checkout/" class="solution-card__link" data-astro-cid-j7pv25f6>For Merchants <span aria-hidden="true" data-astro-cid-j7pv25f6>→</span></a> </div> </div> </div> <div class="col col-span-12 lg:col-span-4 md:col-span-12 flex! col--trans
367parent" data-astro-cid-poit3qco> <div class="solution-card" data-astro-cid-j7pv25f6> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span></div> <svg width="1em" height="1em" class="solution-card__icon" data-astro-cid-j7pv25f6="true" data-icon="embedded"> <symbol id="ai:local:embedded" viewBox="0 0 64 64"><g fill="none" stroke-linecap="round" stroke-linejoin="round"><rect width="52" height="44" x="6" y="10" stroke="#2E30BE" stroke-width="3" rx="4"/><rect width="28" height="20" x="18" y="22" fill="#FFBE00" rx="3"/></g></symbol><use href="#ai:local:embedded"></use> </svg> <h3 class="solution-card__title" data-astro-cid-j7pv25f6>Embedded Payment Layer</h3> <p class="solution-card__text" data-astro-cid-j7pv25f6>Payments built into your own product.</p> <dl class="solution-card__meta" data-astro-cid-j7pv25f6> <dt data-astro-cid-j7pv25f6>Who it's for</dt> <dd data-astro-cid-j7pv25f6>Software platforms rolling out payments to their merchants.</dd> <dt data-astro-cid-j7pv25f6>Why choose it</dt> <dd data-astro-cid-j7pv25f6>Your own checkout, merchant onboarding and branding, white-label.</dd> </dl> <div class="solution-card__links" data-astro-cid-j7pv25f6> <a href="/platforms/" class="solution-card__link" data-astro-cid-j7pv25f6>For Platforms <span aria-hidden="true" data-astro-cid-j7pv25f6>→</span></a> </div> </div> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span></div> </section> <div class="section-spacer section-spacer--neutral" data-astro-cid-fhklgtsq> <div class="container" data-astro-cid-fhklgtsq> <div class="spacer" data-astro-cid-fhklgtsq> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> </div> <section class="section section--none" data-astro-cid-5v3l7meg> <div style="height:100%" class="section__bg" data-astro-cid-5v3l7meg></div> <div class="container" data-astro-cid-5v3l7meg> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--transparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-12 md:col-span-12 col--transparent" data-astro-cid-poit3qco> <header class="header header--basic pt-16 lg:pt-24 pb-12 items-center! text-center" data-astro-cid-hnhh3bfe> <h2 class="header__title h2 text-balance" data-astro-cid-hnhh3bfe> <span class="header__title-text mx-auto max-w-5xl" data-astro-cid-hnhh3bfe>What customers run on Shuttle</span> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span></div> </h2> </header> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--semitransparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-12 md:col-span-12 col--opaque" data-astro-cid-poit3qco> <div class="use-cases" data-astro-cid-oz2vallu> <h3 class="use-cases__group" data-astro-cid-oz2vallu>Direct Merchants</h3> <ul class="use-cases__grid" data-astro-cid-oz2vallu> <li class="use-cases__card" data-astro-cid-oz2vallu> <div class="use-cases__logos" aria-hidden="true" data-astro-cid-oz2vallu> <img src="/logos/customers/bbc.webp" alt="" width="82" height="23" loading="lazy" decoding="async" data-astro-cid-oz2vallu> </div> <p class="use-cases__caption" data-astro-cid-oz2vallu> <span class="sr-only" data-astro-cid-oz2vallu>BBC: </span> Shuttle runs card payments for TV licence collections. </p> </li><li class="use-cases__card" data-astro-cid-oz2vallu> <div class="use-cases__logos" aria-hidden="true" data-astro-cid-oz2vallu> <img src="/logos/customers/allianz.webp" alt="" width="90" height="22" loading="lazy" decoding="async" data-astro-cid-oz2vallu> </div> <p class="use-cases__caption" data-astro-cid-oz2vallu> <span class="sr-only" data-astro-cid-oz2vallu>Allianz: </span> Voice payment collections in three countries. </p> </li><li class="use-cases__card" data-astro-cid-oz2vallu> <div class="use-cases__logos" aria-hidden="true" data-astro-cid-oz2vallu> <img src="/logos/customers/ringgo.webp" alt="" width="35" height="34" loading="lazy" decoding="async" data-astro-cid-oz2vallu> </div> <p class="use-cases__caption" data-astro-cid-oz2vallu> <span class="sr-only" data-astro-cid-oz2vallu>RingGo: </span> Voice and tokenisation for parking. </p> </li><li class="use-cases__card" data-astro-cid-oz2vallu> <div class="use-cases__logos" aria-hidden="true" data-astro-cid-oz2vallu> <img src="/logos/customers/mercedes-benz.webp" alt="" width="123" height="31" loading="lazy" decoding="async" data-astro-cid-oz2vallu> </div> <p class="use-cases__caption" data-astro-cid-oz2vallu> <span class="sr-only" data-astro-cid-oz2vallu>Mercedes-Benz: </span> Central car finance payments for B2B. </p> </li><li class="use-cases__card" data-astro-cid-oz2vallu> <div class="use-cases__logos" aria-hidden="true" data-astro-cid-oz2vallu> <img src="/logos/customers/volkswagen.webp" alt="" width="34" height="34" loading="lazy" decoding="async" data-astro-cid-oz2vallu> </div> <p class="use-cases__caption" data-astro-cid-oz2vallu> <span class="sr-only" data-astro-cid-oz2vallu>Volkswagen: </span> Central car finance payments for B2B. </p> </li><li class="use-cases__card" data-astro-cid-oz2vallu> <div class="use-cases__logos" aria-hidden="true" data-astro-cid-oz2vallu> <img src="/logos/customers/rice-university.webp" alt="" width="69" height="25" loading="lazy" decoding="async" data-astro-cid-oz2vallu> </div> <p class="use-cases__caption" data-astro-cid-oz2vallu> <span class="sr-only" data-astro-cid-oz2vallu>Rice University: </span> College fee payments. </p> </li> </ul> <div class="use-cases__platforms" data-astro-cid-oz2vallu> <div class="use-cases__platforms-head" data-astro-cid-oz2vallu> <h3 class="use-cases__group" data-astro-cid-oz2vallu>Platforms</h3> <p class="use-cases__stat" data-astro-cid-oz2vallu><span data-astro-cid-oz2vallu>35+</span> software platforms use Shuttle, including</p> </div> <ul class="use-cases__platform-logos" data-astro-cid-oz2vallu> <li data-astro-cid-oz2vallu> <img src="/logos/customers/quickbooks.webp" alt="QuickBooks" width="78" height="20" loading="lazy" decoding="async" data-astro-cid-oz2vallu> </li><li data-astro-cid-oz2vallu> <img src="/logos/customers/twilio.webp" alt="Twilio" width="69" height="21" loading="lazy" decoding="async" data-astro-cid-oz2vallu> </li><li data-astro-cid-oz2vallu> <img src="/logos/customers/instanda.webp" alt="INSTANDA" width="111" height="19" loading="lazy" decoding="async" data-astro-cid-oz2vallu> </li><li data-astro-cid-oz2vallu> <img src="/logos/customers/polyai.webp" alt="PolyAI" width="70" height="21" loading="lazy" decoding="async" data-astro-cid-oz2vallu> </li><li data-astro-cid-oz2vallu> <img src="/logos/customers/brightpearl.webp" alt="Brightpearl" width="89" height="19" loading="lazy" decoding="async" data-astro-cid-oz2vallu> </li><li data-astro-cid-oz2vallu> <img src="/logos/customers/arrive.webp" alt="Arrive" width="73" height="21" loading="lazy" decoding="async" data-astro-cid-oz2vallu> </li> </ul> </div> </div> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span></div> </section> <div class="section-spacer section-spacer--neutral" data-astro-cid-fhklgtsq> <div class="container" data-astro-cid-fhklgtsq> <div class="spacer" data-astro-cid-fhklgtsq> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> </div> <section class="section section--none" data-astro-cid-5v3l7meg> <div style="height:100%" class="section__bg" data-astro-cid-5v3l7meg></div> <div class="container" data-astro-cid-5v3l7meg> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--transparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-12 md:col-span-12 col--trans
367parent" data-astro-cid-poit3qco> <header class="header header--basic pt-16 lg:pt-24 pb-10 items-center! text-center" data-astro-cid-hnhh3bfe> <h2 class="header__title h2 text-balance" data-astro-cid-hnhh3bfe> <span class="header__title-text mx-auto max-w-5xl" data-astro-cid-hnhh3bfe>Get paid while the caller is still on the line</span> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span></div> </h2> <p class="header__subtitle h5" data-astro-cid-hnhh3bfe> What changed on the phone </p> </header> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--transparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6 items-stretch!" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-6 md:col-span-12 flex! col--opaque" data-astro-cid-poit3qco> <div class="in-call__beat" data-astro-cid-kket5m2f> <p class="in-call__statement" data-astro-cid-kket5m2f>The phone never went away. What changed is who answers.</p> <p class="in-call__sub" data-astro-cid-kket5m2f> 368Calls that once needed a floor of agents are increasingly handled by AI. 369</p> </div> </div> <div class="col col-span-12 lg:col-span-6 md:col-span-12 flex! col--opaque" data-astro-cid-poit3qco> <div class="in-call__gap" data-astro-cid-kket5m2f> <p class="in-call__gap-label" data-astro-cid-kket5m2f>Without a way to take payment on the call</p> <!-- The tick/cross is the whole argument, so it MUST have a text carrier. 370 As icon-only it rendered in dist/llms/index.md as four affirmative 371 bullets, which inverts the claim on a surface we publish and 372 advertise in robots.txt. Caught by the claims gate, 18 Sep 2026. --> <ul class="in-call__can" data-astro-cid-kket5m2f> <li class="in-call__can-item" data-astro-cid-kket5m2f> <svg class="in-call__mark" viewBox="0 0 20 20" aria-hidden="true" data-astro-cid-kket5m2f> <path d="M4 10.5 8 14.5 16 6" data-astro-cid-kket5m2f></path> </svg> <span data-astro-cid-kket5m2f><span class="sr-only" data-astro-cid-kket5m2f>Can: </span>Book the appointment</span> </li> <li class="in-call__can-item" data-astro-cid-kket5m2f> <svg class="in-call__mark" viewBox="0 0 20 20" aria-hidden="true" data-astro-cid-kket5m2f> <path d="M4 10.5 8 14.5 16 6" data-astro-cid-kket5m2f></path> </svg> <span data-astro-cid-kket5m2f><span class="sr-only" data-astro-cid-kket5m2f>Can: </span>Quote the price</span> </li> <li class="in-call__can-item" data-astro-cid-kket5m2f> <svg class="in-call__mark" viewBox="0 0 20 20" aria-hidden="true" data-astro-cid-kket5m2f> <path d="M4 10.5 8 14.5 16 6" data-astro-cid-kket5m2f></path> </svg> <span data-astro-cid-kket5m2f><span class="sr-only" data-astro-cid-kket5m2f>Can: </span>Resolve the query</span> </li> <li class="in-call__can-item in-call__can-item--no" data-astro-cid-kket5m2f> <svg class="in-call__mark in-call__mark--no" viewBox="0 0 20 20" aria-hidden="true" data-astro-cid-kket5m2f> <path d="M5.5 5.5 14.5 14.5M14.5 5.5 5.5 14.5" data-astro-cid-kket5m2f></path> </svg> <span data-astro-cid-kket5m2f><span class="sr-only" data-astro-cid-kket5m2f>Cannot: </span>Take the money</span> </li> </ul> <p class="in-call__dead-end" data-astro-cid-kket5m2f> <svg class="in-call__loop" viewBox="0 0 24 16" aria-hidden="true" data-astro-cid-kket5m2f> <path d="M22 3H8a5 5 0 0 0 0 10h3" data-astro-cid-kket5m2f></path> <path d="M14 9.5 10.5 13l3.5 3.5" transform="translate(0,-3.5)" data-astro-cid-kket5m2f></path> </svg> 373So the caller gets handed off to pay 374</p> </div> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--transparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-12 md:col-span-12 col--opaque" data-astro-cid-poit3qco> <p class="in-call__bridge" data-astro-cid-kket5m2f> 375Shuttle closes that gap inside the same call: no transfer to another line, no callback. Here is how. 376</p> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--semitransparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-12 md:col-span-12 col--opaque" data-astro-cid-poit3qco> <div class="in-call" data-astro-cid-kket5m2f> <div class="in-call__phases" aria-hidden="true" data-astro-cid-kket5m2f> <span class="in-call__phase in-call__phase--on" data-astro-cid-kket5m2f>On the call</span> <span class="in-call__phase in-call__phase--after" data-astro-cid-kket5m2f>After the call</span> </div> <ol class="in-call__steps" data-astro-cid-kket5m2f> <li class="in-call__step" data-astro-cid-kket5m2f> <span class="in-call__marker" data-astro-cid-kket5m2f>1</span> <span class="in-call__tag" data-astro-cid-kket5m2f>On the call</span> <h3 class="in-call__title" data-astro-cid-kket5m2f>Start the payment on the call</h3> <p class="in-call__text" data-astro-cid-kket5m2f>Your team or your AI voice agent starts the payment inside the call. No transfer to another line and no callback.</p> </li><li class="in-call__step" data-astro-cid-kket5m2f> <span class="in-call__marker" data-astro-cid-kket5m2f>2</span> <span class="in-call__tag" data-astro-cid-kket5m2f>On the call</span> <h3 class="in-call__title" data-astro-cid-kket5m2f>Card entered on the keypad</h3> <p class="in-call__text" data-astro-cid-kket5m2f>The caller keys in their card. The digits go to the payment gateway and never reach the agent, the screen or the call recording.</p> </li><li class="in-call__step in-call__step--after" data-astro-cid-kket5m2f> <span class="in-call__marker" data-astro-cid-kket5m2f>3</span> <span class="in-call__tag" data-astro-cid-kket5m2f>After the call</span> <h3 class="in-call__title" data-astro-cid-kket5m2f>Can't pay right now? Send a link</h3> <p class="in-call__text" data-astro-cid-kket5m2f>Send a payment link by SMS or email, so the payment can still come in after the call ends.</p> </li> </ol> <div class="in-call__foot" data-astro-cid-kket5m2f> <ul class="in-call__facts" data-astro-cid-kket5m2f> <li data-astro-cid-kket5m2f>Works with Twilio today, and any carrier coming soon</li> <li data-astro-cid-kket5m2f>30+ gateways for voice payments</li> <li data-astro-cid-kket5m2f>Limits your PCI scope. Shuttle is PCI DSS Level 1</li> </ul> <div class="in-call__links" data-astro-cid-kket5m2f> <a href="/platforms/voice-payments/" data-astro-cid-kket5m2f>Voice Checkout (Platforms) →</a> <a href="/merchants/voice-checkout/" data-astro-cid-kket5m2f>Voice Checkout (Merchants) →</a> <a href="/platforms/links-checkout/" data-astro-cid-kket5m2f>Links Checkout (Platforms) →</a> <a href="/merchants/links-checkout/" data-astro-cid-kket5m2f>Links Checkout (Merchants) →</a> </div> </div> </div> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span></div> </section> <div class="section-spacer section-spacer--neutral" data-astro-cid-fhklgtsq> <div class="container" data-astro-cid-fhklgtsq> <div class="spacer" data-astro-cid-fhklgtsq> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> </div> <section class="section section--none certifications-section" data-astro-cid-5v3l7meg> <div style="height:100%" class="section__bg" data-astro-cid-5v3l7meg></div> <div class="container" data-astro-cid-5v3l7meg> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--semitransparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-12 md:col-span-12 col--trans
376parent" data-astro-cid-poit3qco> <div class="certifications" data-astro-cid-36swhdvd> <div class="certifications__intro" data-astro-cid-36swhdvd> <h2 class="certifications__title" data-astro-cid-36swhdvd>Built for platforms operating at scale</h2> </div> <ul class="certifications__grid" data-astro-cid-36swhdvd> <li class="certifications__item" data-astro-cid-36swhdvd> <div class="certifications__icon" data-astro-cid-36swhdvd><svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M16 3h5v5"/><path d="M8 3H3v5"/><path d="M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3"/><path d="m15 9 6-6"/></svg></div> <div data-astro-cid-36swhdvd> <h3 class="certifications__item-title" data-astro-cid-36swhdvd>Multi-PSP</h3> <p class="certifications__item-desc" data-astro-cid-36swhdvd>Connect 40+ providers, and send each payment method to its own gateway</p> </div> </li><li class="certifications__item" data-astro-cid-36swhdvd> <div class="certifications__icon" data-astro-cid-36swhdvd><svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg></div> <div data-astro-cid-36swhdvd> <h3 class="certifications__item-title" data-astro-cid-36swhdvd>PCI DSS Level 1</h3> <p class="certifications__item-desc" data-astro-cid-36swhdvd>Highest level of payment card security certification</p> </div> </li><li class="certifications__item" data-astro-cid-36swhdvd> <div class="certifications__icon" data-astro-cid-36swhdvd><svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg></div> <div data-astro-cid-36swhdvd> <h3 class="certifications__item-title" data-astro-cid-36swhdvd>ISO 27001</h3> <p class="certifications__item-desc" data-astro-cid-36swhdvd>International standard for information security management</p> </div> </li><li class="certifications__item" data-astro-cid-36swhdvd> <div class="certifications__icon" data-astro-cid-36swhdvd><svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect width="18" height="11" x="3" y="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg></div> <div data-astro-cid-36swhdvd> <h3 class="certifications__item-title" data-astro-cid-36swhdvd>SOC 2</h3> <p class="certifications__item-desc" data-astro-cid-36swhdvd>Audited controls for security, availability, and confidentiality</p> </div> </li> </ul> </div> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span></div> </div> </div> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span></div> </section> <div class="section-spacer section-spacer--neutral" data-astro-cid-fhklgtsq> <div class="container" data-astro-cid-fhklgtsq> <div class="spacer" data-astro-cid-fhklgtsq> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> </div> <section class="section section--none" data-astro-cid-5v3l7meg> <div style="height:100%" class="section__bg" data-astro-cid-5v3l7meg></div> <div class="container" data-astro-cid-5v3l7meg> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--transparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-12 md:col-span-12 col--trans
376parent" data-astro-cid-poit3qco> <header class="header header--basic pt-16 lg:pt-24 pb-10 items-center! text-center" data-astro-cid-hnhh3bfe> <h2 class="header__title h2 text-balance" data-astro-cid-hnhh3bfe> <span class="header__title-text mx-auto" data-astro-cid-hnhh3bfe>From Startup to Enterprise</span> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span></div> </h2> <p class="header__subtitle h5" data-astro-cid-hnhh3bfe> What our customers are saying </p> </header> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--semitransparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6 items-stretch!" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-6 md:col-span-12 flex! col--opaque" data-astro-cid-poit3qco> <figure class="quote-card" data-astro-cid-x6vw3wl2> <svg class="quote-card__mark" viewBox="0 0 32 24" aria-hidden="true" data-astro-cid-x6vw3wl2> <path d="M0 24V13.6C0 5.9 4.2 1.4 12.3 0l1.2 3.6C9.3 4.9 7.3 7.4 7 11h6v13H0zm18.5 0V13.6c0-7.7 4.2-12.2 12.3-13.6L32 3.6c-4.2 1.3-6.2 3.8-6.5 7.4h6V24H18.5z" data-astro-cid-x6vw3wl2></path> </svg> <blockquote class="quote-card__quote" data-astro-cid-x6vw3wl2>Shuttle let us add payments without having to own or manage payments ourselves. Our customers can bring their own gateways, and we were able to improve the payment experience and scale without hiring a payments or finance team.</blockquote> <figcaption class="quote-card__author" data-astro-cid-x6vw3wl2> <img src="https://assets.caisy.io/assets/a9d5f9bb-fe86-4404-a807-3adfe81357bc/6ab6a99a-8ec2-4335-af74-118403729786/ff7b845c-e696-4f56-a24b-80b0e4f492ce/harrybevan.jpeg?w=160&format=webp" alt="" width="56" height="56" loading="lazy" decoding="async" data-astro-cid-x6vw3wl2> <span data-astro-cid-x6vw3wl2> <span class="quote-card__name" data-astro-cid-x6vw3wl2>Harry Bevan</span> <span class="quote-card__company" data-astro-cid-x6vw3wl2>Invoice Stack</span> </span> </figcaption> </figure> </div> <div class="col col-span-12 lg:col-span-6 md:col-span-12 flex! col--opaque" data-astro-cid-poit3qco> <figure class="quote-card" data-astro-cid-x6vw3wl2> <svg class="quote-card__mark" viewBox="0 0 32 24" aria-hidden="true" data-astro-cid-x6vw3wl2> <path d="M0 24V13.6C0 5.9 4.2 1.4 12.3 0l1.2 3.6C9.3 4.9 7.3 7.4 7 11h6v13H0zm18.5 0V13.6c0-7.7 4.2-12.2 12.3-13.6L32 3.6c-4.2 1.3-6.2 3.8-6.5 7.4h6V24H18.5z" data-astro-cid-x6vw3wl2></path> </svg> <blockquote class="quote-card__quote" data-astro-cid-x6vw3wl2>Shuttle let us treat legacy payment providers as a modern SaaS service. It enabled us to support the gateways our customers required and fully automate high-value transactions across regulated industries.</blockquote> <figcaption class="quote-card__author" data-astro-cid-x6vw3wl2> <img src="https://assets.caisy.io/assets/a9d5f9bb-fe86-4404-a807-3adfe81357bc/6ac2e33a-20ea-4f32-86a1-ef3c32832063/f422f0bc-3fc5-453c-868a-8b84e4acb7f2/nathanliu.jpg?w=160&format=webp" alt="" width="56" height="56" loading="lazy" decoding="async" data-astro-cid-x6vw3wl2> <span data-astro-cid-x6vw3wl2> <span class="quote-card__name" data-astro-cid-x6vw3wl2>Nathan Liu</span> <span class="quote-card__company" data-astro-cid-x6vw3wl2>PolyAI</span> </span> </figcaption> </figure> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span></div> </section> <div class="section-spacer section-spacer--neutral" data-astro-cid-fhklgtsq> <div class="container" data-astro-cid-fhklgtsq> <div class="spacer" data-astro-cid-fhklgtsq> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> </div> <section class="section section--none" data-astro-cid-5v3l7meg> <div style="height:100%" class="section__bg" data-astro-cid-5v3l7meg></div> <div class="container" data-astro-cid-5v3l7meg> <div class="row" data-astro-cid-eq54w2gt> <div class="row__grid row__grid--semitransparent lg:gap-x-8 lg:gap-y-8 gap-x-6 gap-y-6" data-astro-cid-eq54w2gt> <div class="col col-span-12 lg:col-span-1 md:col-span-12 col--trans
376parent" data-astro-cid-poit3qco> <div class="col__placeholder" data-astro-cid-poit3qco></div> </div> <div class="col col-span-12 lg:col-span-10 md:col-span-12 col--opaque" data-astro-cid-poit3qco> <div class="cta" data-astro-cid-jlygmum6> <div class="cta__content" data-astro-cid-jlygmum6> <h2 class="cta__title h1" data-astro-cid-jlygmum6>Talk to us</h2> <p class="cta__text" data-astro-cid-jlygmum6>See how The Payment Layer gives platforms one integration for voice, links and embedded checkout, with 40+ PSPs (30+ for voice).</p> <a href="/discovery/" target="_self" class="button button--base button--primary w-full lg:w-auto !bg-[#2e30be] !text-white hover:!bg-[#2525a0]" data-astro-cid-6ygtcg62>Book a Call</a> </div> <div class="cta__bg-color" data-astro-cid-jlygmum6></div> <div class="cta__bg-image" data-astro-cid-jlygmum6></div> <div class="cta__bg-circles" aria-hidden="true" data-astro-cid-jlygmum6> <span class="circle circle--lg" data-astro-cid-jlygmum6></span> <span class="circle circle--md" data-astro-cid-jlygmum6></span> <span class="circle circle--sm" data-astro-cid-jlygmum6></span> </div> </div> </div> <div class="col col-span-12 lg:col-span-1 md:col-span-12 col--transparent" data-astro-cid-poit3qco> <div class="col__placeholder" data-astro-cid-poit3qco></div> </div> </div> <div class="decoration-border decoration-border--solid" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span><span class="decoration-border__left" data-astro-cid-psnb6536></span></div> </div> </div> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__top" data-astro-cid-psnb6536></span><span class="decoration-border__bottom" data-astro-cid-psnb6536></span></div> </section> <div class="section-spacer section-spacer--neutral" data-astro-cid-fhklgtsq> <div class="container" data-astro-cid-fhklgtsq> <div class="spacer" data-astro-cid-fhklgtsq> <div class="decoration-border decoration-border--dashed" data-astro-cid-psnb6536><span class="decoration-border__left" data-astro-cid-psnb6536></span><span class="decoration-border__right" data-astro-cid-psnb6536></span></div> </div> </div> </div> </main> <footer class="footer" data-astro-cid-mh6itkc3> <div class="footer__main" data-astro-cid-mh6itkc3> <div class="container" data-astro-cid-mh6itkc3> <div class="footer__grid" data-astro-cid-mh6itkc3> <!-- Company Info --> <div class="footer__company" data-astro-cid-mh6itkc3> <p class="h3 footer__company-name" data-astro-cid-mh6itkc3>Shuttle Global Ltd</p> <div class="footer__company-details" data-astro-cid-mh6itkc3> <p data-astro-cid-mh6itkc3>Registered in England & Wales</p><p data-astro-cid-mh6itkc3>Company registration 07954321</p><p data-astro-cid-mh6itkc3>20 Wenlock Road, London, England, N1 7GU</p> </div> <hr class="footer__divider" data-astro-cid-mh6itkc3> <div class="footer__company-certs" data-astro-cid-mh6itkc3> <p data-astro-cid-mh6itkc3>PCI DSS Level 1 Service Provider</p><p data-astro-cid-mh6itkc3>ISO 27001 Certified</p><p data-astro-cid-mh6itkc3>SOC 2 Type 2</p> </div> </div> <!-- Link Columns --> <div class="footer__col" data-astro-cid-mh6itkc3> <hr class="footer__col-divider" data-astro-cid-mh6itkc3> <p class="footer__col-title" data-astro-cid-mh6itkc3>Products</p> <ul class="footer__links" data-astro-cid-mh6itkc3> <li data-astro-cid-mh6itkc3> <a href="/merchants/" data-astro-cid-mh6itkc3>Shuttle for Merchants</a> </li><li data-astro-cid-mh6itkc3> <a href="/platforms/" data-astro-cid-mh6itkc3>Shuttle for Platforms</a> </li><li data-astro-cid-mh6itkc3> <a href="/platforms/links-checkout/" data-astro-cid-mh6itkc3>Links Payments (Platforms)</a> </li><li data-astro-cid-mh6itkc3> <a href="/merchants/links-checkout/" data-astro-cid-mh6itkc3>Links Payments (Merchants)</a> </li><li data-astro-cid-mh6itkc3> <a href="/platforms/voice-payments/" data-astro-cid-mh6itkc3>Voice Payments (Platforms)</a> </li><li data-astro-cid-mh6itkc3> <a href="/merchants/voice-checkout/" data-astro-cid-mh6itkc3>Voice Payments (Merchants)</a> </li><li data-astro-cid-mh6itkc3> <a href="/quickbooks-online/" data-astro-cid-mh6itkc3>QuickBooks Online</a> </li><li data-astro-cid-mh6itkc3> <a href="/pricing/" data-astro-cid-mh6itkc3>Pricing</a> </li> </ul> </div>
376<div class="footer__col" data-astro-cid-mh6itkc3> <hr class="footer__col-divider" data-astro-cid-mh6itkc3> <p class="footer__col-title" data-astro-cid-mh6itkc3>Developers</p> <ul class="footer__links" data-astro-cid-mh6itkc3> <li data-astro-cid-mh6itkc3> <a href="https://docs.shuttleglobal.com" data-astro-cid-mh6itkc3>Developer Docs</a> </li><li data-astro-cid-mh6itkc3> <a href="https://merchant.shuttleglobal.com" data-astro-cid-mh6itkc3>Merchant Portal</a> </li><li data-astro-cid-mh6itkc3> <a href="https://status.shuttleglobal.com" data-astro-cid-mh6itkc3>System Status</a> </li><li data-astro-cid-mh6itkc3> <a href="/public-roadmap/" data-astro-cid-mh6itkc3>Product Roadmap</a> </li> </ul> </div><div class="footer__col" data-astro-cid-mh6itkc3> <hr class="footer__col-divider" data-astro-cid-mh6itkc3> <p class="footer__col-title" data-astro-cid-mh6itkc3>Company</p> <ul class="footer__links" data-astro-cid-mh6itkc3> <li data-astro-cid-mh6itkc3> <a href="/about/" data-astro-cid-mh6itkc3>About Shuttle</a> </li><li data-astro-cid-mh6itkc3> <a href="/blog/" data-astro-cid-mh6itkc3>Articles</a> </li><li data-astro-cid-mh6itkc3> <a href="/guides/" data-astro-cid-mh6itkc3>Guides</a> </li><li data-astro-cid-mh6itkc3> <a href="/vs/" data-astro-cid-mh6itkc3>Comparisons</a> </li><li data-astro-cid-mh6itkc3> <a href="/alternatives/" data-astro-cid-mh6itkc3>Alternatives</a> </li><li data-astro-cid-mh6itkc3> <a href="/use-cases/" data-astro-cid-mh6itkc3>Use Cases</a> </li><li data-astro-cid-mh6itkc3> <a href="/glossary/" data-astro-cid-mh6itkc3>Glossary</a> </li><li data-astro-cid-mh6itkc3> <a href="/payment-layer/" data-astro-cid-mh6itkc3>The Payment Layer (white paper)</a> </li><li data-astro-cid-mh6itkc3> <a href="/industries/" data-astro-cid-mh6itkc3>Industries</a> </li><li data-astro-cid-mh6itkc3> <a href="/payment-providers/" data-astro-cid-mh6itkc3>Payment Providers</a> </li><li data-astro-cid-mh6itkc3> <a href="/service-providers/" data-astro-cid-mh6itkc3>For Service Providers</a> </li><li data-astro-cid-mh6itkc3> <a href="/partners/voice-checkout/" data-astro-cid-mh6itkc3>Partner Programme</a> </li><li data-astro-cid-mh6itkc3> <a href="/brand/" data-astro-cid-mh6itkc3>Brand Assets</a> </li><li data-astro-cid-mh6itkc3> <a href="/discovery/" data-astro-cid-mh6itkc3>Contact</a> </li> </ul> </div><div class="footer__col" data-astro-cid-mh6itkc3> <hr class="footer__col-divider" data-astro-cid-mh6itkc3> <p class="footer__col-title" data-astro-cid-mh6itkc3>Legal & Security</p> <ul class="footer__links" data-astro-cid-mh6itkc3> <li data-astro-cid-mh6itkc3> <a href="https://docs.shuttleglobal.com/docs/org-security" data-astro-cid-mh6itkc3>Security</a> </li><li data-astro-cid-mh6itkc3> <a href="https://docs.google.com/document/d/1K9RYhCupgEhsIVq162EYp7iXIGWn6ayFfpEe55OkDl0/view" data-astro-cid-mh6itkc3>Terms & Conditions</a> </li><li data-astro-cid-mh6itkc3> <a href="https://docs.google.com/document/d/1Fsixhx7Oi4YuGTDRpGonRZawLVg_N3nBe1xz_exKZvE/view" data-astro-cid-mh6itkc3>Privacy Policy</a> </li><li data-astro-cid-mh6itkc3> <a href="https://docs.google.com/document/d/1yF4LvH-qvGI0oQwJsoDD3Ws5uVB6sZ1SwIseKk1sEJc/view" data-astro-cid-mh6itkc3>Acceptable Use Policy</a> </li> </ul> </div> </div> </div> </div> <!-- Bottom Bar --> <div class="footer__bottom" data-astro-cid-mh6itkc3> <div class="container" data-astro-cid-mh6itkc3> <div class="footer__bottom-inner" data-astro-cid-mh6itkc3> <div class="footer__bottom-left" data-astro-cid-mh6itkc3> <p class="footer__copyright" data-astro-cid-mh6itkc3>© 2020 - 2026 Shuttle Global Ltd. All Rights Reserved.</p> <button type="button" class="footer__cookie-btn" onclick="(function(){var _hsp=window._hsp=window._hsp||[];_hsp.push(['showBanner'])})()" data-astro-cid-mh6itkc3>Cookie Settings</button> </div> <div class="footer__social" data-astro-cid-mh6itkc3> <a href="https://x.com/shuttleglobal" target="_blank" rel="noopener noreferrer" aria-label="Twitter" class="footer__social-link" data-astro-cid-mh6itkc3> <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" data-astro-cid-mh6itkc3><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" data-astro-cid-mh6itkc3></path></svg> </a><a href="https://www.linkedin.com/company/shuttleglobal" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn" class="footer__social-link" data-astro-cid-mh6itkc3> <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" data-astro-cid-mh6itkc3><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" data-astro-cid-mh6itkc3></path></svg> </a> </div> </div> </div> </div> </footer> <!-- Theme Scripts --><!-- Note: nav dropdown + mobile toggle are wired directly in NavigationBar.astro 377 via a delegated inline listener so the menu is interactive immediately, 378 without waiting for the View Transitions runtime / astro:page-load. -->
378<script> 379 document.addEventListener('astro:page-load', () => { 380 // Modals 381 function openModal(modal) { 382 if (modal && modal.classList.contains('modal')) { 383 modal.classList.add('open') 384 } 385 } 386 function closeModal(modal) { 387 if (modal && modal.classList.contains('modal')) { 388 modal.classList.remove('open') 389 } 390 } 391 const modalButtons = document.querySelectorAll('[data-modal]') 392 393 modalButtons.forEach(function (button) { 394 button.addEventListener('click', function (event) { 395 event.preventDefault() 396 const modalId = button.getAttribute('data-modal') 397 const modal = document.getElementById(modalId) 398 openModal(modal) 399 }) 400 }) 401 document.querySelectorAll('.modal').forEach(function (modal) { 402 modal.addEventListener('click', function (event) { 403 if (event.target === modal) { 404 closeModal(modal) 405 } 406 }) 407 const close = modal.querySelector('.modal__close') 408 close.addEventListener('click', function (event) { 409 event.stopPropagation() 410 closeModal(modal) 411 }) 412 }) 413 }) 414</script>
414 <!-- Light/Dark mode -->
414<script type="module">document.addEventListener("astro:page-load",()=>{document.querySelectorAll("ul:has([data-billing])").forEach(t=>{const e=localStorage.getItem("billingCycle")||"annually";m(t,e),t.addEventListener("click",r=>{const i=r.target;if(!i)return;const n=i.closest("li[data-billing]");if(!n||!n.dataset.billing)return;const a=n.dataset.billing==="monthly"?"monthly":"annually";m(t,a),localStorage.setItem("billingCycle",a)})});function m(t,e){t.querySelectorAll("li[data-billing]").forEach(n=>{const a=n.dataset.billing===e;n.classList.toggle("active",a),n.setAttribute("aria-pressed",String(a)),n.setAttribute("role","button"),n.tabIndex=0});const r=document.querySelectorAll(".card--pricing-price__amount"),i=document.querySelectorAll(".card--pricing-price__note");r.forEach(n=>{const a=n.dataset.priceMonthly,c=n.dataset.priceAnnually,o=e==="monthly"?a:c;if(!o)return;const s=parseFloat(o);if(Number.isNaN(s))return;const l=f(o);window.matchMedia("(prefers-reduced-motion: reduce)").matches?n.textContent=u(s,l):g(n,s,{duration:400,decimals:l})}
414),i.forEach(n=>{const a=n.dataset.priceMonthlyNote,c=n.dataset.priceAnnuallyNote,o=e==="monthly"?a:c;o&&(n.textContent=o)})}function f(t){const e=t.indexOf(".");return e===-1?0:t.length-e-1}function u(t,e){return"$ "+new Intl.NumberFormat(void 0,{minimumFractionDigits:e,maximumFractionDigits:e}).format(t)}function g(t,e,{duration:r=800,decimals:i=0}={}){const n=t.textContent||"",a=parseFloat(n.replace(/[^\d.]/g,""))||0,c=performance.now(),o=a,s=e-o;t._animRAF&&cancelAnimationFrame(t._animRAF);const l=p=>{const d=Math.min(1,(p-c)/r),h=y(d),A=o+s*h;t.textContent=u(A,i),d<1?t._animRAF=requestAnimationFrame(l):(t.textContent=u(e,i),t._animRAF=null)};t._animRAF=requestAnimationFrame(l)}function y(t){return 1-Math.pow(1-t,3)}});</script>
414 <!-- Scroll animations -->
414<script type="module">function t(){document.querySelectorAll(".video-in-viewport").forEach(e=>{if(!(e instanceof HTMLVideoElement))return;e.querySelector("source")&&e.load(),e.autoplay&&e.paused&&e.play().catch(()=>{})})}document.addEventListener("astro:after-swap",t);document.addEventListener("astro:page-loaded",t);</script>
414 <!-- Video -->
414<script type="module">const p=()=>{const i=new IntersectionObserver(e=>{e.forEach(o=>{if(!o.isIntersecting)return;const t=o.target;if((t.classList.contains("scroll-animate")||t.classList.contains("col")&&t.closest(".scroll-animation"))&&(t.classList.add("scroll-animated"),i.unobserve(t)),t.classList.contains("counter")&&t instanceof HTMLElement){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches){i.unobserve(t);return}const a=parseInt(t.dataset.target||"0",10),r=t.dataset.prefix||"",n=t.dataset.suffix||"",u=parseInt(t.dataset.duration||"1000",10);let s=0;const c=a/(u/16),l=()=>{s+=c,s>=a?t.textContent=r+a+n:(t.textContent=r+Math.floor(s)+n,requestAnimationFrame(l))};l(),i.unobserve(t)}})},{threshold:0,rootMargin:"0px 0px -10% 0px"});document.querySelectorAll(".scroll-animation .col:not(.no-scroll-animation), .scroll-animate:not(.no-scroll-animation), .counter").forEach(e=>{if(!e.classList.contains("counter")){const o=e.getBoundingClientRect();if(o.top<window.innerHeight&&o.bottom>0){e.classList.add("scroll-animated");return}}i.observe(e)})},g=()=>{const i=document.querySelectorAll(".media--parallax > *, .parallax > *");let e=!1;const o=()=>{const a=window.pageYOffset,r=window.innerHeight;i.forEach(n=>{if(!(n instanceof HTMLElement))return;const s=n.getBoundingClientRect().top+window.pageYOffset,c=n.offsetHeight;if(s+c>a&&s<a+r){const l=(a+r-s)/(r+c),d=Number(n.dataset.parallaxOffset??"50"),m=Math.min(Math.max(l*d*2-d,-d),d);n.style.transform=`translateY(${m}px)`}}),e=!1},t=()=>{e||(requestAnimationFrame(o),e=!0)};window.addEventListener("scroll",t),window.addEventListener("resize",t),t()},f=()=>{p(),g()};document.addEventListener("DOMContentLoaded",f);document.addEventListener("astro:page-load",f);document.addEventListener("astro:after-swap",f);document.readyState!=="loading"&&f();</script>
414 <!-- Scrollspy -->
414<script type="module"> 415 ;(() => { 416 const ACTIVE_CLASS = 'active' 417 const HEADER_OFFSET_PX = 212 418 419 /** @type {HTMLElement | null} */ 420 let ROOT = null 421 /** @type {IntersectionObserver | null} */ 422 let observer = null 423 /** @type {HTMLElement[]} */ 424 let sections = [] 425 /** @type {Map<string, HTMLAnchorElement>} */ 426 let linkMap = new Map() 427 let ticking = false 428 429 const getRoot = () => document.querySelector('.stepper') 430 431 const buildLinkMap = () => { 432 linkMap = new Map() 433 ROOT?.querySelectorAll('.stepper__nav a[href^="#"]').forEach((a) => { 434 const href = (a.getAttribute('href') || '').trim() 435 if (href.startsWith('#') && href.length > 1) { 436 try { 437 linkMap.set(decodeURIComponent(href.slice(1)), a) 438 } catch {} 439 } 440 }) 441 } 442 443 const setActiveLink = (id) => { 444 // clear current state 445 ROOT?.querySelectorAll('.stepper__nav-item').forEach((li) => 446 li.classList.remove(ACTIVE_CLASS) 447 ) 448 linkMap.forEach((a) => { 449 a.classList.remove(ACTIVE_CLASS) 450 a.removeAttribute('aria-current') 451 }) 452 453 // apply to the matching link (if any) 454 const a = linkMap.get(id) 455 if (!a) return 456 a.classList.add(ACTIVE_CLASS) 457 a.setAttribute('aria-current', 'true') 458 a.closest('.stepper__nav-item')?.classList.add(ACTIVE_CLASS) 459 } 460 461 const ioCallback = (entries) => { 462 let candidate = null 463 for (const entry of entries) { 464 if (!entry.isIntersecting) continue 465 if (!candidate || entry.intersectionRatio > candidate.intersectionRatio) candidate = entry 466 } 467 const id = candidate?.target.getAttribute('id') 468 if (id) setActiveLink(id) 469 } 470 471 const initIO = () => { 472 cleanupIO() 473 observer = new IntersectionObserver(ioCallback, { 474 root: null, 475 rootMargin: `-${HEADER_OFFSET_PX}px 0px -60% 0px`, 476 threshold: [0, 0.25, 0.5, 0.75, 1] 477 }) 478 sections.forEach((el) => observer?.observe(el)) 479 } 480 481 const cleanupIO = () => { 482 observer?.disconnect() 483 observer = null 484 } 485 486 const onScrollFallback = () => { 487 if (observer || ticking) return 488 ticking = true 489 requestAnimationFrame(() => { 490 const y = window.scrollY + HEADER_OFFSET_PX + 1 491 let currentId = null 492 for (const sec of sections) { 493 const top = sec.getBoundingClientRect().top + window.scrollY 494 const bottom = top + sec.offsetHeight 495 if (y >= top && y < bottom) { 496 currentId = sec.id 497 break 498 } 499 } 500 if (currentId) setActiveLink(currentId) 501 ticking = false 502 }) 503 } 504 505 const syncFromHash = () => { 506 const id = (location.hash || '').slice(1) 507 if (id && linkMap.has(id)) setActiveLink(id) 508 } 509 510 const init = () => { 511 ROOT = getRoot() 512 if (!ROOT) { 513 destroy() 514 return 515 } 516 517 sections = Array.from(ROOT.querySelectorAll('.stepper__step[id]')) 518 buildLinkMap() 519 520 if ('IntersectionObserver' in window) { 521 initIO() 522 } else { 523 cleanupIO() 524 window.removeEventListener('scroll', onScrollFallback) 525 window.addEventListener('scroll', onScrollFallback, { passive: true }) 526 onScrollFallback() 527 } 528 syncFromHash() 529 } 530 531 const destroy = () => { 532 cleanupIO() 533 window.removeEventListener('scroll', onScrollFallback) 534 } 535 536 // First load 537 document.addEventListener('DOMContentLoaded', init) 538 539 // Astro view-transition lifecycle 540 document.addEventListener('astro:before-swap', destroy) 541 document.addEventListener('astro:after-swap', init) 542 document.addEventListener('astro:page-load', () => { 543 destroy() 544 init() 545 }) 546 547 // Hash changes (e.g., clicking nav links) 548 window.addEventListener('hashchange', syncFromHash) 549 })() 550</script>
550 <!-- Pricing toggle script -->
550<script type="module">const o=()=>{document.documentElement.classList.add("disable-transitions");const t=window.matchMedia("(prefers-color-scheme: dark)").matches,e=localStorage.getItem("theme");e==="dark"?document.documentElement.classList.add("dark"):e==="light"?document.documentElement.classList.remove("dark"):t?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),window.requestAnimationFrame(()=>{setTimeout(()=>{document.documentElement.classList.remove("disable-transitions")},0)})},a=()=>{const t=window.matchMedia("(prefers-color-scheme: dark)"),e=localStorage.getItem("theme");(!e||e==="auto")&&t.addEventListener("change",o)},m=()=>{const t=document.getElementById("theme-selector");t&&t.addEventListener("click",()=>{const e=document.documentElement.classList.contains("dark")?"dark":"light",n=localStorage.getItem("theme")||"auto";let s="auto";n==="auto"?s=e==="dark"?"light":"dark":n==="dark"?s="light":n==="light"&&(s="auto"),typeof s=="string"&&(localStorage.setItem("theme",s),o())})},d=()=>{if(document.documentElement.classList.contains("mode-dark")){document.documentElement.classList.add("dark");return}if(document.documentElement.classList.contains("mode-light")){document.documentElement.classList.remove("dark");return}o(),a(),m()};d();document.addEventListener("astro:page-loaded",d);document.addEventListener("astro:after-swap",d);</script>
550
550<script> 551;(function () { 552 'use strict' 553 554 // Skip event tracking for detected bots 555 if (window.__shuttleBotDetected) return 556 557 // Wait for gtag to be available (loaded via Partytown) 558 function safeGtag() { 559 if (typeof gtag === 'function') return gtag 560 // Fallback: push to dataLayer directly 561 window.dataLayer = window.dataLayer || [] 562 return function () { 563 window.dataLayer.push(arguments) 564 } 565 } 566 567 function trackEvent(eventName, params) { 568 var g = safeGtag() 569 g('event', eventName, params) 570 } 571 572 var currentPage = window.location.pathname 573 574 // -------------------------------------------------- 575 // 1. Discovery page viewed (conversion) 576 // -------------------------------------------------- 577 if (currentPage.indexOf('/discovery') === 0) { 578 trackEvent('discovery_page_viewed', { 579 referrer_page: document.referrer || '(direct)' 580 }) 581 } 582 583 // -------------------------------------------------- 584 // 2. Industry page viewed 585 // -------------------------------------------------- 586 if (currentPage.indexOf('/industries/') === 0 && currentPage !== '/industries/') { 587 var slug = currentPage.replace('/industries/', '').replace(/\/$/, '') 588 trackEvent('industry_page_viewed', { 589 industry: slug, 590 content_type: 'industry' 591 }) 592 } 593 594 // -------------------------------------------------- 595 // 3. CTA click tracking 596 // -------------------------------------------------- 597 document.addEventListener('click', function (e) { 598 var link = e.target.closest('a') 599 if (!link) return 600 601 var href = link.getAttribute('href') || '' 602 var text = (link.textContent || '').trim() 603 var location = detectCtaLocation(link) 604 605 // Book a Call / Discovery links (primary conversion) 606 if (href.indexOf('/discovery') !== -1) { 607 trackEvent('cta_book_call_clicked', { 608 button_text: text, 609 cta_location: location, 610 page: currentPage 611 }) 612 } 613 614 // Twilio install (secondary conversion) 615 if (href.indexOf('merchant.shuttleglobal.com/signup/twilio') !== -1) { 616 trackEvent('twilio_install_clicked', { 617 button_text: text, 618 page: currentPage 619 }) 620 } 621 622 // Merchant portal signup (secondary conversion) 623 if (href.indexOf('merchant.shuttleglobal.com') !== -1 && href.indexOf('/signup/twilio') === -1) { 624 trackEvent('merchant_signup_clicked', { 625 button_text: text, 626 page: currentPage 627 }) 628 } 629 630 // General CTA click (any Button component link) 631 if (link.closest('.btn, [class*="button"], [class*="Button"], .solution-card, .pricing-card__cta, .cta__content')) { 632 trackEvent('cta_clicked', { 633 button_text: text, 634 cta_location: location, 635 destination_url: href, 636 page: currentPage 637 }) 638 } 639 }) 640 641 // -------------------------------------------------- 642 // 4. Solution card clicks (homepage) 643 // -------------------------------------------------- 644 document.addEventListener('click', function (e) { 645 var card = e.target.closest('.solution-card') 646 if (!card) return 647 648 var title = card.querySelector('.solution-card__title') 649 trackEvent('solution_card_clicked', { 650 card_title: title ? title.textContent.trim() : '', 651 destination_url: card.getAttribute('href') || '' 652 }) 653 }) 654 655 // -------------------------------------------------- 656 // 5. FAQ opens 657 // -------------------------------------------------- 658 document.addEventListener('toggle', function (e) { 659 if (e.target.tagName === 'DETAILS' && e.target.open) { 660 var summary = e.target.querySelector('summary') 661 trackEvent('faq_opened', { 662 question: summary ? summary.textContent.trim() : '', 663 page: currentPage 664 }) 665 } 666 }, true) 667 668 // -------------------------------------------------- 669 // 6. Section visibility (pricing, testimonials) 670 // -------------------------------------------------- 671 if ('IntersectionObserver' in window) { 672 var observed = {} 673 var observer = new IntersectionObserver(function (entries) { 674 entries.forEach(function (entry) { 675 if (!entry.isIntersecting) return 676 var id = entry.target.id || entry.target.getAttribute('data-track-section') 677 if (!id || observed[id]) return 678 observed[id] = true 679 trackEvent(id + '_section_viewed', { 680 page: currentPage 681 }) 682 }) 683 }, { threshold: 0.3 }) 684 685 // Observe pricing sections 686 document.querySelectorAll('#pricing, [id*="pricing"]').forEach(function (el) { 687 el.setAttribute('data-track-section', 'pricing') 688 observer.observe(el) 689 }) 690 } 691 692 // -------------------------------------------------- 693 // Helpers 694 // -------------------------------------------------- 695 function detectCtaLocation(el) { 696 if (el.closest('nav, [class*="navbar"], [class*="Navbar"]')) return 'nav' 697 if (el.closest('.cta, [class*="CTAPrimary"], [class*="cta-"]')) return 'footer_cta' 698 if (el.closest('.solution-card')) return 'solution_picker' 699 if (el.closest('[class*="hero"], [class*="Hero"]')) return 'hero' 700 if (el.closest('[class*="pricing"], #pricing')) return 'pricing' 701 if (el.closest('footer')) return 'footer' 702 return 'inline' 703 } 704})() 705</script>
705 </body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.