1<!DOCTYPE html><html lang="en" class="inter_1d81deff-module__CYM0aG__variable papermono_89c757f2-module__6aS5zq__variable dark" data-banner-state="visible" data-assistant-state="closed" data-page-mode="none" data-current-path="/"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><link rel="preload" href="/mintlify-assets/_next/static/media/83afe278b6a6bb3c.p.3a6ba036.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/mintlify-assets/_next/static/media/PaperMono_Variable.p.aa32f7a0.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/mintlify-assets/_next/static/media/f67ad414ed34149c.p.84166d94.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/light.svg?fit=max&auto=format&n=puuu1wI-BbW3rsp2&q=85&s=e0750375ee2004193a685f9f211963fe"/><link rel="preload" as="image" href="https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/dark.svg?fit=max&auto=format&n=puuu1wI-BbW3rsp2&q=85&s=038b180f26d19ddb4eb40ede0cf84821"/><link rel="stylesheet" href="/mintlify-assets/_next/static/chunks/462bacc63bed9960.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" data-precedence="next"/><link rel="stylesheet" href="/mintlify-assets/_next/static/chunks/35c4b8bcf20cd559.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" data-precedence="next"/><style data-precedence="base-ui:low" data-href="base-ui-disable-scrollbar">.base-ui-disable-scrollbar{scrollbar-width:none}.base-ui-disable-scrollbar::-webkit-scrollbar{display:none}</style><link rel="preload" as="script" fetchPriority="low" href="/mintlify-assets/_next/static/chunks/7d632cf627c34201.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR"/>
1<script src="/mintlify-assets/_next/static/chunks/44795504c795ca32.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/5e020dcccea45cea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/b730549587248be7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/ae30506c64db83e1.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/turbopack-1a021e735a084e1a.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/882c403128dfd005.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/550e3e57c0b4e025.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/35d40e4844fd9a08.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/62a5f408cd23c089.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<title>API Reference Guide - Razorpay</title><meta name="description" content="Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes."/><meta name="application-name" content="Razorpay"/><meta name="generator" content="Mintlify"/><meta name="msapplication-config" content="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/browserconfig.xml"/><meta name="apple-mobile-web-app-title" content="Razorpay"/><meta name="msapplication-TileColor" content="#3395FF"/><link rel="canonical" href="https://razorpay.com/docs/api"/><link rel="alternate" type="application/xml" href="/sitemap.xml"/><link rel="alternate" type="text/markdown" href="/docs/api.md"/><meta property="og:title" content="API Reference Guide - Razorpay"/><meta property="og:description" content="Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes."/><meta property="og:url" content="https://razorpay.com/docs/api"/><meta property="og:site_name" content="Razorpay"/><meta property="og:image" content="https://razorpay-881012b3.mintlify.app/mintlify-assets/_next/image?url=%2F_mintlify%2Fapi%2Fog%3Fdivision%3DDocumentation%26title%3DAPI%2BReference%2BGuide%26description%3DGet%2Bstarted%2Bwith%2BRazorpay%2BAPIs%2Band%2Btest%2Bthem%2Bon%2BPostman.%2BGenerate%2BAPI%2BKeys%2Bin%2BTest%2Band%2BLive%2BModes.%26theme%3Deba4def1c481f3d9eb7e8909&w=1200&q=100"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="API Reference Guide - Razorpay"/><meta name="twitter:description" content="Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes."/><meta name="twitter:image" content="https://razorpay-881012b3.mintlify.app/mintlify-assets/_next/image?url=%2F_mintlify%2Fapi%2Fog%3Fdivision%3DDocumentation%26title%3DAPI%2BReference%2BGuide%26description%3DGet%2Bstarted%2Bwith%2BRazorpay%2BAPIs%2Band%2Btest%2Bthem%2Bon%2BPostman.%2BGenerate%2BAPI%2BKeys%2Bin%2BTest%2Band%2BLive%2BModes.%26theme%3Deba4def1c481f3d9eb7e8909&w=1200&q=100"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/android-chrome-192x192.png" type="image/png" sizes="192x192" media="(prefers-color-scheme: light)"/><link rel="apple-touch-icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/apple-touch-icon.png" type="image/png" sizes="180x180"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/favicon-16x16.png" type="image/png" sizes="16x16" media="(prefers-color-scheme: light)"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/favicon-32x32.png" type="image/png" sizes="32x32" media="(prefers-color-scheme: light)"/><link rel="shortcut icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/favicon.ico" type="image/x-icon" media="(prefers-color-scheme: light)"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/android-chrome-192x192.png" type="image/png" sizes="192x192" media="(prefers-color-scheme: dark)"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/favicon-16x16.png" type="image/png" sizes="16x16" media="(prefers-color-scheme: dark)"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/favicon-32x32.png" type="image/png" sizes="32x32" media="(prefers-color-scheme: dark)"/><link rel="shortcut icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/favicon.ico" type="image/x-icon" media="(prefers-color-scheme: dark)"/><link rel="preload" href="https://d4tuoctqmanu0.cloudfront.net/katex.min.css" as="style"/>
1<script type="text/javascript">!function(){var b=""; 2function a(p){if(p==null)return"/";p=""+p;if(""===p)return"/";return"/"===p.charAt(0)?p:"/"+p} 3function u(p){if(p==null)return p;p=""+p;if(!p||p.charAt(p.length-1)==="/")return p.slice(0,-1);return p} 4function i(p){if(p==null)return p;p=""+p;if(6<=p.length&&p.substring(p.length-6)==="/index")return p.substring(0,p.length-6);if("index"===p)return"";return p} 5var p=(location.pathname||"").split("?")[0].split("#")[0]||""; 6if(b)if(p===b)p="";else if(0===p.indexOf(b+"/"))p=p.substring(b.length); 7p=a(p);p=u(p);p=i(p);p=""===p||"index"===p?"/":a(p); 8document.documentElement.setAttribute("data-current-path",p); 9}();</script>
9<script type="text/javascript">(() => { 10 const isIOS = 11 /iP(hone|ad|od)/.test(navigator.userAgent) || 12 (/Macintosh/.test(navigator.userAgent) && navigator.maxTouchPoints > 1); 13 if (!isIOS) return; 14 const apply = () => { 15 for (const meta of document.querySelectorAll('meta[name="viewport"]')) { 16 const content = meta.getAttribute('content') || ''; 17 if (!content.includes('maximum-scale')) { 18 meta.setAttribute('content', content + ', maximum-scale=1'); 19 } 20 } 21 }; 22 apply(); 23 new MutationObserver(apply).observe(document.head, { 24 childList: true, 25 subtree: true, 26 attributes: true, 27 attributeFilter: ['content'], 28 }); 29})();</script>
29<script type="text/javascript">!function(){ 30function read(){try{ 31var e=performance.getEntriesByType?performance.getEntriesByType("navigation"):[]; 32var st=(e[0]&&e[0].serverTiming)||[]; 33var g={}; 34for(var i=0;i<st.length;i++){var n=st[i].name,d=st[i].description;if(!d)continue;try{d=decodeURIComponent(d)}catch(x){} 35if(n==="country")g.country=d;else if(n==="region")g.region=d;else if(n==="continent")g.continent=d;} 36var w=window;w.mintlify=w.mintlify||{};w.mintlify.geo=g; 37}catch(x){}} 38read();document.addEventListener("DOMContentLoaded",read); 39}();</script>
39<script type="text/javascript">!function(){try{ 40var w=window;w.mintlify=w.mintlify||{}; 41var q=w.mintlify.__apiPlaygroundInputsQueue; 42if(!Array.isArray(q)){q=[];w.mintlify.__apiPlaygroundInputsQueue=q;} 43w.mintlify.api=w.mintlify.api||{}; 44w.mintlify.api.playground=w.mintlify.api.playground||{}; 45if(typeof w.mintlify.api.playground.setServerVariables!=="function"){ 46w.mintlify.api.playground.setServerVariables=function(v){q.push({type:"set",variables:v});}; 47} 48if(typeof w.mintlify.api.playground.clearServerVariables!=="function"){ 49w.mintlify.api.playground.clearServerVariables=function(){q.push({type:"clear"});}; 50} 51}catch(e){}}();</script>
51<script type="text/javascript">(function(a,b){try{let c=document.getElementById("banner")?.innerText;if(c){for(let d=0;d<localStorage.length;d++){let e=localStorage.key(d);if(e?.endsWith(a)&&localStorage.getItem(e)===c)return void document.documentElement.setAttribute(b,"hidden")}document.documentElement.setAttribute(b,"visible");return}for(let c=0;c<localStorage.length;c++){let d=localStorage.key(c);if(d?.endsWith(a)&&localStorage.getItem(d))return void document.documentElement.setAttribute(b,"hidden")}document.documentElement.setAttribute(b,"visible")}catch(a){document.documentElement.setAttribute(b,"hidden")}})( 52 "bannerDismissed", 53 "data-banner-state", 54)</script>
54<script src="/mintlify-assets/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" noModule=""></script>
54</head><body class="antialiased"><div hidden=""><!--$--><!--/$--></div>
54<script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","isDarkMode","system",null,["dark","light","true","false","system"],{"true":"dark","false":"light","dark":"dark","light":"light"},true,false)</script>
54<script>(function(){try{var f=null;var v=f||localStorage.getItem("isDarkMode");if(v==='true')v='dark';else if(v==='false')v='light';if(v!=='light'&&v!=='dark'&&v!=='system')v="system";document.documentElement.setAttribute("data-theme-preference",v)}catch(e){}})();</script>
54<blockquote class="sr-only" data-agent-docs-index="true" aria-hidden="true"><h2>Documentation Index</h2><p>Fetch the complete documentation index at:<!-- --> <a href="/llms.txt" tabindex="-1">/llms.txt</a></p><p>Use this file to discover all available pages before exploring further.</p></blockquote><style>:root{--banner-height:0px!important}</style>
54<script id="_mintlify-banner-script">(function i(a,b,c,d,e){try{let f,g,h=[];try{h=window.location.pathname.split("/").filter(a=>""!==a&&"global"!==a).slice(0,2)}catch{h=[]}let i=h.find(a=>c.includes(a)),j=[];for(let c of(i?j.push(i):j.push(b),j.push("global"),j)){if(!c)continue;let b=a[c];if(b?.content){f=b.content,g=c;break}}if(!f)return void document.documentElement.setAttribute(d,"hidden");let k=!0,l=0;for(;l<localStorage.length;){let a=localStorage.key(l);if(l++,!a?.endsWith(e))continue;let b=localStorage.getItem(a);if(b&&b===f){k=!1;break}g&&(a.startsWith(`lang:${g}_`)||!a.startsWith("lang:"))&&(localStorage.removeItem(a),l--)}document.documentElement.setAttribute(d,k?"visible":"hidden")}catch(a){console.error(a),document.documentElement.setAttribute(d,"hidden")}})( 55 {}, 56 "en", 57 [], 58 "data-banner-state", 59 "bannerDismissed", 60)</script>
60<style>:root { 61 --primary: 51 149 255; 62 --primary-light: 102 178 255; 63 --primary-dark: 11 98 196; 64 --tooltip-foreground: 255 255 255; 65 --background-light: 255 255 255; 66 --background-dark: 11 12 16; 67 --gray-50: 244 247 250; 68 --gray-100: 239 242 245; 69 --gray-200: 224 227 230; 70 --gray-300: 207 210 213; 71 --gray-400: 160 163 166; 72 --gray-500: 113 116 119; 73 --gray-600: 81 84 87; 74 --gray-700: 64 67 70; 75 --gray-800: 38 41 45; 76 --gray-900: 24 27 30; 77 --gray-950: 11 14 17; 78 }</style>
78<script type="text/javascript"> 79 (function() { 80 function loadKatex() { 81 const link = document.querySelector('link[href="https://d4tuoctqmanu0.cloudfront.net/katex.min.css"]'); 82 if (link) link.rel = 'stylesheet'; 83 } 84 if (document.readyState === 'loading') { 85 document.addEventListener('DOMContentLoaded', loadKatex); 86 } else { 87 loadKatex(); 88 } 89 })(); 90 </script>
90<div class="relative antialiased text-gray-500 dark:text-gray-400">
90<script id="_mintlify-navbar-transition-script">(function(a){let b,c=(b="navbar-transition","maple"===a&&(b+="-maple"),b);function d(){let a=!1;a=window.scrollY>50;let b=document.getElementById(c);b&&b.hasAttribute("data-is-opaque")&&b.setAttribute("data-is-opaque",`${!!a}`)}let e=function(){let a=document.createElement("style"),b=`#${c}`;return a.appendChild(document.createTextNode(`${b},${b} *,${b} *::before,${b} *::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`)),document.head.appendChild(a),function(){window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(a)},1)}}();function f(){window.removeEventListener("scroll",d),document.removeEventListener("DOMContentLoaded",d),d(),e()}window.addEventListener("scroll",d,{passive:!0}),document.addEventListener("DOMContentLoaded",d),("requestAnimationFrame"in globalThis?requestAnimationFrame:setTimeout)(d),"complete"===document.readyState?f():window.addEventListener("load",f,{once:!0})})("mint")</script>
90<script id="_mintlify-scroll-margin-script">(function () { 91 var measure = function(){let a=document.querySelectorAll("[id='navbar'], [data-top-chrome]"),b=0;a.forEach(a=>{let c=a.getBoundingClientRect();c.height>0&&(b=Math.max(b,c.bottom))});let c=0,d=document.getElementById("content-container");if(d){let{overflowY:a}=getComputedStyle(d);("auto"===a||"scroll"===a)&&(c=Math.max(0,d.getBoundingClientRect().top))}let e=`${Math.round(Math.max(0,b-c))+40}px`,f=document.documentElement.style;f.getPropertyValue("--scroll-mt")!==e&&f.setProperty("--scroll-mt",e)}; 92 (function(a){let b=[],c=0,d="undefined"==typeof ResizeObserver?null:new ResizeObserver(f);function e(){let c=Array.from(document.querySelectorAll("[id='navbar'], [data-top-chrome]"));(c.length!==b.length||c.some((a,c)=>a!==b[c]))&&d&&(d.disconnect(),c.forEach(a=>d.observe(a))),b=c,a()}function f(){c||(c=requestAnimationFrame(()=>{c=0,e()}))}let g="[id='navbar'], [data-top-chrome]";function h(a){let b=a.target;if(b instanceof Element&&b.closest(g))return!0;for(let b of a.addedNodes)if(b instanceof Element&&(b.matches(g)||b.querySelector(g)))return!0;for(let b of a.removedNodes)if(b instanceof Element&&(b.matches(g)||b.querySelector(g)))return!0;return!1}new MutationObserver(a=>{a.some(h)&&f()}).observe(document.documentElement,{childList:!0,subtree:!0}),window.addEventListener("resize",f),"loading"===document.readyState&&document.addEventListener("DOMContentLoaded",e),e()})(measure); 93 (function(a){let b=window.location.hash.slice(1);if(!b)return;function c(){return"smooth"===getComputedStyle(document.documentElement).scrollBehavior}function d(c){let d=document.getElementById(b);return!!d&&(a(),d.scrollIntoView(c?{behavior:c}:void 0),!0)}if("complete"===document.readyState)return void d();let e=new MutationObserver(()=>{!c()&&d("instant")&&f()});function f(){e.disconnect(),window.removeEventListener("load",g)}function g(){let a=c();f(),a&&requestAnimationFrame(()=>{d(),function(){let a=["wheel","touchstart","keydown","pointerdown"],c=0,e=window.scrollY,f=setInterval(()=>{c+=1;let a=document.getElementById(b);if(!a||c>=6)return g();let f=Math.abs(window.scrollY-e)>1;if(e=window.scrollY,f)return;let h=parseFloat(getComputedStyle(a).scrollMarginTop)||0;Math.abs(a.getBoundingClientRect().top-h)>4&&d()},350);function g(){clearInterval(f),a.forEach(a=>window.removeEventListener(a,g))}a.forEach(a=>window.addEventListener(a,g,{passive:!0}))}()})}window.addEventListener("load",g),e.observe(document.documentElement,{childList:!0,subtree:!0}),!c()&&d("instant")&&f()})(measure); 94})();</script>
94<a href="#content-area" class="sr-only focus:not-sr-only focus:fixed focus:top-2 focus:left-2 focus:z-50 focus:p-2 focus:text-sm focus:bg-background-light dark:focus:bg-background-dark focus:rounded-md focus:outline-primary dark:focus:outline-primary-light">Skip to main content</a>
94<script>(function e(a,b,c,d,e){try{let f=window.matchMedia("(max-width: 1024px)").matches;if(e){document.documentElement.style.setProperty(c,"0px"),document.documentElement.setAttribute("data-assistant-state","closed");return}if(f||!d){document.documentElement.style.setProperty(c,"0px"),document.documentElement.setAttribute("data-assistant-state","closed"),d||localStorage.setItem(a,"false");return}let g=localStorage.getItem(a);if(null===g){document.documentElement.style.setProperty(c,"0px"),document.documentElement.setAttribute("data-assistant-state","closed");return}let h=JSON.parse(g),i=localStorage.getItem(b),j=null!==i?JSON.parse(i):368;document.documentElement.style.setProperty(c,h?j+"px":"0px"),document.documentElement.setAttribute("data-assistant-state",h?"open":"closed")}catch(a){document.documentElement.style.setProperty(c,"0px"),document.documentElement.setAttribute("data-assistant-state","closed")}})( 95 "chat-assistant-sheet-open", 96 "chat-assistant-sheet-width", 97 "--assistant-sheet-width", 98 true, 99 false 100 )</script>
100<div class="max-lg:contents lg:flex lg:w-full" data-docs-theme="mint" data-assistant-layout="legacy"><div class="max-lg:contents lg:flex-1 lg:min-w-0 lg:overflow-x-clip"><header id="navbar" class="z-30 fixed lg:sticky top-0 w-full peer is-not-custom peer is-not-center peer is-not-wide peer is-not-frame"><div id="navbar-transition" class="absolute w-full h-full flex-none transition-colors duration-500 border-b border-gray-500/5 dark:border-gray-300/[0.06] bg-background-light dark:bg-background-dark" data-is-opaque="false"></div><div class="max-w-8xl mx-auto relative"><div><div class="relative"><div class="flex items-center lg:px-12 h-16 min-w-0 mx-4 lg:mx-0"><div class="h-full relative flex-1 flex items-center gap-x-4 min-w-0 border-b border-gray-500/5 dark:border-gray-300/[0.06]"><div class="flex-1 flex items-center gap-x-4"><a class="select-none" style="-webkit-touch-callout:none" href="https://razorpay.com/docs/"><span class="sr-only">Razorpay<!-- --> home page</span><img class="nav-logo w-auto h-7 relative object-contain shrink-0 block dark:hidden" src="https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/light.svg?fit=max&auto=format&n=puuu1wI-BbW3rsp2&q=85&s=e0750375ee2004193a685f9f211963fe" alt="light logo"/><img class="nav-logo w-auto h-7 relative object-contain shrink-0 hidden dark:block" src="https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/dark.svg?fit=max&auto=format&n=puuu1wI-BbW3rsp2&q=85&s=038b180f26d19ddb4eb40ede0cf84821" alt="dark logo"/></a><div class="hidden lg:flex items-center gap-x-2"><button type="button" tabindex="0" aria-haspopup="menu" aria-expanded="false" id="base-ui-_R_3b2lpbsnlhjiuqsnpfiutb_" data-component-part="version-select-trigger" class="group disabled:pointer-events-none [&>span]:line-clamp-1 overflow-hidden group focus-visible:outline-2 focus-visible:-outline-offset-2 group-hover:text-gray-950/70 dark:group-hover:text-white/70 py-1.5 px-2.5 rounded-xl hover:bg-gray-600/5! dark:hover:bg-gray-200/5! aria-[expanded=true]:bg-gray-600/5 dark:aria-[expanded=true]:bg-gray-200/5 text-sm font-medium text-gray-900 h-8 focus-visible:outline-primary dark:focus-visible:outline-primary-light dark:text-gray-300 group/trigger flex items-center gap-2 whitespace-nowrap"><span class="truncate max-w-[12.5rem]">India</span><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 rotate-90 group-aria-[expanded=true]/trigger:rotate-[270deg] ml-auto"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div><div class="relative hidden lg:flex items-center flex-1 z-20 gap-2.5"><button type="button" class="group/search flex pointer-events-auto rounded-xl w-full items-center text-sm leading-6 h-9 pl-3.5 pr-3 text-gray-500 dark:text-white/50 bg-background-light dark:bg-background-dark dark:brightness-[1.1] dark:ring-1 dark:hover:brightness-[1.25] ring-1 ring-gray-400/30 hover:ring-gray-600/30 dark:ring-gray-600/30 dark:hover:ring-gray-500/30 justify-between truncate gap-2" id="search-bar-entry" aria-label="Open search"><div class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-4 min-w-4 flex-none text-gray-700 group-hover/search:text-gray-800 dark:text-gray-400 dark:group-hover/search:text-gray-200"><path d="M15.25 15.25L11.285 11.285" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M7.75 12.75C10.5114 12.75 12.75 10.5114 12.75 7.75C12.75 4.98858 10.5114 2.75 7.75 2.75C4.98858 2.75 2.75 4.98858 2.75 7.75C2.75 10.5114 4.98858 12.75 7.75 12.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><div class="truncate min-w-0">Search...</div></div><span class="flex-none text-xs font-semibold">â<!-- -->K</span></button><button type="button" class="group/ai flex-none hidden lg:flex items-center justify-center gap-1.5 pl-3 pr-3.5 h-9 rounded-xl bg-background-light dark:bg-background-dark dark:brightness-[1.1] dark:ring-1 dark:hover:brightness-[1.25] ring-1 ring-gray-400/30 hover:ring-gray-600/30 dark:ring-gray-600/30 dark:hover:ring-gray-500/30" id="assistant-entry" aria-label="Toggle assistant panel"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-4 shrink-0 text-gray-700 group-hover/ai:text-gray-800 dark:text-gray-400 dark:group-hover/ai:text-gray-200"><path d="M5.65799 2.99L4.39499 2.569L3.97399 1.306C3.83699 0.898 3.16199 0.898 3.02499 1.306L2.60399 2.569L1.34099 2.99C1.13699 3.058 0.998993 3.249 0.998993 3.464C0.998993 3.679 1.13699 3.87 1.34099 3.938L2.60399 4.359L3.02499 5.622C3.09299 5.826 3.28499 5.964 3.49999 5.964C3.71499 5.964 3.90599 5.826 3.97499 5.622L4.39599 4.359L5.65899 3.938C5.86299 3.87 6.00099 3.679 6.00099 3.464C6.00099 3.249 5.86199 3.058 5.65799 2.99Z" fill="currentColor" stroke="none"></path><path d="M9.5 2.75L11.412 7.587L16.25 9.5L11.412 11.413L9.5 16.25L7.587 11.413L2.75 9.5L7.587 7.587L9.5 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><span class="text-sm text-gray-500 dark:text-white/50 whitespace-nowrap">Ask Assistant</span><span class="flex-none text-xs font-semibold">â<!-- -->I</span></button></div><div class="flex-1 relative hidden lg:flex items-center ml-auto justify-end space-x-4"><nav aria-label="Main" class="text-sm"><ul class="flex space-x-6 items-center"><li class="navbar-link"><a href="https://razorpay.com/support/" class="flex items-center gap-1.5 whitespace-nowrap font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" target="_blank" rel="noopener noreferrer"><span class="min-w-0 truncate">Support</span></a></li><li class="navbar-link"><a href="https://razorpay.com/blog/" class="flex items-center gap-1.5 whitespace-nowrap font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" target="_blank" rel="noopener noreferrer"><span class="min-w-0 truncate">Blog</span></a></li><li class="block lg:hidden"><a class="flex items-center gap-1.5 whitespace-nowrap font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" href="https://dashboard.razorpay.com/"><span class="min-w-0 truncate">Dashboard</span></a></li><li class="whitespace-nowrap hidden lg:flex" id="topbar-cta-button"><a target="_blank" rel="noopener noreferrer" class="group pl-3 pr-2 py-2 relative inline-flex items-center text-sm font-medium" href="https://dashboard.razorpay.com/"><span class="absolute inset-0 bg-primary-dark rounded-xl group-hover:opacity-[0.9]"></span><div class="z-10 gap-1 flex items-center"><span class="text-white">Dashboard</span><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-3 shrink-0 text-white/90"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></a></li></ul></nav><div class="flex items-center"><button type="button" tabindex="0" aria-haspopup="menu" aria-expanded="false" id="theme-preference-menu-trigger" aria-label="Change theme preference" data-component-name="theme-preference-menu" data-component-part="theme-preference-menu-trigger" data-testid="theme-preference-menu-trigger" class="group disabled:pointer-events-none rounded-lg overflow-hidden gap-1 text-sm text-gray-950/50 dark:text-white/50 group-hover:text-gray-950/70 dark:group-hover:text-white/70 theme-preference-menu-trigger group p-2 flex items-center justify-center"><span data-theme-preference-icon="system"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="size-4 text-gray-500 dark:text-gray-400 group-hover:text-gray-700 dark:group-hover:text-gray-200"><path d="M4.5 15.5L9 14.5L13.5 15.5" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9 11.75V14.5" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M14.25 2.75H3.75C2.64543 2.75 1.75 3.64543 1.75 4.75V9.75C1.75 10.8546 2.64543 11.75 3.75 11.75H14.25C15.3546 11.75 16.25 10.8546 16.25 9.75V4.75C16.25 3.64543 15.3546 2.75 14.25 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></span><span data-theme-preference-icon="light"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="size-4 text-gray-500 dark:text-gray-400 group-hover:text-gray-700 dark:group-hover:text-gray-200"><path d="M9 1.25V2.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M14.48 3.52002L13.773 4.22702" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M16.75 9H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path>
100<path d="M14.48 14.4799L13.773 13.7729" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9 16.75V15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M3.52 14.4799L4.227 13.7729" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M1.25 9H2.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M3.52 3.52002L4.227 4.22702" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9 13.25C11.3472 13.25 13.25 11.3472 13.25 9C13.25 6.65279 11.3472 4.75 9 4.75C6.65279 4.75 4.75 6.65279 4.75 9C4.75 11.3472 6.65279 13.25 9 13.25Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></span><span data-theme-preference-icon="dark"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="size-4 text-gray-500 dark:text-gray-400 group-hover:text-gray-700 dark:group-hover:text-gray-200"><path d="M13 11.75C9.548 11.75 6.75 8.95201 6.75 5.50001C6.75 4.14801 7.183 2.90101 7.912 1.87801C4.548 2.50601 2 5.45301 2 9.00001C2 13.004 5.246 16.25 9.25 16.25C12.622 16.25 15.448 13.944 16.259 10.826C15.309 11.409 14.196 11.75 13 11.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></span></button></div></div><div class="flex lg:hidden items-center gap-3"><button type="button" class="text-gray-500 w-8 h-8 flex items-center justify-center hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-300" id="search-bar-entry-mobile" aria-label="Open search"><span class="sr-only">Search...</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-gray-500 dark:bg-gray-400 hover:bg-gray-600 dark:hover:bg-gray-300" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/magnifying-glass.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/magnifying-glass.svg");mask-repeat:no-repeat;mask-position:center"></svg></button><button id="assistant-entry-mobile" aria-label="Toggle assistant panel"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-4.5 text-gray-500 dark:text-gray-400 hover:text-gray-600 dark:hover:text-gray-300"><path d="M5.65799 2.99L4.39499 2.569L3.97399 1.306C3.83699 0.898 3.16199 0.898 3.02499 1.306L2.60399 2.569L1.34099 2.99C1.13699 3.058 0.998993 3.249 0.998993 3.464C0.998993 3.679 1.13699 3.87 1.34099 3.938L2.60399 4.359L3.02499 5.622C3.09299 5.826 3.28499 5.964 3.49999 5.964C3.71499 5.964 3.90599 5.826 3.97499 5.622L4.39599 4.359L5.65899 3.938C5.86299 3.87 6.00099 3.679 6.00099 3.464C6.00099 3.249 5.86199 3.058 5.65799 2.99Z" fill="currentColor" stroke="none"></path><path d="M9.5 2.75L11.412 7.587L16.25 9.5L11.412 11.413L9.5 16.25L7.587 11.413L2.75 9.5L7.587 7.587L9.5 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button><button type="button" aria-label="More actions" class="h-7 w-5 flex items-center justify-center relative after:content-[''] after:absolute after:-inset-y-2 after:-left-1 after:-right-4"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! size-4 shrink-0 bg-gray-500 dark:bg-gray-400 hover:bg-gray-600 dark:hover:bg-gray-300" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/ellipsis-vertical.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/ellipsis-vertical.svg");mask-repeat:no-repeat;mask-position:center"></svg></button></div></div></div><button type="button" class="flex items-center h-14 py-4 px-5 lg:hidden focu
100s:outline-0 w-full text-left"><div class="text-gray-500 hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-300"><span class="sr-only">Navigation</span><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4 shrink-0"><path d="M2.25 9H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.25 3.75H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.25 14.25H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="ml-4 flex text-sm leading-6 whitespace-nowrap min-w-0 space-x-3 overflow-hidden"><div class="flex items-center space-x-3 shrink-0"><span>Introduction</span><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-3 text-gray-400 shrink-0"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="font-semibold text-gray-900 truncate dark:text-gray-200 min-w-0 flex-1">API Reference Guide</div></div></button></div><div class="hidden lg:flex px-12 h-12"><div class="nav-tabs h-full flex text-sm gap-x-6"><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/home"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/house.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/house.svg");mask-repeat:no-repeat;mask-position:center"></svg>Home<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/payments"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/credit-card.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/credit-card.svg");mask-repeat:no-repeat;mask-position:center"></svg>Payments<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/engage"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/bullhorn.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/bullhorn.svg");mask-repeat:no-repeat;mask-position:center"></svg>Engage<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/pos"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cash-register.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cash-register.svg");mask-repeat:no-repeat;mask-position:center"></svg>POS<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/x"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/building-columns.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/building-columns.svg");mask-repeat:no-repeat;mask-position:center"></svg>Banking Plus<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/payroll"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/money-check-dollar.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/money-check-dollar.svg");mask-repeat:no-repeat;mask-position:center"></svg>Payroll<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/partners"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/handshake.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/handshake.svg");mask-repeat:no-repeat;mask-position:center"></svg>Partners<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium hover:text-gray-800 dark:hover:text-gray-300 text-gray-800 dark:text-gray-200 [text-shadow:-0.2px_0_0_currentColor,0.2px_0_0_currentColor]" data-active="true" aria-current="location" href="/docs/api"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/code.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/code.svg");mask-repeat:no-repeat;mask-position:center"></svg>API Reference<div class="absolute bottom-0 h-[1.5px] w-full left-0 bg-primary dark:bg-primary-light"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/developer-tools"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/screwdriver-wrench.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/screwdriver-wrench.svg");mask-repeat:no-repeat;mask-position:center"></svg>Developer Tools<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a></div></div><style>:root{--topbar-tabs-height:3rem}</style></div></div></header>
100<div class="scroll-mt-(--scroll-mt) peer-[.is-custom]:max-w-none peer-[.is-center]:max-w-3xl peer-[.is-not-custom]:peer-[.is-not-center]:max-w-8xl peer-[.is-not-custom]:px-4 peer-[.is-not-custom]:mx-auto peer-[.is-not-custom]:lg:px-8 peer-[.is-wide]:lg:*:last:max-w-216 peer-[.is-not-custom]:peer-[.is-not-center]:lg:flex peer-[.is-custom]:[&>:first-child]:hidden! peer-[.is-custom]:[&>:first-child]:sm:hidden! peer-[.is-custom]:[&>:first-child]:md:hidden! peer-[.is-custom]:[&>:first-child]:lg:hidden! peer-[.is-custom]:[&>:first-child]:xl:hidden! peer-[.is-center]:[&>:first-child]:hidden! peer-[.is-center]:[&>:first-child]:sm:hidden! peer-[.is-center]:[&>:first-child]:md:hidden! peer-[.is-center]:[&>:first-child]:lg:hidden! peer-[.is-center]:[&>:first-child]:xl:hidden!"><nav aria-label="Pages" class="z-20 hidden lg:block sticky self-start shrink-0 w-[18rem] top-[calc(var(--mintlify-slot-header-height,calc(4rem+var(--topbar-tabs-height,0rem)))+var(--banner-height,0px))] h-[calc(100dvh-var(--mintlify-slot-header-height,calc(4rem+var(--topbar-tabs-height,0rem)))-var(--banner-height,0px))]" id="sidebar"><div role="presentation" style="position:relative;--scroll-area-corner-height:0px;--scroll-area-corner-width:0px" data-component-part="scroll-area" id="sidebar-content" class="min-w-0 absolute! inset-0 z-10"><div role="presentation" data-id="base-ui-_R_2tbsnlhjiuqsnpfiutb_-viewport" tabindex="-1" class="size-full rounded-[inherit] [--scroll-area-fade-size:32px] pr-8 pb-10 base-ui-disable-scrollbar" style="overflow:scroll" data-component-part="scroll-area-viewport"><div role="presentation" style="min-width:fit-content" data-component-part="scroll-area-content" class="min-w-0! w-full"><div class="relative lg:text-sm lg:leading-6"><div class="sticky top-0 h-8 pointer-events-none z-10 bg-linear-to-b from-background-light dark:from-background-dark"></div><div id="navigation-items"><ul class="sidebar-group space-y-px"><li data-title="Introduction" data-group-tag="" data-active="true" data-active-nav-item="true" id="/docs/api" class="space-y-px"><button class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 break-words hyphens-auto rounded-xl w-full outline-offset-[-1px] bg-primary/10 text-primary [text-shadow:-0.2px_0_0_currentColor,0.2px_0_0_currentColor] dark:text-primary-light dark:bg-primary-light/10" style="padding-left:1rem" aria-expanded="true" aria-controls="_R_hdratbsnlhjiuqsnpfiutb_"><div class=""><span>Introduction</span></div><div class="h-[1lh] flex items-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform group-hover:text-gray-600 dark:group-hover:text-gray-400 shrink-0 w-2 h-[1lh] -mr-0.5 text-primary dark:text-primary-light duration-75 rotate-90"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></button><ul id="_R_hdratbsnlhjiuqsnpfiutb_" class="space-y-px"><li id="/docs/api/changelog" class="relative scroll-m-4 first:scroll-m-20" data-title="API Changelog"><a class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1.75rem" href="/docs/api/changelog"><div class="flex-1 flex min-w-0 items-start gap-x-2.5"><div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5 [word-break:break-word]"><span class="min-w-0 max-w-full break-words hyphens-auto">API Changelog</span></div></div></a></li><li id="/docs/api/understand" class="relative scroll-m-4 first:scroll-m-20" data-title="Understand Razorpay APIs"><a class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1.75rem" href="/docs/api/understand"><div class="flex-1 flex min-w-0 items-start gap-x-2.5"><div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5 [word-break:break-word]"><span class="min-w-0 max-w-full break-words hyphens-auto">Understand Razorpay APIs</span></div></div></a></li><li id="/docs/api/authentication" class="relative scroll-m-4 first:scroll-m
100-20" data-title="Authentication"><a class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 break-words hyphens-auto rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1.75rem" href="/docs/api/authentication"><div class="flex-1 flex min-w-0 items-start gap-x-2.5"><div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5 [word-break:break-word]"><span class="min-w-0 max-w-full break-words hyphens-auto">Authentication</span></div></div></a></li><li id="/docs/api/sandbox-setup" class="relative scroll-m-4 first:scroll-m-20" data-title="Sandbox Setup"><a class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1.75rem" href="/docs/api/sandbox-setup"><div class="flex-1 flex min-w-0 items-start gap-x-2.5"><div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5 [word-break:break-word]"><span class="min-w-0 max-w-full break-words hyphens-auto">Sandbox Setup</span></div></div></a></li><li id="/docs/api/install-cli" class="relative scroll-m-4 first:scroll-m-20" data-title="Install CLI"><a class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1.75rem" href="/docs/api/install-cli"><div class="flex-1 flex min-w-0 items-start gap-x-2.5"><div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5 [word-break:break-word]"><span class="min-w-0 max-w-full break-words hyphens-auto">Install CLI</span></div></div></a></li><li id="/docs/api/best-practices" class="relative scroll-m-4 first:scroll-m-20" data-title="Best Practices"><a class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1.75rem" href="/docs/api/best-practices"><div class="flex-1 flex min-w-0 items-start gap-x-2.5"><div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5 [word-break:break-word]"><span class="min-w-0 max-w-full break-words hyphens-auto">Best Practices</span></div></div></a></li><li id="/docs/api/glossary" class="relative scroll-m-4 first:scroll-m-20" data-title="Glossary"><a class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 break-words hyphens-auto rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1.75rem" href="/docs/api/glossary"><div class="flex-1 flex min-w-0 items-start gap-x-2.5"><div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5 [word-break:break-word]"><span class="min-w-0 max-w-full break-words hyphens-auto">Glossary</span></div></div></a></li></ul></li></ul><ul class="sidebar-group mt-6 lg:mt-8 space-y-px"><li data-title="Payments" data-group-tag="" id="/docs/api/payments" class="space-y-px"><button class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 break-words hyphens-auto rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" data-nav-href="/docs/api/payments" aria-expanded="false"><div class=""><span>Payments</span></div><div class="h-[1lh] flex items-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 w-2 h-[1lh] -mr-0.5"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></button></li></ul><ul class="sidebar-group mt-6 lg:mt-8 space-y-px"><li data-title="Bills" data-group-tag="" id="/docs/api/bills" class="space-y-px"><button class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 break-words hyphens-auto rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" data-nav-href="/docs/api/bills" aria-expanded="false"><div class=""><span>Bills</span></div><div class="h-[1lh] flex items-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 w-2 h-[1lh] -mr-0.5"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></button></li></ul><ul class="sidebar-group mt-6 lg:mt-8 space-y-px"><li data-title="Partners" data-group-tag="" id="/docs/api/partners" class="space-y-px"><button class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 break-words hyphens-auto rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" data-nav-href="/docs/api/partners" aria-expanded="false"><div class=""><span>Partners</span></div><div class="h-[1lh] flex items-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 w-2 h-[1lh] -mr-0.5"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></button></li></ul><ul class="sidebar-group mt-6 lg:mt-8 space-y-px"><li data-title="Payout APIs" data-group-tag="" id="/docs/api/x" class="space-y-px"><button class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" data-nav-href="/docs/api/x" aria-expanded="false"><div class=""><span>Payout APIs</span></div><div class="h-[1lh] flex items-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 w-2 h-[1lh] -mr-0.5"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></button></li></ul><ul class="sidebar-group mt-6 lg:mt-8 space-y-px"><li data-title="Recurring Payments API" data-group-tag="" id="/docs/api/payments/recurring-payments" class="space-y-px"><button class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" data-nav-href="/docs/api/payments/recurring-payments" aria-expanded="false"><div class=""><span>Recurring Payments API</span></div><div class="h-[1lh] flex items-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 w-2 h-[1lh] -mr-0.5"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></button></li></ul><ul class="sidebar-group mt-6 lg:mt-8 space-y-px"><li data-title="Recurring Payments API - Custom Integration" data-group-tag="" id="/docs/api/payments/recurring-payments/custom" class="space-y-px"><button class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" data-nav-href="/docs/api/payments/recurring-payments/custom" aria-expanded="false"><div class=""><span>Recurring Payments API - Custom Integration</span></div><div class="h-[1lh] flex items-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 w-2 h-[1lh] -mr-0.5"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></button></li></ul>
100<script>(function () { 101 try { 102 if (window.__mintlifyInitialSidebarScrollDone) return; 103 window.__mintlifyInitialSidebarScrollDone = true; 104 105 var path = (window.location.pathname || '/').split('#')[0].split('?')[0]; 106 if (path.endsWith('/index')) path = path.slice(0, -6); 107 else if (path === 'index') path = ''; 108 109 var candidates = []; 110 if (path) candidates.push(path); 111 if (path.startsWith('/')) candidates.push(path.slice(1)); 112 else candidates.push('/' + path); 113 114 var item = null; 115 for (var i = 0; i < candidates.length && !item; i++) { 116 var matches = document.querySelectorAll('[id="' + candidates[i].replace(/"/g, '\\"') + '"]'); 117 for (var j = 0; j < matches.length; j++) { 118 if (matches[j].closest('#sidebar, #sidebar-content')) { 119 item = matches[j]; 120 break; 121 } 122 } 123 } 124 if (!item) return; 125 126 var parent = item.closest('[data-component-part="scroll-area-viewport"]'); 127 if (!parent) { 128 parent = item.parentElement; 129 while (parent) { 130 var style = getComputedStyle(parent); 131 if (style.overflowY === 'auto' || style.overflowY === 'scroll') break; 132 parent = parent.parentElement; 133 } 134 } 135 if (!parent) return; 136 137 var parentRect = parent.getBoundingClientRect(); 138 var itemRect = item.getBoundingClientRect(); 139 if (itemRect.top >= parentRect.top && itemRect.bottom <= parentRect.bottom) return; 140 141 var itemTopRelative = itemRect.top - parentRect.top + parent.scrollTop; 142 parent.scrollTop = itemTopRelative - parentRect.height / 2 + itemRect.height / 2; 143 } catch (e) {} 144})();</script>
144</div></div></div></div></div></nav><main id="content-container" class="lg:flex-1 lg:min-w-0">
144<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://razorpay.com/#organization","name":"Razorpay","url":"https://razorpay.com","logo":{"@type":"ImageObject","url":"https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/light.svg?fit=max&auto=format&n=puuu1wI-BbW3rsp2&q=85&s=e0750375ee2004193a685f9f211963fe"}},{"@type":"WebSite","@id":"https://razorpay.com#website","name":"Razorpay","url":"https://razorpay.com","publisher":{"@id":"https://razorpay.com/#organization"}},{"@type":"WebPage","@id":"https://razorpay.com/docs/api#webpage","url":"https://razorpay.com/docs/api","name":"API Reference Guide","description":"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.","dateModified":"2026-08-31T07:20:59.252Z","isPartOf":{"@id":"https://razorpay.com#website"},"breadcrumb":{"@id":"https://razorpay.com/docs/api#breadcrumb"}},{"@type":"BreadcrumbList","@id":"https://razorpay.com/docs/api#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Razorpay","item":"https://razorpay.com"},{"@type":"ListItem","position":2,"name":"API Reference Guide","item":"https://razorpay.com/docs/api"}]},{"@type":["Article","TechArticle"],"@id":"https://razorpay.com/docs/api#article","headline":"API Reference Guide","name":"API Reference Guide","description":"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.","url":"https://razorpay.com/docs/api","mainEntityOfPage":{"@id":"https://razorpay.com/docs/api#webpage"},"dateModified":"2026-08-31T07:20:59.252Z","publisher":{"@id":"https://razorpay.com/#organization"},"isPartOf":{"@id":"https://razorpay.com#website"}}]}</script>
144<script>document.documentElement.setAttribute('data-page-mode', "none");</script>
144<span class="fixed inset-0 bg-background-light dark:bg-background-dark -z-10 pointer-events-none" id="background-color"></span><style data-custom-css-index="0" data-custom-css-path="style.css">/* Sidebar: gap between top-level groups. 145 146 Mintlify puts `mt-6 lg:mt-8` on each top-level group, so the collapsed group 147 headers sit 24px apart on mobile and 32px apart from 1024px up. With 30-plus 148 groups in Payments that is a lot of dead space. Change the one value below to 149 retune it; 1rem reads as grouped without the rows running together, 0.75rem 150 is about as tight as it goes before the section boundaries stop being legible. 151 152 Only elements that already carry the group margin are matched, so bare 153 top-level pages (which have no margin) are left alone. */ 154#navbar ul.sidebar-group.mt-6, 155ul.sidebar-group.mt-6 { 156 margin-top: 1rem; 157} 158 159[data-component-part="callout-content"] > [data-as="p"]:first-child > strong, 160[data-component-part="callout-content"] > [data-as="p"]:first-child strong, 161[data-component-part="callout-content"] > strong:first-child { 162 font-size: 1.125rem !important; /* ~18px, well above the 14px body */ 163 font-weight: 700 !important; 164 line-height: 1.4 !important; 165} 166 167/* Error-code card titles (Errors section): monospace pill/badge */ 168.error-code-cards [data-component-part="card-title"] { 169 display: inline-block !important; 170 font-family: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, 171 "Liberation Mono", monospace !important; 172 font-size: 0.875rem !important; 173 font-weight: 600 !important; 174 line-height: 1.3 !important; 175 padding: 0.25rem 0.75rem !important; 176 border-radius: 9999px !important; 177 background: rgba(107, 114, 128, 0.10) !important; 178 border: 1px solid rgba(107, 114, 128, 0.25) !important; 179} 180 181.dark .error-code-cards [data-component-part="card-title"] { 182 background: rgba(255, 255, 255, 0.06) !important; 183 border-color: rgba(255, 255, 255, 0.15) !important; 184} 185 186/* Inline HTTP method tokens colored like the sidebar API badges 187 (tagged by http-method-colors.js) */ 188[data-http-method] { 189 font-weight: 700 !important; 190 border-color: transparent !important; 191} 192 193[data-http-method="get"] { color: #15803d !important; background: rgba(74, 222, 128, 0.2) !important; } 194[data-http-method="post"] { color: #1d4ed8 !important; background: rgba(96, 165, 250, 0.2) !important; } 195[data-http-method="put"] { color: #a16207 !important; background: rgba(250, 204, 21, 0.2) !important; } 196[data-http-method="patch"] { color: #c2410c !important; background: rgba(251, 146, 60, 0.2) !important; } 197[data-http-method="delete"] { color: #b91c1c !important; background: rgba(248, 113, 113, 0.2) !important; } 198 199.dark [data-http-method="get"] { color: #4ade80 !important; } 200.dark [data-http-method="post"] { color: #60a5fa !important; } 201.dark [data-http-method="put"] { color: #facc15 !important; } 202.dark [data-http-method="patch"] { color: #fb923c !important; } 203.dark [data-http-method="delete"] { color: #f87171 !important; } 204 205ul.sidebar-group.mt-6 { 206 margin-top: 5px; 207} 208/* Two-axis code sample selector (snippets/codeselector.jsx) ----------------- 209 210 Mintlify gives RequestExample/ResponseExample a panel that is a grid of 211 equal rows, so the request and response boxes share the height and both stay 212 on screen. A <Panel> is instead one `overflow-y-auto` box, so two stacked 213 selectors put the response one ~980px down and the reader never finds it. 214 The rule below restores the native behaviour: split the panel between the 215 selectors and let each one scroll its own code. 216 217 The box itself mirrors Mintlify's `.code-group` chrome â same 16px radius, 218 same 10% border, same surface in each theme â so the header row reads as 219 part of the code block, exactly like the tab strip on every other API 220 page. */ 221
222/* Scoped to the sticky sidebar copy on purpose. Mintlify renders <Panel> 223 content twice â once in the sidebar, once inline in the content column for 224 mobile â and hides the inline one with `display: none` from xl up. An 225 unscoped `display: grid` here overrides that and shows the samples twice. */ 226.sticky .panel:has(> .rzp-code-selector) { 227 display: grid; 228 grid-auto-rows: minmax(0, 1fr); 229 gap: 1.5rem; 230 overflow: hidden; 231} 232 233/* The childless RequestExample/ResponseExample that suppress Mintlify's 234 generated samples still get their own container in the sticky column, and it 235 claims 288px of a 568px column even though it renders nothing. Reclaim it so 236 the selectors get the whole height, as they do on a native API page. */ 237.sticky:has(> .panel > .rzp-code-selector) > div:not(.panel) { 238 display: none; 239} 240 241.rzp-code-selector { 242 position: relative; 243 display: flex; 244 flex-direction: column; 245 min-height: 0; 246 overflow: hidden; 247 padding: 0.125rem; 248 border: 1px solid rgba(3, 7, 18, 0.1); 249 border-radius: 1rem; 250 background: rgb(244, 247, 250); 251} 252 253.dark .rzp-code-selector { 254 border-color: rgba(255, 255, 255, 0.1); 255 background: rgba(255, 255, 255, 0.05); 256} 257 258/* Header row. Sits on the code-group surface and carries the two dropdowns; 259 `padding-right` leaves room for the copy/assistant buttons that are moved 260 into this row below. */ 261.rzp-code-selector-bar { 262 display: flex; 263 align-items: center; 264 justify-content: space-between; 265 gap: 0.5rem; 266 flex: none; 267 /* wrap rather than squeeze: a long status label on a narrow panel takes a 268 second line instead of being cut short */ 269 flex-wrap: wrap; 270 padding: 0.25rem 4.25rem 0.375rem 0.5rem; 271} 272 273.rzp-code-selector-field { 274 position: relative; 275 display: inline-flex; 276 align-items: center; 277 flex: 0 0 auto; 278} 279 280/* `min-width: max-content` and no ellipsis on purpose. A <select> takes its 281 intrinsic width from its widest option with no slack, so at 12px "cURL" 282 lands in a 31px box needing 30px â and sub-pixel rounding was enough for 283 `text-overflow: ellipsis` to render "cUâ¦" on a label that actually fits. 284 285 That no-slack sizing is also why `padding-right` is wider than the chevron 286 needs. `max-content` absorbs the padding, so the content box ends up exactly 287 as wide as the label and the only clearance the chevron gets is 288 `padding-right` minus its own 18px footprint. Chrome measures that intrinsic 289 width once, from the option text in whatever font is live at layout time, 290 and does not always redo it when a webfont swaps in â and "Bank Account" is 291 ~6.5px wider in Inter than in the fallback it may have been measured in. At 292 1.25rem that is more than the 5.6px of clearance, so the label crowds the 293 chevron on a first paint that loses the font race. 1.75rem keeps ~13.6px, 294 which covers the swap and still reads as a normal label-to-caret gap. */ 295.rzp-code-selector-select { 296 appearance: none; 297 -webkit-appearance: none; 298 min-width: max-content; 299 padding: 0.125rem 1.75rem 0.125rem 0.375rem; 300 border: 0; 301 border-radius: 0.5rem; 302 background: transparent; 303 color: var(--color-gray-600, #4b5563); 304 font-size: 0.75rem; 305 font-weight: 500; 306 line-height: 1.5rem; 307 cursor: pointer; 308} 309 310.dark .rzp-code-selector-select { 311 color: var(--color-gray-300, #d1d5db); 312} 313 314.rzp-code-selector-select:hover { 315 background: rgba(3, 7, 18, 0.05); 316} 317 318.dark .rzp-code-selector-select:hover { 319 background: rgba(255, 255, 255, 0.08); 320} 321 322.rzp-code-selector-chevron { 323 position: absolute; 324 right: 0.25rem; 325 width: 0.875rem; 326 height: 0.875rem; 327 pointer-events: none; 328 opacity: 0.6; 329} 330 331/* The code block fills the rest of the box and scrolls inside it. Its own 332 margins and top corners go, so it meets the header row seamlessly. */ 333/* The sample scrolls here, on our own element, rather than on Mintlify's code 334 block. A standalone code block sizes to its content and pins its viewport to 335 `overflow-y-hidden!` inside a Tailwind layer â and an important declaration 336 in a layer outranks an unlayered one, so that is not overridable from here 337 (not even inline). Scrolling the wrapper instead needs no override: the code 338 block keeps its natural height and this box clips and scrolls it. */ 339.rzp-code-selector-body { 340 flex: 1 1 auto; 341 min-height: 0; 342 overflow-y: auto; 343 overscroll-behavior: contain; 344} 345 346.rzp-code-selector-body > .code-block { 347 margin: 0 !important; 348 min-width: 0; 349 border-radius: 0 0 0.875rem 0.875rem; 350 /* static so the copy buttons anchor to .rzp-code-selector and stay in the 351 header row instead of scrolling away with the code */ 352 position: static !important; 353} 354 355.rzp-code-selector-body [data-component-part="code-block-root"] { 356 border-radius: 0 0 0.875rem 0.875rem; 357} 358 359/* Mintlify's own bottom fade anchors to the code block, which is 360 `position: static` above, so it would land at the bottom of the full sample 361 rather than the bottom of the box. Drop it and fade the box instead, so a 362 clipped sample still reads as having more below it, the way it does on a 363 native API page. */ 364.rzp-code-selector-body .code-block-fade-overlay { 365 display: none; 366} 367 368.rzp-code-selector::after {
369 content: ""; 370 position: absolute; 371 inset: auto 0 0; 372 height: 2rem; 373 border-radius: 0 0 0.875rem 0.875rem; 374 pointer-events: none; 375 background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff); 376} 377 378.dark .rzp-code-selector::after { 379 background: linear-gradient(to bottom, rgba(11, 12, 14, 0), rgb(11, 12, 14)); 380} 381 382/* Copy + "ask assistant" buttons, lifted into the header row. */ 383.rzp-code-selector > .rzp-code-selector-body > .code-block > .absolute { 384 top: 0.5rem; 385 right: 0.75rem; 386} 387</style><style data-custom-css-index="1" data-custom-css-path="static/docs-home/hide-navbar-on-home.css">/* Hide the Mintlify top navbar on custom-mode pages (home, home-old, home-my, home-sg, home-us). 388 Loaded before the JSX snippet mounts, so there's no flash-of-navbar on refresh. 389 Mintlify sets data-page-mode="custom" on <html> via an inline script for these pages. */ 390html[data-page-mode="custom"] header#navbar { 391 display: none !important; 392} 393 394/* Kill the mobile 120px top-padding wrapper Mintlify reserves for the (now-hidden) navbar */ 395html[data-page-mode="custom"] .pt-\[120px\] { 396 padding-top: 0 !important; 397} 398</style><style data-custom-css-index="2" data-custom-css-path="static/docs-home/styles.css">/* ========================================================================= 399 Razorpay Docs homepage â v41 "Ascii sky" 400 Handoff build: v41 only. Class names keep their rzpn- prefix so every rule 401 traces back to the prototype; rename at will. 402 ========================================================================= */ 403 404:root { 405 --ink: #192839; 406 --ink-soft: #4b5563; 407 --ink-faint: #9ca3af; 408 --border: #e5e7eb; 409 --border-muted: rgba(67,75,81,0.12); 410 --accent: #305eff; 411 --accent-hover: #244bd6; 412 --accent-soft-bg: #eef2ff; 413 --teal: #0f6b63; 414 --teal-soft-bg: #e6f5f3; 415 --success-bg: #d9f5e0; 416 --success-ink: #1c7340; 417 --dark-bg: #002a29; 418 --dark-card-bg: rgba(255,255,255,0.04); 419 --dark-card-border: rgba(209,213,219,0.1); 420 --dark-icon-bg: #145252; 421 --radius-card: 12px; 422 --radius-pill: 8px; 423 --radius-btn: 6px; 424 --ease: cubic-bezier(0.22, 1, 0.36, 1); 425 --font-display: 'TASA Orbiter', 'Inter', system-ui, sans-serif; 426 --font-body: 'Inter', system-ui, sans-serif; 427 --font-mono: 'JetBrains Mono', 'SF Mono', Menlo, monospace; 428} 429 430/* Mintlify injects every repo CSS file into EVERY page, and unlayered rules 431 beat Mintlify's layered Tailwind utilities regardless of specificity (a bare 432 `img { display: block }` forced both the light AND dark navbar logos visible 433 on all docs pages). So every reset here must stay scoped to the home page: 434 #rzpn-home for the page tree, html[data-page-mode="custom"] for html/body. */ 435#rzpn-home, #rzpn-home * { box-sizing: border-box; } 436html[data-page-mode="custom"] { scroll-behavior: smooth; } 437html[data-page-mode="custom"], html[data-page-mode="custom"] body { margin: 0; padding: 0; } 438#rzpn-home { 439 font-family: var(--font-body); 440 color: var(--ink); 441 background: #fff; 442 -webkit-font-smoothing: antialiased; 443} 444#rzpn-home a { text-decoration: none; color: inherit; } 445#rzpn-home img { display: block; max-width: 100%; } 446#rzpn-home h1, #rzpn-home h2, #rzpn-home h3, #rzpn-home h4 { margin: 0; font-family: var(--font-display); } 447#rzpn-home p { margin: 0; } 448 449/* ========================================================================== 450 v41 â v40 with the photo swapped for a gradient sky + a generated ASCII 451 field. Structure, spacing and every component are v40's; only the backdrop 452 layer differs, so this block is a copy with the .rzpn-win rules rewritten. 453 ========================================================================== */ 454 455/* The drift is written to :root, not to the page: the footer is a SIBLING of 456 #page-rzpn and is a window onto the same layer, so it has to read the same 457 value. Declared on the page too it would shadow the root value. */ 458:root { --rzpn-par: 0px; } 459#page-rzpn { 460 --rzpn-pad: 64px; 461 --rzpn-max: 1440px; 462 background: #fff; 463} 464 465#page-rzpn .rzpn-wrap { 466 max-width: var(--rzpn-max); 467 margin: 0 auto; 468 padding: 0 var(--rzpn-pad); 469} 470 471/* --- The shared photo window ------------------------------------------- 472 Every element that shows the grass photo uses this. `fixed` anchors the 473 background to the viewport, so separate windows scattered down the page 474 all sample one continuous image and stay registered to each other â the 475 same construction as the Figma Subtract shape, and the parallax itself.
476 Sized taller than the viewport so --rzpn-par has room to travel without 477 ever exposing an edge. */ 478#page-rzpn .rzpn-win { 479 /* No photo: a sky gradient painted at a fixed viewport size. Fixed 480 attachment is still what registers the windows to each other â every one 481 samples the same 100vw x 1180px ramp, so the crops line up and the whole 482 page reads as one backdrop seen through holes, exactly as v40's photo did. */ 483 /* Figma 1050:201408 â two stops, the first held until 22.856%, over a 368px 484 band on a #e8eefe page. */ 485 background-image: linear-gradient(180deg, #5498f2 22.856%, #e8eefe 100%); 486 background-attachment: fixed; 487 background-repeat: no-repeat; 488 /* The artboard's band height, so the ramp is spent at the foot of the hero 489 and every window below it samples the flat tail. */ 490 background-size: 100vw 368px; 491 background-position: center calc(0px + var(--rzpn-par)); 492 background-color: #e8eefe; 493} 494 495/* Where the photo sits behind content rather than standing alone, Figma fades 496 it back so type stays legible. Sampling the frame, the card interiors read 497 ~rgb(131,153,122) against the photo's raw rgb(88,107,58) â a light veil over 498 a desaturated, slightly brightened blur. These values reproduce that. */ 499#page-rzpn .rzpn-win--soft { position: relative; } 500#page-rzpn .rzpn-win--soft::before { 501 content: ''; 502 position: absolute; inset: 0; 503 border-radius: inherit; 504 background: rgba(255,255,255,.22); 505 -webkit-backdrop-filter: blur(8px) saturate(.7) brightness(1.15); 506 backdrop-filter: blur(8px) saturate(.7) brightness(1.15); 507 pointer-events: none; 508} 509/* Without backdrop-filter the veil alone has to do the work. */ 510@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { 511 #page-rzpn .rzpn-win--soft::before { background: rgba(233,240,232,.55); } 512} 513 514@media (prefers-reduced-motion: reduce) { 515 #page-rzpn { --rzpn-par: 0px !important; } 516} 517 518/* iOS Safari ignores background-attachment: fixed, and small screens don't 519 have the height for the drift to read. Fall back to per-window crops. 520 Width breakpoints are .rzpn-lte-* classes on #rzpn-home, set from the 521 content column's width by home.jsx â Mintlify's assistant panel narrows 522 the column without a window resize, so @media (max-width) can't see it. */ 523#rzpn-home.rzpn-lte-900 #page-rzpn .rzpn-win { 524 background-attachment: scroll; 525 background-size: 100% 368px; 526 background-position: center top; 527} 528@media (hover: none) and (pointer: coarse) { 529 #page-rzpn .rzpn-win { 530 background-attachment: scroll; 531 background-size: 100% 368px; 532 background-position: center top; 533 } 534} 535 536/* ---------------------------------------------------------------- nav --- */ 537/* Sticks as a floating pill for the whole page, not just the hero. Fixed 538 rather than sticky because the artboard insets it 12px from the top and 539 50px from each side â it never spans the full width, so there is no edge 540 for `position: sticky` to sit flush against. */ 541#page-rzpn .rzpn-nav-wrap { 542 position: fixed; 543 top: 12px; left: 0; right: 0; 544 z-index: 50; 545 /* Tracks the content gutter rather than its own 50px, so the bar's edges 546 line up with the sections (and with the hero headline) at every 547 breakpoint â --rzpn-pad is what .rzpn-wrap uses. */ 548 padding: 0 var(--rzpn-pad); 549 pointer-events: none; 550} 551#page-rzpn .rzpn-nav { 552 pointer-events: auto; 553 white-space: nowrap; 554 /* 1440 - 2x64 = 1312, i.e. the same content box as .rzpn-wrap. */ 555 max-width: calc(var(--rzpn-max) - var(--rzpn-pad) * 2); 556 margin: 0 auto; 557 height: 58px; 558 display: flex; 559 align-items: center; 560 gap: 24px; 561 padding: 0 21px; 562 border-radius: 8px; 563 /* Figma 1157:90026 -- the pill is translucent (bg opacity .8) with a 4px 564 backdrop blur, so whatever scrolls behind it (the ribbon/ascii trail) 565 shows through softened rather than being fully hidden by a solid pill. */ 566 background: rgba(255,255,255,.8); 567 transition: box-shadow .22s ease; 568 -webkit-backdrop-filter: blur(4px); 569 backdrop-filter: blur(4px); 570} 571/* Without backdrop-filter the 80% tint alone would show whatever's behind it 572 unblurred through the pill â fall back to solid instead. */ 573@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { 574 #page-rzpn .rzpn-nav { background: #fff; } 575} 576/* On the hero the photo separates the pill from the page; once it is over 577 white content it needs a shadow to stay distinct. */ 578#page-rzpn.is-scrolled .rzpn-nav { box-shadow: 0 6px 24px rgba(5, 5, 5, .10); } 579#page-rzpn .rzpn-nav-logo { display: flex; align-items: center; gap: 8px; height: 32px; } 580#page-rzpn .rzpn-nav-logo img { display: block; height: 21px; width: auto; } 581#page-rzpn .rzpn-nav-logo-docs { height: 13px !important; } 582#page-rzpn .rzpn-nav-rule { width: 1px; height: 15px; background: #c8cdd0; } 583 584#page-rzpn .rzpn-nav-links { display: flex; align-items: center; gap: 18px; margin-left: 20px; } 585#page-rzpn .rzpn-nav-links a, 586#page-rzpn .rzpn-nav-meta a { 587 display: inline-flex; align-items: center; gap: 4px; 588 font-family: var(--font-body); 589 font-weight: 500; font-size: 12px; line-height: 17px; 590 letter-spacing: -0.156px; color: #050505; text-decoration: none; 591} 592#page-rzpn .rzpn-nav-links a:hover, 593#page-rzpn .rzpn-nav-meta a:hover { color: #1566f1; } 594 595#page-rzpn .rzpn-nav-right { display: flex; align-items: center; gap: 18px; margin-left: auto; } 596#page-rzpn .rzpn-nav-icobtn, 597#page-rzpn .rzpn-nav-assistant { 598 display: inline-flex; align-items: center; gap: 6px; 599 height: 36px; padding: 8px 12px; 600 border: 1px solid #c8cdd0; border-radius: 8px; 601 background: #fff; cursor: pointer; 602 font-family: var(--font-body); 603 font-weight: 500; font-size: 14px; line-height: 20px; 604 letter-spacing: -0.182px; color: #616d75; 605} 606#page-rzpn .rzpn-nav-icobtn { width: 36px; justify-content: center; padding: 8px; } 607#page-rzpn .rzpn-nav-assistant:hover, 608#page-rzpn .rzpn-nav-icobtn:hover { border-color: #9aa3a9; } 609#page-rzpn .rzpn-nav-prefs { position: relative; display: flex; align-items: center; gap: 16px; } 610#page-rzpn .rzpn-nav-flag { border: 1px solid rgba(0,0,0,.1); border-radius: 1px; display: block; } 611#page-rzpn .rzpn-nav-prefs-btn { 612 display: inline-flex; align-items: center; gap: 4px; 613 padding: 0; border: 0; background: none; cursor: pointer;
614 color: #616d75; 615} 616#page-rzpn .rzpn-nav-prefs-btn:hover, 617#page-rzpn .rzpn-nav-prefs-btn.is-open { color: #1566f1; } 618#page-rzpn .rzpn-nav-prefs-chev { transition: transform .18s ease; } 619#page-rzpn .rzpn-nav-prefs-btn.is-open .rzpn-nav-prefs-chev { transform: rotate(180deg); } 620/* Right-aligned so the panel can't overflow the viewport edge. */ 621#page-rzpn .rzpn-nav-prefs-menu { 622 position: absolute; 623 top: calc(100% + 8px); right: 0; 624 z-index: 5; 625 min-width: 96px; 626 padding: 8px; 627 display: flex; flex-direction: column; 628 border-radius: 8px; 629 background: #fff; 630 box-shadow: 0 8px 28px rgba(5,5,5,.14); 631} 632#page-rzpn .rzpn-nav-prefs-menu[hidden] { display: none; } 633#page-rzpn .rzpn-nav-prefs-menu a { 634 display: flex; align-items: center; gap: 8px; 635 padding: 8px 12px; 636 border-radius: 6px; 637 font-family: var(--font-body); 638 font-weight: 500; font-size: 12px; line-height: 17px; 639 letter-spacing: -0.156px; color: #050505; text-decoration: none; 640 white-space: nowrap; 641} 642#page-rzpn .rzpn-nav-prefs-menu a:hover { background: #f3f5f7; color: #1566f1; } 643#page-rzpn .rzpn-nav-meta { display: flex; align-items: center; gap: 18px; white-space: nowrap; } 644 645/* Burger + its panel: desktop shows neither, the 900px block turns them on. */ 646#page-rzpn .rzpn-nav-burger { display: none; } 647#page-rzpn .rzpn-nav-burger-ico { 648 position: relative; 649 width: 16px; height: 2px; border-radius: 2px; 650 background: currentColor; 651} 652#page-rzpn .rzpn-nav-burger-ico::before, 653#page-rzpn .rzpn-nav-burger-ico::after { 654 content: ''; 655 position: absolute; left: 0; 656 width: 16px; height: 2px; border-radius: 2px; 657 background: currentColor; 658 transition: transform .18s ease, opacity .18s ease; 659} 660#page-rzpn .rzpn-nav-burger-ico::before { top: -5px; } 661#page-rzpn .rzpn-nav-burger-ico::after { top: 5px; } 662/* Collapses to an X while the panel is open. */ 663#page-rzpn .rzpn-nav-burger.is-open .rzpn-nav-burger-ico { background: transparent; } 664#page-rzpn .rzpn-nav-burger.is-open .rzpn-nav-burger-ico::before { transform: translateY(5px) rotate(45deg); } 665#page-rzpn .rzpn-nav-burger.is-open .rzpn-nav-burger-ico::after { transform: translateY(-5px) rotate(-45deg); } 666 667#page-rzpn .rzpn-nav-menu { 668 pointer-events: auto; 669 max-width: calc(var(--rzpn-max) - var(--rzpn-pad) * 2); 670 margin: 8px auto 0; 671 padding: 8px; 672 display: flex; flex-direction: column; 673 border-radius: 8px; 674 background: #fff; 675 box-shadow: 0 8px 28px rgba(5,5,5,.14); 676} 677#page-rzpn .rzpn-nav-menu[hidden] { display: none; } 678#page-rzpn .rzpn-nav-menu a { 679 padding: 11px 12px; 680 border-radius: 6px; 681 font-family: var(--font-body); 682 font-weight: 500; font-size: 15px; line-height: 20px; 683 letter-spacing: -0.182px; color: #050505; text-decoration: none; 684} 685#page-rzpn .rzpn-nav-menu a:hover { background: #f3f5f7; color: #1566f1; } 686#page-rzpn .rzpn-nav-menu-rule { height: 0; margin: 6px 12px; border: 0; border-top: 1px solid #e4e4e4; } 687 688/* "More" dropdown: between 901px and 1129px the row can't fit all eight 689 product links, so Payroll â API Reference collapse behind it. Desktop 690 (â¥1130px) shows the full row and hides the button; at â¤900px the whole 691 links row is gone and the burger panel takes over instead. The 1129px 692 block in the responsive section flips the two on. */ 693#page-rzpn .rzpn-nav-more { position: relative; display: none; align-self: stretch; align-items: center; } 694#page-rzpn .rzpn-nav-more-btn { 695 display: inline-flex; align-items: center; gap: 4px; 696 padding: 0; border: 0; background: none; cursor: pointer; 697 font-family: var(--font-body); 698 font-weight: 500; font-size: 12px; line-height: 17px; 699 letter-spacing: -0.156px; color: #050505; 700} 701#page-rzpn .rzpn-nav-more-btn:hover, 702#page-rzpn .rzpn-nav-more-btn.is-open { color: #1566f1; } 703#page-rzpn .rzpn-nav-more-chev { transition: transform .18s ease; } 704#page-rzpn .rzpn-nav-more-btn.is-open .rzpn-nav-more-chev { transform: rotate(180deg); } 705/* The wrapper stretches to the pill's full 58px, so 100% + 8px lands the 706 panel 8px under the pill edge â same offset the burger panel uses. */ 707#page-rzpn .rzpn-nav-more-menu { 708 position: absolute; 709 top: calc(100% + 8px); left: 0; 710 z-index: 5; 711 min-width: 148px; 712 padding: 8px; 713 display: flex; flex-direction: column; 714 border-radius: 8px; 715 background: #fff; 716 box-shadow: 0 8px 28px rgba(5,5,5,.14); 717} 718#page-rzpn .rzpn-nav-more-menu[hidden] { display: none; } 719#page-rzpn .rzpn-nav-more-menu a { 720 display: block; 721 padding: 8px 12px; 722 border-radius: 6px; 723 font-family: var(--font-body); 724 font-weight: 500; font-size: 12px; line-height: 17px; 725 letter-spacing: -0.156px; color: #050505; text-decoration: none; 726 white-space: nowrap; 727} 728#page-rzpn .rzpn-nav-more-menu a:hover { background: #f3f5f7; color: #1566f1; } 729 730/* Developer Tools dropdown (v42): inline in the links row at all widths the 731 row is visible; the burger panel lists its items instead at â¤900px. */ 732#page-rzpn .rzpn-nav-dd { position: relative; display: inline-flex; } 733#page-rzpn .rzpn-nav-dd-btn { 734 display: inline-flex; align-items: center; gap: 4px; 735 padding: 0; border: 0; background: none; cursor: pointer; 736 font-family: var(--font-body); 737 font-weight: 500; font-size: 12px; line-height: 17px; 738 letter-spacing: -0.156px; color: #050505; 739} 740#page-rzpn .rzpn-nav-dd-btn:hover, 741#page-rzpn .rzpn-nav-dd-btn.is-open { color: #1566f1; } 742#page-rzpn .rzpn-nav-dd-chev { transition: transform .18s ease; } 743#page-rzpn .rzpn-nav-dd-btn.is-open .rzpn-nav-dd-chev { transform: rotate(180deg); } 744#page-rzpn .rzpn-nav-dd-menu { 745 position: absolute; 746 top: calc(100% + 14px); left: -12px; 747 z-index: 5; 748 min-width: 208px; 749 padding: 8px; 750 display: flex; flex-direction: column; 751 border: 1px solid #e4e4e4; 752 border-radius: 10px; 753 background: #fff; 754 box-shadow: 0 12px 32px rgba(5,5,5,.12); 755} 756#page-rzpn .rzpn-nav-dd-menu[hidden] { display: none; } 757/* Invisible bridge over the 14px gap so the pointer can travel from the 758 button into the panel without leaving the dropdown's hit area. */ 759#page-rzpn .rzpn-nav-dd-menu::before { 760 content: ''; 761 position: absolute; left: 0; right: 0; top: -14px; height: 14px; 762} 763#page-rzpn .rzpn-nav-dd-menu a { 764 display: flex; align-items: center; gap: 10px; 765 padding: 9px 10px; 766 border-radius: 6px; 767 font-family: var(--font-body); 768 font-weight: 500; font-size: 13px; line-height: 18px; 769 letter-spacing: -0.156px; color: #050505; text-decoration: none; 770 white-space: nowrap; 771} 772#page-rzpn .rzpn-nav-dd-menu a:hover { background: #f3f5f7; color: #1566f1; } 773#page-rzpn .rzpn-nav-dd-ico { 774 width: 16px; height: 16px; flex: none; 775 color: #616d75; 776 fill: none; stroke: currentColor; stroke-width: 1.7; 777 stroke-linecap: round; stroke-linejoin: round; 778} 779#page-rzpn .rzpn-nav-dd-menu a:hover .rzpn-nav-dd-ico { color: #1566f1; } 780/* Burger panel: indented icon rows under the plain Developer Tools link. */ 781#page-rzpn .rzpn-nav-menu a.rzpn-nav-menu-sub { 782 display: flex; align-items: center; gap: 10px; 783 padding: 9px 12px 9px 24px; 784 font-size: 14px; line-height: 20px; color: #4b5563; 785} 786#page-rzpn .rzpn-nav-menu a.rzpn-nav-menu-sub:hover { color: #1566f1; } 787 788/* --------------------------------------------------------------- hero --- */ 789#page-rzpn .rzpn-hero { 790 position: relative; 791 height: 366px; 792} 793/* ------------------------------------------------ v42 ribbon artwork ---- */ 794/* The artwork is a 1440x448 stage pinned to the top of the viewport, not to 795 the hero â fixed, so the page scrolls over it while it holds
795still. Children 796 keep Figma's own coordinates, so the stage stays exactly 1440 wide. */ 797#page-rzpn .rzpn-art { 798 position: fixed; 799 top: 0; left: 50%; 800 width: 1440px; height: 448px; 801 margin-left: -688px; /* -720px stage half-width + 32px rightward shift */ 802 transform-origin: top center; 803 pointer-events: none; 804 z-index: 0; 805 /* Several strips are laid out past the artboard's left and right edges on 806 purpose, so the clip is vertical only. */ 807 overflow: visible; 808 clip-path: inset(0 -100vw); 809} 810#page-rzpn .rzpn-art img { max-width: none; } 811 812/* Trail peek canvases: one per non-hero window, sized to that window's own 813 box (see the trail IIFE in script.js) â same "one canvas per window, shared 814 viewport-space source" pattern already used by .rzpn-win-glyphs. */ 815#page-rzpn .rzpn-trail-peek { 816 position: absolute; 817 inset: 0; 818 /* A <canvas> is a replaced element â inset:0 alone anchors it at the 819 window's top-left but does NOT stretch it to fill; without an explicit 820 width/height it falls back to its intrinsic size (the dpr-scaled pixel 821 buffer). width/height:100% forces the CSS box to match the window. */ 822 width: 100%; height: 100%; 823 pointer-events: none; 824 /* Every ribbon piece carries its own Figma "background blur" (radius 825 5.48px, i.e. blur(2.74px)) baked into its raster; once drawImage() 826 copies that raster into a window's peek canvas nothing blurs the canvas 827 itself the way a glass panel should â so blur its rendered output. */ 828 filter: blur(2.74px); 829} 830 831/* Independent parallax layers inside the fixed 1440x448 stage. Each wrapper 832 exactly overlays .rzpn-art's own box (inset:0 at the same size), so every 833 child's existing `position:absolute; left/top: Npx` still resolves against 834 the same artboard origin â only a translateY moves per layer. The ribbon 835 band (background) travels least; each floating Doc card is its own layer, 836 scaled by --rzpn-par-doc-N (bigger card, more travel); the ascii trail 837 sits between the two. --rzpn-par-* are all set by the scroll handler. */ 838#page-rzpn .rzpn-art-strip, 839#page-rzpn .rzpn-art-ascii, 840#page-rzpn .rzpn-doc { 841 position: absolute; 842 inset: 0; 843 width: 1440px; height: 448px; 844} 845#page-rzpn .rzpn-art-strip { transform: translateY(var(--rzpn-par-strip, 0px)); } 846#page-rzpn .rzpn-art-ascii { transform: translateY(var(--rzpn-par-ascii, 0px)); } 847/* Per-card motion, three independent channels: scroll parallax + curs
847or tilt 848 share `transform` (both JS-driven), the levitate drift animates the 849 standalone `translate` property, and the hover rotation uses standalone 850 `rotate` â so none of the three fight over one transform value. Durations, 851 delays and phases differ per card so the seven drift out of lockstep. */ 852#page-rzpn .rzpn-doc-1 { 853 transform: translate(var(--rzpn-hover-x-1, 0px), calc(var(--rzpn-par-doc-1, 0px) + var(--rzpn-hover-y-1, 0px))); rotate: var(--rzpn-hover-r-1, 0deg); transition: transform .42s cubic-bezier(.22,1,.36,1), rotate .42s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 7.2s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -1.1s, 1000ms; 854} 855#page-rzpn .rzpn-doc-2 { 856 transform: translate(var(--rzpn-hover-x-2, 0px), calc(var(--rzpn-par-doc-2, 0px) + var(--rzpn-hover-y-2, 0px))); rotate: var(--rzpn-hover-r-2, 0deg); transition: transform .61s cubic-bezier(.22,1,.36,1), rotate .61s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 6.4s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -3.6s, 600ms; 857} 858#page-rzpn .rzpn-doc-3 { 859 transform: translate(var(--rzpn-hover-x-3, 0px), calc(var(--rzpn-par-doc-3, 0px) + var(--rzpn-hover-y-3, 0px))); rotate: var(--rzpn-hover-r-3, 0deg); transition: transform .34s cubic-bezier(.22,1,.36,1), rotate .34s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 8.1s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -0.4s, 300ms; 860} 861#page-rzpn .rzpn-doc-4 { 862 transform: translate(var(--rzpn-hover-x-4, 0px), calc(var(--rzpn-par-doc-4, 0px) + var(--rzpn-hover-y-4, 0px))); rotate: var(--rzpn-hover-r-4, 0deg); transition: transform .53s cubic-bezier(.22,1,.36,1), rotate .53s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate-sm 5.8s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -2.2s, 240ms; 863} 864#page-rzpn .rzpn-doc-5 { 865 transform: translate(var(--rzpn-hover-x-5, 0px), calc(var(--rzpn-par-doc-5, 0px) + var(--rzpn-hover-y-5, 0px))); rotate: var(--rzpn-hover-r-5, 0deg); transition: transform .39s cubic-bezier(.22,1,.36,1), rotate .39s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate-sm 6.9s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -4.5s, 800ms; 866} 867#page-rzpn .rzpn-doc-7 { 868 transform: translate(var(--rzpn-hover-x-7, 0px), calc(var(--rzpn-par-doc-7, 0px) + var(--rzpn-hover-y-7, 0px))); rotate: var(--rzpn-hover-r-7, 0deg); transition: transform .48s cubic-bezier(.22,1,.36,1), rotate .48s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate-sm 6.1s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -1.8s, 300ms; 869} 870/* The Doc 6 badge sits inside .rzpn-art-strip (it has to paint behind the top 871 ribbon strip for z-order), so it can't pick up a shared .rzpn-doc-N rule. 872 No scroll parallax â it isn't in the DOC_MAG footprint table â but it gets 873 the same cursor tilt as the other six (key '6' is otherwise unused). */ 874#page-rzpn .rzpn-doc-6-badge { 875 transform: translate(var(--rzpn-hover-x-6, 0px), var(--rzpn-hover-y-6, 0px)); rotate: var(--rzpn-hover-r-6, 0deg); transition: transform .56s cubic-bezier(.22,1,.36,1), rotate .56s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 7.7s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -5.2s, 300ms; 876} 877@keyframes rzpn-doc-levitate { 878 0%, 100% { translate: 0 0; } 879 50% { translate: 0 -14px; } 880} 881@keyframes rzpn-doc-levitate-sm { 882 0%, 100% { translate: 0 0; } 883 50% { translate: 0 -9px; } 884} 885@keyframes rzpn-doc-appear { 886 from { opacity: 0; scale: 0.94; } 887 to { opacity: 1; scale: 1; } 888} 889@media (prefers-reduced-motion: reduce) { 890 #page-rzpn .rzpn-art-strip, 891 #page-rzpn .rzpn-art-ascii, 892 #page-rzpn .rzpn-doc, 893 #page-rzpn .rzpn-doc-6-badge { transform: none !important; animation: none !important; } 894} 895 896/* The flowing characters share the stage's artboard box, so they travel with 897 the ribbon and need no separate positioning. No z-index: the canvas sits 898 between the strips and the Doc panels in DOM order, so plain paint order 899 puts the trail over the bands and under the docs. */ 900#page-rzpn .rzpn-flow { 901 position: absolute; 902 left: 0; top: 0; 903 width: 1440px; height: 448px; 904 pointer-events: none; 905} 906 907/* Everything after the hero scrolls over the fixed artwork, so each section is 908 a positioned, opaque surface. */ 909#page-rzpn > section:not(.rzpn-hero) { 910 position: relative; z-index: 1; background: #fff; 911} 912 913/* Halftone glyph field. One canvas per window, all drawing from a single 914 viewport-space grid (see the v41 glyph IIFE), so the pattern is continuous 915 across the hero, the AI cards and the Payments step rows. */ 916#page-rzpn .rzpn-win-glyphs { 917 position: absolute; 918 inset: 0; 919 display: block; 920 width: 100%; 921 height: 100%; 922 pointer-events: none; 923} 924/* The new photo is light throughout â sky in the hero band, meadow in the 925 windows below â so a single dark ink over multiply works everywhere. The 926 previous photo needed light ink and screen in the hero, where it was dark. */ 927#page-rzpn .rzpn-win-glyphs { 928 mix-blend-mode: normal; 929} 930/* Bright-is-dense makes the veiled windows busier than the hero, since they 931 crop the sunlit meadow and a strip of horizon â so they carry less. */ 932/* Lower than the windows below: the hero carries the headline and the ask 933 bar, and the cloud band is the brightest ground on the page, so the same 934 dark ink lands much harder here. */ 935/* One white ink everywhere now, so every window blends normally â white under 936 multiply is a no-op. */ 937#page-rzpn .rzpn-win-glyphs { mix-blend-mode: normal; } 938#page-rzpn .rzpn-hero > .rzpn-win-glyphs { opacity: .85; } 939#page-rzpn .rzpn-win--soft > .rzpn-win-glyphs { opacity: .7; } 940 941#page-rzpn .rzpn-hero-inner { 942 max-width: var(--rzpn-max); 943 margin: 0 auto;
944 padding: 0 var(--rzpn-pad); 945 height: 100%; 946 position: relative; 947} 948#page-rzpn .rzpn-hero-h1 { 949 position: absolute; top: 122px; left: var(--rzpn-pad); 950 margin: 0; 951 font-family: 'Inter Tight', var(--font-body); 952 font-weight: 200; font-size: 80px; line-height: 1.1; 953 /* Figma tracks the glyphs at -4.8px but loosens the word spaces to -1.76px; 954 word-spacing makes up the 3.04px difference rather than needing a span 955 around every gap. */ 956 letter-spacing: -4.8px; word-spacing: 3.04px; color: #fff; 957} 958#page-rzpn .rzpn-ask { 959 position: absolute; top: 236px; left: var(--rzpn-pad); 960 display: flex; align-items: center; gap: 12px; 961 width: 636px; max-width: calc(100% - var(--rzpn-pad) * 2); 962 height: 72px; padding: 0 20px 0 24px; 963 border: 0; border-radius: 12px; 964 background: #fff; 965} 966#page-rzpn .rzpn-ask-spark { display: block; flex: none; } 967#page-rzpn .rzpn-ask-input { 968 flex: 1; min-width: 0; border: 0; background: none; outline: none; 969 font-family: var(--font-display); 970 font-size: 20px; letter-spacing: -0.4px; color: #2f404c; 971} 972/* background-clip: text cannot reach ::placeholder, so the real placeholder is 973 painted out and .rzpn-ask-ph draws the same string with a sheen sweeping 974 across it. The twin is inside .rzpn-ask-field so it lines up with the input 975 at every breakpoint without restating the bar's padding and gap. */ 976#page-rzpn .rzpn-ask-field { position: relative; flex: 1; min-width: 0; display: flex; } 977#page-rzpn .rzpn-ask-input::placeholder { color: transparent; } 978#page-rzpn .rzpn-ask-ph { 979 position: absolute; inset: 0; 980 display: flex; align-items: center; 981 pointer-events: none; 982 white-space: nowrap; overflow: hidden; 983 font-family: var(--font-display); 984 font-size: 20px; letter-spacing: -0.4px; 985 opacity: 0.6; 986 /* Figma 1218:91805 â placeholder text is a static #2f404c at 60% opacity. 987 The sheen is a proper light highlight sweeping over a lighter base tone 988 (not a darker gray/black peak within the same hue â that read as a dark 989 smudge, not a shimmer): base a muted mid-blue-gray, peak a pale cyan 990 core (#B5EDEE) flanked by #5E9EF1 either side so the sweep reads as a 991 bright cyan-with-a-blue-glow highlight rather than one flat colour. */ 992 background-image: linear-gradient(100deg, rgba(100,124,148,.55) 0%, rgba(100,124,148,.55) 35%, #5E9EF1 46%, #B5EDEE 50%, #5E9EF1 54%, rgba(100,124,148,.55) 65%, rgba(100,124,148,.55) 100%); 993 background-size: 200% 100%; 994 -webkit-background-clip: text; background-clip: text; 995 -webkit-text-fill-color: transparent; color: transparent; 996 /* 100% -> 0% sweeps the highlight left to right; both ends of the gradient 997 are the base colour, so the wrap is seamless. */ 998 animation: rzpn-ask-shimmer 2.8s linear infinite; 999} 1000#page-rzpn .rzpn-ask-input:not(:placeholder-shown) ~ .rzpn-ask-ph { opacity: 0; } 1001@keyframes rzpn-ask-shimmer { 1002 from { background-position: 100% 0; } 1003 to { background-position: 0% 0; } 1004} 1005@media (prefers-reduced-motion: reduce) { 1006 #page-rzpn .rzpn-ask-ph { animation: none; } 1007} 1008#page-rzpn .rzpn-ask-go { flex: none; border: 0; background: none; padding: 0; cursor: pointer; line-height: 0; } 1009#page-rzpn .rzpn-ask-go img, 1010#page-rzpn .rzpn-ask-go svg { display: block; } 1011 1012/* ------------------------------------------------- AI prompt cards ------ */ 1013#page-rzpn .rzpn-ai { padding: 37px 0 0; background: #fff; } 1014#page-rzpn .rzpn-ai-head { display: flex; align-items: center; gap: 12px; } 1015 1016#page-rzpn .rzpn-eyebrow { 1017 margin: 0; 1018 font-family: var(--font-display); 1019 font-weight: 500; font-size: 24px; line-height: .9; 1020 letter-spacing: -0.48px; color: #000; opacity: .8; 1021} 1022#page-rzpn .rzpn-ai-agents { display: inline-flex; align-items: center; } 1023#page-rzpn .rzpn-ai-agent { width: 24px; height: 24px; display: grid; place-items: center; overflow: hidden; } 1024#page-rzpn .rzpn-ai-agent img { display: block; width: 21.6px; height: 21.6px; object-fit: contain; } 1025/* Cursor ships as a full lockup (mark + wordmark, 960x234). The mark is 1026 cropped to its own file (201x229) rather than clipped in CSS, which was 1027 slicing it mid-glyph. It is taller than it is wide, so height drives it. */ 1028#page-rzpn .rzpn-ai-agent--3 img { 1029 width: auto; 1030 height: 19.2px; 1031} 1032 1033#page-rzpn .rzpn-ai-cards { 1034 display: grid; 1035 grid-template-columns: repeat(5, 1fr); 1036 align-items: start; 1037 gap: 24px; 1038 margin-top: 29px; 1039} 1040/* No card chrome in this version: the rounded media block sits directly on 1041 the page with the title and CTA beneath it, so there is no plate, border, 1042 shadow or fixed card ratio â the media carries its own ratio instead. */ 1043#page-rzpn .rzpn-pcard { 1044 position: relative; 1045 display: flex; 1046 flex-direction: column; 1047} 1048#page-rzpn .rzpn-pcard-media { 1049 position: relative; 1050 aspect-ratio: 242 / 182; 1051 border-radius: 12px; 1052 overflow: hidden; 1053} 1054#page-rzpn .rzpn-pcard-body { 1055 display: flex; 1056 flex-direction: column; 1057 align-items: flex-start; 1058 padding: 0; 1059} 1060/* Figma 824:8477. Carries more of the gradient than the step rows do: 1061 rgba(...,.5) -> rgba(...,.2) against their .4 -> .08. */ 1062#page-rzpn .rzpn-pcard-tint { 1063 background: linear-gradient(205.78deg, rgba(132,175,250,.5) 25.575%, rgba(159,255,159,.2) 97.045%); 1064 border-radius: inherit; 1065} 1066/* Real artwork now (Figma 936:9032 â one 242x182 frame per card), replacing 1067 the white pane wireframes. Each export carries its own internal margins, so 1068 it fills the well edge-to-edge rather than sitting inside a 16px inset. */ 1069#page-rzpn .rzpn-pcard-shot { 1070 position: absolute; 1071 inset: 0; 1072} 1073#page-rzpn .rzpn-pcard-shot img { 1074 display: block; 1075 width: 100%; 1076 height: 100%; 1077 object-fit: contain; 1078 transition: transform .35s cubic-bezier(.22,.61,.36,1); 1079} 1080#page-rzpn .rzpn-pcard:hover .rzpn-pcard-shot img { transform: scale(1.03); } 1081@media (prefers-reduced-motion: reduce) { 1082 #page-rzpn .rzpn-pcard-shot img { transition: none; } 1083} 1084/* Figma 889:14565: TASA Orbiter Display Medium 16/20, -0.32px, #000828. 1085 Was Inter Regular 16/24 â a different family, weight and leading. The 4px 1086 left inset is the artboard's (title x=68 against the card's x=64). */ 1087#page-rzpn .rzpn-pcard-title { 1088 margin: 16px 0 0 4px; 1089 font-family: var(--font-display); 1090 font-weight: 500; 1091 font-size: 15px; 1092 line-height: 20px; 1093 letter-spacing: -0.32px; 1094 color: #000828; 1095} 1096/* Figma 889:14568 â the Link component: Inter Medium in #0e54cc with a 4px 1097 gap and a 12px icon. 14px is the page's link size â .rzpn-agents-link and 1098 the section leads already sit here, so these come up to match rather than 1099 reading as fine print under 16/18px card titles. */ 1100#page-rzpn .rzpn-pcard-pill { 1101 margin: 12px 0 0 4px; 1102 align-self: flex-start; 1103 display: inline-flex; align-items: center; gap: 4px; 1104 padding: 0; border: 0; background: none; cursor: pointer; 1105 font-family: var(--font-body); 1106 font-weight: 500; font-size: 14px; line-height: 20px; 1107 letter-spacing: -0.182px; color: #0e54cc; 1108} 1109/* Masked so the glyph takes the link colour, rather than shipping a second 1110 blue copy of the same file. */ 1111#page-rzpn .rzpn-copy-ico { 1112 width: 12px; height: 12px; flex: none; 1113 background: currentColor; 1114 -webkit-mask: url('/static/docs-home/assets/copy.svg') center / contain no-repeat; 1115 mask: url('/static/docs-home/assets/copy.svg') center / contain no-repeat; 1116} 1117#page-rzpn .rzpn-pcard-pill:hover { color: #0a3f9c; } 1118#page-rzpn .rzpn-pcard-pill.is-copied { color: #128f5c; } 1119 1120/* ------------------------------------- developer tools + credentials ---- */ 1121/* Figma Vector 5045 at y=751 â 48px under the CTA baseline (y=703), with the 1122 Developer tools block at y=803. */ 1123#page-rzpn hr.rzpn-ai-rule { margin-top: 48px; }
1124/* Pill cards hug their content rather than sharing the row equally, so the 1125 row is left-packed and runs out before the gutter â that ragged right edge 1126 is the design, not a bug. */ 1127#page-rzpn .rzpn-devrow { margin-top: 52px; } 1128/* Label sits inline with the pills, not stacked above them â matches the 1129 "Integrate Razorpay using AI" row's own head+content layout above it. */ 1130#page-rzpn .rzpn-devtools { 1131 display: flex; align-items: center; flex-wrap: wrap; gap: 24px; 1132} 1133#page-rzpn .rzpn-devcards { 1134 display: flex; flex-wrap: wrap; align-items: flex-start; 1135 gap: 20px; 1136} 1137#page-rzpn .rzpn-devcard { 1138 flex: none; 1139 display: inline-flex; align-items: center; gap: 8px; 1140 padding: 12px 24px 12px 20px; 1141 border-radius: 58px; 1142 background: #ddefff; 1143 transition: background-color .18s var(--ease); 1144} 1145#page-rzpn .rzpn-devcard:hover { background: #c8e3ff; } 1146/* Same sprite the cards draw from â see .rzpn-dot-ico for why fill/stroke sit 1147 on the <svg> host rather than the <symbol>. */ 1148#page-rzpn .rzpn-devcard-ico { 1149 width: 20px; height: 20px; flex: none; 1150 color: #000828; 1151 fill: none; 1152 stroke: currentColor; 1153 stroke-width: 1.7; 1154 stroke-linecap: round; 1155 stroke-linejoin: round; 1156} 1157#page-rzpn .rzpn-devcard .rzpn-u { 1158 font-family: var(--font-display); 1159 font-weight: 500; font-size: 16px; line-height: 24px; 1160 letter-spacing: -0.32px; color: #000828; 1161 white-space: nowrap; 1162} 1163 1164#page-rzpn .rzpn-creds-row { display: flex; gap: 24px; margin-top: 20px; } 1165#page-rzpn .rzpn-cred { 1166 position: relative; flex: 1 1 0; min-width: 0; 1167 height: 108px; padding: 15.5px; 1168 border: .5px solid #e4e4e4; border-radius: 12px; 1169 background: #fff; 1170 box-shadow: 0 2px 4px rgba(80,168,212,.08); 1171 overflow: hidden; 1172 display: flex; flex-direction: column; justify-content: space-between; 1173} 1174/* The dotted texture bleeding out of the card's top-right corner. */ 1175#page-rzpn .rzpn-cred::after { 1176 content: ''; position: absolute; 1177 top: -35.5px; left: 50%; margin-left: -61px; 1178 width: 231px; height: 157px; 1179 background: url('/static/docs-home/assets/cred-noise.png') center / cover no-repeat; 1180 mix-blend-mode: hard-light; 1181 pointer-events: none; 1182} 1183#page-rzpn .rzpn-cred-label { 1184 position: relative; z-index: 1; 1185 font-family: var(--font-display); 1186 font-weight: 500; font-size: 14px; color: #292f32; 1187} 1188#page-rzpn .rzpn-cred-key { 1189 position: relative; z-index: 1; 1190 align-self: flex-start; 1191 display: inline-flex; align-items: center; gap: 12px; 1192 border: 0; background: none; padding: 0; cursor: pointer; 1193} 1194#page-rzpn .rzpn-cred-key code { 1195 font-family: var(--font-mono); font-size: 13px; line-height: 17px; color: #1566f1; 1196} 1197#page-rzpn .rzpn-cred-key img { display: block; opacity: .55; } 1198#page-rzpn .rzpn-cred-key:hover img { opacity: 1; } 1199 1200#page-rzpn .rzpn-link { 1201 display: inline-flex; align-items: center; gap: 4px; 1202 position: relative; z-index: 1; 1203 font-family: var(--font-body); 1204 /* 14px is the page's link size â the prompt-card pills sit here too. */ 1205 font-weight: 500; font-size: 14px; line-height: 20px; 1206 letter-spacing: -0.182px; color: #0e54cc; text-decoration: none; 1207} 1208#page-rzpn .rzpn-link img { display: block; } 1209#page-rzpn .rzpn-link:hover { text-decoration: underline; } 1210 1211/* ------------------------------------------------ section scaffolding --- */ 1212#page-rzpn .rzpn-section { background: #fff; } 1213/* The artboard draws these at full black; at 1px across a 1312px span that 1214 reads as a hard edge and competes with the headings, so they sit back. */ 1215#page-rzpn .rzpn-rule { height: 0; margin: 0; border: 0; border-top: 1px solid rgba(5,5,5,.14); } 1216#page-rzpn .rzpn-block { 1217 display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; 1218 margin-top: 32px; 1219} 1220#page-rzpn .rzpn-h2 { 1221 margin: 0; 1222 font-family: var(--font-display); 1223 font-weight: 400; font-size: 64px; line-height: 1.15; 1224 letter-spacing: -3.2px; color: #050505; 1225} 1226#page-rzpn .rzpn-block-aside { 1227 display: flex; flex-direction: column; align-items: flex-end; gap: 8px; 1228 width: 404px; flex: none; 1229} 1230#page-rzpn .rzpn-block-aside p { 1231 margin: 0; text-align: right; 1232 font-family: var(--font-body); 1233 font-size: 14px; line-height: 20px; letter-spacing: -0.182px; color: #4b5563; 1234} 1235 1236/* ------------------------------------------------------ payment steps --- */ 1237#page-rzpn .rzpn-steps-lead { 1238 margin: 36px 0 0; 1239 font-family: var(--font-body); 1240 font-size: 14px; line-height: 20px; letter-spacing: -0.182px; color: #616d75; 1241} 1242#page-rzpn .rzpn-steps { display: flex; flex-direction: column; gap: 32px; margin-top: 15px; } 1243#page-rzpn .rzpn-step { 1244 position: relative; 1245 isolation: isolate; 1246 border-radius: 12px; 1247 padding: 24px 24px 24px 22px; 1248 display: grid; 1249 grid-template-columns: 288px 1fr; 1250 gap: 24px; 1251 overflow: hidden; 1252} 1253/* Figma's Rectangle 1891601137 gradient, laid over the photo. */ 1254/* Figma's gradient fills on these windows carry a Noise fill on top â the 1255 exported rects measure a residual std of ~4.4 (cards) and ~3.2 (POS) after 1256 blurring, i.e. real per-pixel grain, near-monochrome (channel correlation 1257 0.93). Generated as a fixed-seed PNG rather than feTurbulence: that filter 1258 randomises the ALPHA channel as well as RGB, so its composited amplitude is 1259 not predictable, and a measured tile can be matched to Figma exactly. 1260 Tile is mean 128 / std 48; `overlay` is neutral at 128 so the grain adds no 1261 tonal shift, and 0.24 opacity lands the result at ~4.4 on a card. */ 1262#page-rzpn .rzpn-win-tint { 1263 position: absolute; 1264 inset: 0; 1265 pointer-events: none; 1266} 1267#page-rzpn .rzpn-win-tint::after {
1268 content: ''; 1269 position: absolute; 1270 inset: 0; 1271 background-image: url('/static/docs-home/assets/grain.png'); 1272 background-repeat: repeat; 1273 background-size: 256px 256px; 1274 mix-blend-mode: overlay; 1275 opacity: .24; 1276 border-radius: inherit; 1277} 1278 1279#page-rzpn .rzpn-step-tint { 1280 background: linear-gradient(183.64deg, rgba(132,175,250,.4) 25.575%, rgba(159,255,159,.08) 97.045%); 1281} 1282#page-rzpn .rzpn-step-label { 1283 position: relative; 1284 display: flex; flex-direction: column; 1285 font-family: var(--font-display); 1286 color: #9e9e9e; 1287 /* Blends against the row, so one grey reads on both the photo and the tint. */ 1288 mix-blend-mode: difference; 1289} 1290/* Difference blend is what makes the label read against both the photo and 1291 the gradient without a second colour token. */ 1292#page-rzpn .rzpn-step-num { font-size: 20px; line-height: 23px; letter-spacing: -1px; } 1293#page-rzpn .rzpn-step-name { font-size: 48px; line-height: 56px; letter-spacing: -2.4px; } 1294 1295#page-rzpn .rzpn-step-cards { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; } 1296 1297/* ------------------------------------------------------- generic card --- */ 1298#page-rzpn .rzpn-card { 1299 display: flex; flex-direction: column; gap: 8px; 1300 padding: 20px; 1301 border: .5px solid #e4e4e4; border-radius: 12px; 1302 background: #fff; 1303 box-shadow: 0 2px 4px rgba(80,168,212,.08); 1304} 1305/* Figma 889:14389 groups the title and body into one stack that sits 12px 1306 below the dot. Rather than wrapping the copy in every card, the card keeps 1307 the title-to-body gap and the dot carries the remaining 4px. */ 1308#page-rzpn .rzpn-card .rzpn-dot { margin-bottom: 4px; } 1309#page-rzpn .rzpn-card h3 { 1310 margin: 0; 1311 font-family: var(--font-display); 1312 font-weight: 500; font-size: 18px; line-height: 24px; 1313 letter-spacing: -0.18px; color: #292f32; 1314} 1315#page-rzpn .rzpn-card p { 1316 margin: 0; 1317 font-family: var(--font-body); 1318 font-weight: 400; font-size: 14px; line-height: 20px; 1319 letter-spacing: -0.182px; color: #616d75; 1320} 1321#page-rzpn .rzpn-dot { width: 40px; height: 40px; border-radius: 50%; background: #ddefff; flex: none; } 1322 1323/* ------------------------------------------------------------ POS ------- */ 1324#page-rzpn .rzpn-pos { 1325 position: relative; 1326 min-height: 474px; 1327 padding: 26px 0 0; 1328 display: grid; 1329 grid-template-columns: 1fr 1fr; 1330 align-items: start; 1331} 1332#page-rzpn .rzpn-pos-copy { position: relative; z-index: 2; } 1333#page-rzpn .rzpn-pos-sub { 1334 margin: 8px 0 0; 1335 font-family: var(--font-display); 1336 font-weight: 400; font-size: 28px; line-height: 34px; 1337 letter-spacing: -0.56px; color: #9aa3a9; 1338} 1339/* Bottom-aligns the aside with the mask's own bottom edge, on request, 1340 rather than centring it in the row. Percentage padding-top resolves 1341 against the containing block's WIDTH (the classic aspect-ratio padding 1342 hack) â so with height:0 this anchor's border-box bottom lands exactly 1343 at .rzpn-pos-window's bottom (top:70px + width-relative height, 45.96% * 1344 258/603 = 19.665%) at any viewport width, no JS needed. .rzpn-pos-aside is 1345 then an absolutely-positioned child of it, anchored to that edge. */ 1346#page-rzpn .rzpn-pos-aside-anchor { 1347 position: absolute; 1348 left: 0; top: 0; 1349 width: 100%; height: 0; 1350 padding-top: calc(70px + 19.665%); 1351 pointer-events: none; 1352} 1353#page-rzpn .rzpn-pos-aside { 1354 position: absolute; z-index: 2; 1355 bottom: 0; right: 0; 1356 pointer-events: auto; 1357 display: flex; flex-direction: column; gap: 12px; 1358 width: 266px; 1359} 1360#page-rzpn .rzpn-pos-aside p { 1361 margin: 0; 1362 font-family: var(--font-body); 1363 font-size: 14px; line-height: 20px; letter-spacing: -0.182px; color: #4b5563; 1364} 1365#page-rzpn .rzpn-pos-art { 1366 position: absolute; inset: 0; 1367 pointer-events: none; 1368 z-index: 1; 1369} 1370/* POS artwork (Figma 827:8785 + 827:8780). Coordinates are the artboard's, 1371 expressed as percentages of the 1312 content width so they hold as it 1372 scales: the v42 window is a wide landscape band (603x258) rather than the 1373 old portrait card; device at x=362 y=2139 (668x624), both measured from 1374 the section's top rule at y=2182. */ 1375#page-rzpn .rzpn-pos-window { 1376 position: absolute; 1377 left: 26.98%; 1378 top: 70px; 1379 width: 45.96%; 1380 aspect-ratio: 603 / 258; 1381 border-radius: 12px; 1382 overflow: hidden; 1383} 1384#page-rzpn .rzpn-pos-tint { 1385 background: linear-gradient(189.75deg, rgba(132,175,250,.4) 25.575%, rgba(159,255,159,.08) 97.045%); 1386} 1387#page-rzpn .rzpn-pos-device { 1388 position: absolute; 1389 left: 22.75%; 1390 /* The node sits at y=-43, but its PNG carries transparent padding (opaque 1391 from 13.5% to 87.2% of its height), which puts the visible device at 1392 41..501 and crosses the section's bottom rule at 474. Raised so the 1393 device reads inside the section, as it does in the reference frame. */ 1394 top: -78px; 1395 width: 50.95%; 1396 height: auto; 1397 display: block; 1398} 1399 1400/* ----------------------------------------------------- card grids ------- */ 1401/* Section gaps are the artboard's: dev-tools block ends 953 -> rule 1125, 1402 steps end 1990 -> rule 2182, rule 2656 -> Banking 2746, banking cards end 1403 3212 -> rule 3408, rule -> Partners 3452, partner cards end 3758 -> dark 3856. 1404 payments' own top gap (artboard 172px) is overridden to 52px on request, to 1405 match .rzpn-devrow's own margin-top above the dev-tools heading â the two 1406 gaps around that block now read as even. */ 1407#page-rzpn .rzpn-section--payments { padding-top: 52px; } 1408/* Doubled the base .rzpn-block margin-top (32px), then +16px more on request, 1409 for this section's own rule -> "Payments" heading gap only. */ 1410#page-rzpn .rzpn-section--payments .rzpn-block { margin-top: 80px; } 1411#page-rzpn .rzpn-section--pos { padding-top: 192px; } 1412/* Banking's padding-bottom is new: with none, the last row's :hover 1413 box-shadow had to render in the gap-before-the-rule space, which actually 1414 belongs to .rzpn-section--partners (its own padding-top) â a later 1415 sibling's opaque #fff background paints over anything sitting there, 1416 clipping the shadow with a hard edge. Moving 32px of that gap from 1417 Partners' padding-top to Banking's own padding-bottom keeps the rule's 1418 position and the total gap identical, but now the first 32px belongs to 1419 Banking's own box, painted before Partners, so the shadow has room to 1420 render unclipped. Partners' padding-bottom (the artboard's 98px cards -> 1421 dark-band gap) moves into its own box for the same reason â the agents 1422 band no longer carries a margin-top. */ 1423#page-rzpn .rzpn-section--banking { padding-top: 90px; padding-bottom: 32px; } 1424#page-rzpn .rzpn-section--partners { padding-top: 164px; padding-bottom: 98px; } 1425#page-rzpn .rzpn-section--banking .rzpn-block { margin-top: 0; } 1426#page-rzpn .rzpn-section--partners .rzpn-block { margin-top: 43px; } 1427#page-rzpn .rzpn-grid { 1428 position: relative; 1429 display: grid; 1430 grid-template-columns: repeat(4, 1fr); 1431 gap: 24px; 1432 margin-top: 48px; 1433} 1434#page-rzpn .rzpn-grid--green .rzpn-dot { background: #e6faf2; } 1435#page-rzpn .rzpn-grid--peach .rzpn-dot { background: #faf2e5; } 1436 1437/* --------------------------------------------------- build with agents -- 1438 Figma 955:21750. The band is 1440x423 on the artboard and every piece is 1439 placed against that box â the terminal has to sit at a fixed offset inside 1440 the punched photo window, which no flow layout reproduces â so the stage 1441 positions its parts absolutely. The band is taller than the 423px artboard, 1442 so every offset carries --rzpn-agents-lift, which recentres the composition 1443 without disturbing the artboard spacing between its pieces. The window is 1444 the tallest piece (256px, artboard y 89) and so is what gets centred â the 1445 artboard itself was 11px off centre. Below 1180px the band unwinds into a 1446 stack and the window re-anchors to the terminal. */ 1447#page-rzpn section.rzpn-agents { 1448 --rzpn-agents-tall: 480px; 1449 --rzpn-agents-lift: calc((var(--rzpn-agents-tall) - 434px) / 2); 1450 /* Same specificity as the `section:not(.rzpn-hero)` catch-all above (which 1451 also sets background), so cascade order â this rule comes later â is 1452 what makes the dark background win instead of white. */ 1453 background: #022929; 1454 /* No margin-top: Figma's own frame (955:21750) already puts the heading 1455 139px below the frame's top edge, and the 98px gap above the band now 1456 lives in Partners' own padding-bottom â carrying both doubled the gap. 1457 The dark background itself still needs to be an opaque box (not a
1458 margin) so the fixed ribbon artwork (.rzpn-art, z-index:0) can't show 1459 through between this section and the one above it. */ 1460} 1461#page-rzpn .rzpn-agents-stage { 1462 position: relative; 1463 max-width: var(--rzpn-max); 1464 height: var(--rzpn-agents-tall); 1465 margin: 0 auto; 1466 padding: 0 var(--rzpn-pad); 1467} 1468#page-rzpn .rzpn-agents-h { 1469 position: absolute; left: var(--rzpn-pad); top: calc(139px + var(--rzpn-agents-lift)); 1470 margin: 0; width: 292px; 1471 font-family: var(--font-display); 1472 font-weight: 400; font-size: 64px; line-height: 1.156; 1473 letter-spacing: -2.56px; color: #fff; 1474} 1475 1476/* Desktop: static, so the window and terminal inside resolve against the 1477 stage and keep their artboard coordinates. */ 1478#page-rzpn .rzpn-agents-panel { position: static; } 1479 1480#page-rzpn .rzpn-agents-term { 1481 position: absolute; top: calc(121px + var(--rzpn-agents-lift)); left: 50%; 1482 width: 521px; margin-left: -258px; 1483 border: 1px solid rgba(121,135,156,.18); 1484 border-radius: 12px; 1485 background: #0c3131; 1486 overflow: hidden; 1487} 1488#page-rzpn .rzpn-agents-term-head { 1489 display: flex; align-items: center; justify-content: space-between; 1490 padding: 13px 16px; 1491 border-bottom: 1px solid rgba(121,135,156,.18); 1492 background: rgba(255,255,255,.04); 1493} 1494#page-rzpn .rzpn-agents-term-head span { 1495 font-family: var(--font-mono); 1496 font-size: 11px; line-height: 14px; color: #fff; opacity: .8; 1497} 1498#page-rzpn .rzpn-agents-term-body { position: relative; padding: 16px; } 1499/* The blurred blob is exported with its blur padding baked in, so it is 1500 larger than its Figma box (338.97x264 at 91,18) by the blur radius. */ 1501#page-rzpn .rzpn-agents-glow { 1502 position: absolute; left: 50%; top: -102px; 1503 width: 578.97px; height: 504px; 1504 transform: translateX(-50%); 1505 pointer-events: none; 1506} 1507#page-rzpn .rzpn-agents-row { 1508 position: relative; 1509 display: flex; align-items: center; gap: 20px; 1510 padding-left: 8px; 1511} 1512#page-rzpn .rzpn-agents-cmdwrap { 1513 display: flex; align-items: center; gap: 16px; 1514 flex: 1; min-width: 0; 1515} 1516#page-rzpn .rzpn-agents-key { 1517 width: 36px; flex: none; 1518 font-family: var(--font-display); 1519 font-weight: 500; font-size: 14px; line-height: 16px; color: #fff; 1520} 1521#page-rzpn .rzpn-agents-cmd { 1522 flex: 1; min-width: 0; 1523 font-family: var(--font-mono); 1524 font-size: 12px; line-height: 18px; color: #c6f076; 1525 overflow-wrap: anywhere; 1526 /* Mintlify styles inline <code> as a grey pill (2px 8px padding, light 1527 background, 6px radius) on every page; the handoff has no such rule. 1528 The padding alone re-wraps the CLI command to a third line. */ 1529 padding: 0; 1530 background: none; 1531 border-radius: 0; 1532} 1533#page-rzpn .rzpn-agents-copy { 1534 display: inline-flex; align-items: center; gap: 4px; flex: none; 1535 height: 36px; padding: 0 16px 0 12px; 1536 border: 1px solid rgba(229,231,235,.1); border-radius: 8px; 1537 background: #fff; cursor: pointer; 1538 font-family: var(--font-display); 1539 font-weight: 600; font-size: 14px; line-height: 16px; color: #000; 1540} 1541#page-rzpn .rzpn-agents-copy:hover { background: #eef1f4; } 1542#page-rzpn .rzpn-agents-copy img { display: block; } 1543#page-rzpn .rzpn-agents-line { 1544 height: 0; margin: 19.5px 0; 1545 border: 0; border-top: 1px solid rgba(255,255,255,.1); 1546} 1547 1548#page-rzpn .rzpn-agents-aside { 1549 position: absolute; right: var(--rzpn-pad); top: calc(149px + var(--rzpn-agents-lift)); 1550 width: 174px; 1551 display: flex; flex-direction: column; align-items: flex-start; gap: 32px; 1552} 1553#page-rzpn .rzpn-agents-aside-item { 1554 display: flex; flex-direction: column; align-items: flex-start; gap: 8px; 1555} 1556#page-rzpn .rzpn-agents-aside p { 1557 margin: 0; 1558 font-family: var(--font-body); 1559 font-size: 14px; line-height: 20px; letter-spacing: -0.182px; 1560 color: #fff; text-align: left; 1561} 1562#page-rzpn .rzpn-agents-link { 1563 display: inline-flex; align-items: center; gap: 4px; 1564 font-family: var(--font-body); 1565 font-weight: 500; font-size: 14px; line-height: 20px; letter-spacing: -0.182px; 1566 color: #75a9ff; text-decoration: none; 1567} 1568#page-rzpn .rzpn-agents-link:hover { text-decoration: underline; } 1569/* Masked rather than <img> so the shared icons can carry the Blade link 1570 colour (interactive.text.primary.normal) on this dark surface. */ 1571#page-rzpn .rzpn-agents-ico { 1572 width: 16px; height: 16px; flex: none; 1573 background: #75a9ff; 1574 -webkit-mask: center / contain no-repeat; 1575 mask: center / contain no-repeat; 1576} 1577#page-rzpn .rzpn-agents-ico--arrow { 1578 -webkit-mask-image: url('/static/docs-home/assets/link-arrow.svg'); 1579 mask-image: url('/static/docs-home/assets/link-arrow.svg'); 1580} 1581#page-rzpn .rzpn-agents-ico--doc { 1582 -webkit-mask-image: url('/static/docs-home/assets/file-code.svg'); 1583 mask-image: url('/static/docs-home/assets/file-code.svg'); 1584} 1585 1586/* Below the artboard width the aside would collide with the terminal, so the 1587 band unwinds into a stack. The window re-anchors to the terminal itself and 1588 keeps the same 32px reveal above / 39px below that the punch-out gives. */ 1589#rzpn-home.rzpn-lte-1180 { 1590 #page-rzpn .rzpn-agents-stage { 1591 height: auto; 1592 display: flex; flex-direction: column; align-items: center; gap: 40px; 1593 padding-top: 72px; padding-bottom: 72px; 1594 } 1595 #page-rzpn .rzpn-agents-h, 1596 #page-rzpn .rzpn-agents-aside { position: static; width: 100%; max-width: 521px; } 1597 #page-rzpn .rzpn-agents-h { font-size: 48px; letter-spacing: -1.92px; } 1598 #page-rzpn .rzpn-agents-panel { position: relative; width: 100%; max-width: 521px; } 1599 #page-rzpn .rzpn-agents-term { position: relative; top: auto; left: auto; width: 100%; margin-left: 0; } 1600 #page-rzpn .rzpn-agents-aside { 1601 flex-direction: row; flex-wrap: wrap; align-items: flex-start; 1602 justify-content: space-between; gap: 32px; 1603 } 1604} 1605#rzpn-home.rzpn-lte-620 { 1606 #page-rzpn .rzpn-agents-h { font-size: 40px; letter-spacing: -1.6px; } 1607 /* The row turns into a stacked block â label over command â with the copy 1608 control reduced to a square icon button held at the right, centred against 1609 the whole block. Side by side the label ate a third of the width and the 1610 command wrapped to four lines; the button's label went with it. */ 1611 #page-rzpn .rzpn-agents-row { flex-wrap: nowrap; padding-left: 0; gap: 16px; align-items: center; } 1612 #page-rzpn .rzpn-agents-cmdwrap { 1613 flex-direction: column; align-items: flex-start; gap: 6px; 1614 flex: 1; min-width: 0; 1615 } 1616 #page-rzpn .rzpn-agents-key { width: auto; line-height: 18px; } 1617 #page-rzpn .rzpn-agents-copy { 1618 width: 44px; height: 44px; flex: none; 1619 padding: 0; justify-content: center; 1620 border-radius: 12px; 1621 } 1622 /* Icon only. The label is what the copy script flips to "Copied", so the 1623 button tints instead â otherwise the tap has no feedback at all. */ 1624 #page-rzpn .rzpn-agents-copy [data-rzpn-copy-label] { display: none; } 1625 #page-rzpn .rzpn-agents-copy.is-copied { background: #c6f076; } 1626} 1627 1628/* ---------------------------------------------------------- responsive -- */ 1629#rzpn-home.rzpn-lte-1280 {
1630 #page-rzpn { --rzpn-pad: 40px; } 1631 #page-rzpn .rzpn-nav-meta { display: none; } 1632 #page-rzpn .rzpn-ai-cards { grid-template-columns: repeat(3, 1fr); } 1633 #page-rzpn .rzpn-devrow { padding-bottom: 96px; } 1634 #page-rzpn .rzpn-devcards { gap: 16px; } 1635} 1636#rzpn-home.rzpn-lte-1129 { 1637 #page-rzpn .rzpn-nav-links a.rzpn-nav-overflow { display: none; } 1638 #page-rzpn .rzpn-nav-more { display: flex; } 1639} 1640#rzpn-home.rzpn-lte-900 { 1641 #page-rzpn { --rzpn-pad: 20px; overflow-x: hidden; } 1642 /* The section rhythm is the 1440 artboard's â 171/192/196px of air above 1643 each rule. At phone widths that reads as the page having ended. Scaled 1644 down together so the spacing stays even between sections. */ 1645 #page-rzpn .rzpn-devrow { padding-bottom: 48px; } 1646 /* Inline label+pills only reads at desktop widths â a 6-pill row next to a 1647 24px heading has nowhere to go on a phone, so this drops back to the 1648 stacked layout (label above, pills below). */ 1649 #page-rzpn .rzpn-devtools { 1650 flex-direction: column; align-items: flex-start; gap: 16px; 1651 } 1652 #page-rzpn .rzpn-section--payments { padding-top: 64px; } 1653 #page-rzpn .rzpn-section--pos { padding-top: 64px; } 1654 #page-rzpn .rzpn-section--banking { padding-top: 48px; } 1655 #page-rzpn .rzpn-section--partners { padding-top: 64px; padding-bottom: 64px; } 1656 #page-rzpn .rzpn-agents { margin-top: 0; } 1657 /* The nav is a single non-wrapping row at desktop widths; below that it 1658 collapses to logo + search + assistant + burger so it can't force a 1659 sideways scroll (which would also drag the photo layer out of register). 1660 Everything it drops moves into the burger's panel. */ 1661 #page-rzpn .rzpn-nav { gap: 12px; padding: 0 12px; } 1662 #page-rzpn .rzpn-nav-links, 1663 #page-rzpn .rzpn-nav-icobtn, 1664 #page-rzpn .rzpn-nav-meta { display: none; } 1665 #page-rzpn .rzpn-nav-prefs { gap: 8px; } 1666 #page-rzpn .rzpn-nav-assistant { padding: 8px 10px; font-size: 13px; } 1667 #page-rzpn .rzpn-nav-burger { 1668 display: inline-flex; align-items: center; justify-content: center; 1669 width: 36px; height: 36px; padding: 0; 1670 border: 1px solid #c8cdd0; border-radius: 8px; 1671 background: #fff; color: #616d75; cursor: pointer; 1672 } 1673 #page-rzpn .rzpn-nav-burger:hover { border-color: #9aa3a9; } 1674 /* Drop the fixed ratio so the title and pill are never clipped. */ 1675 #page-rzpn .rzpn-pcard { aspect-ratio: auto; } 1676 #page-rzpn .rzpn-pcard-media { aspect-ratio: 242 / 182; } 1677 #page-rzpn .rzpn-hero { height: 320px; } 1678 #page-rzpn .rzpn-hero-h1 { font-size: 48px; top: 108px; } 1679 #page-rzpn .rzpn-ask { top: 200px; height: 60px; } 1680 #page-rzpn .rzpn-h2 { font-size: 40px; letter-spacing: -2px; } 1681 /* 01/Build and friends are a step label, not a section heading â at desktop 1682 the 48px reads as a caption beside 64px headings, but once .rzpn-h2 comes 1683 down to 40px it outranks them. */ 1684 #page-rzpn .rzpn-step-num { font-size: 14px; line-height: 18px; letter-spacing: -0.7px; } 1685 #page-rzpn .rzpn-step-name { font-size: 28px; line-height: 34px; letter-spacing: -1.4px; } 1686 #page-rzpn .rzpn-block { flex-direction: column; align-items: flex-start; gap: 16px; } 1687 #page-rzpn .rzpn-block-aside { width: 100%; align-items: flex-start; } 1688 #page-rzpn .rzpn-block-aside p { text-align: left; } 1689 #page-rzpn .rzpn-ai-cards { grid-template-columns: repeat(2, 1fr); } 1690 #page-rzpn .rzpn-step { grid-template-columns: 1fr; } 1691 #page-rzpn .rzpn-step-cards { grid-template-columns: 1fr; } 1692 #page-rzpn .rzpn-grid { grid-template-columns: repeat(2, 1fr); } 1693 /* padding-bottom added: stacked, .rzpn-pos-aside (the "Know more" link) is 1694 the last thing in this grid and had nothing after it but its own 1695 content â the closing <hr> sat flush against the link's own bottom 1696 edge (0px gap). 48px matches the gap the AI cards use before their own 1697 divider above. */ 1698 #page-rzpn .rzpn-pos { grid-template-columns: 1fr; min-height: 0; padding-bottom: 48px; } 1699 /* The artwork is absolutely placed against a two-column section that no 1700 longer exists here, so it becomes a block of its own between the copy and 1701 the aside. It breaks out of the page gutter to sit 24px from each screen 1702 edge, and everything inside is a percentage of that box rather than a 1703 fixed px size â so the device fills the width at any phone, and the window 1704 and the offsets keep their artboard ratios (367:668 wide, 117px apart) 1705 while they scale. */ 1706 #page-rzpn .rzpn-pos-art { 1707 position: relative; inset: auto; 1708 display: block; 1709 height: auto; 1710 aspect-ratio: 327 / 262;
1711 margin: 28px calc(24px - var(--rzpn-pad)) 0; 1712 } 1713 #page-rzpn .rzpn-pos-window { 1714 left: 50%; margin-left: 0; transform: translateX(-50%); 1715 top: 15.27%; /* 40 / 262 */ 1716 width: 55.05%; /* 367 / 668 */ 1717 } 1718 /* The device sits 11px left of the window's centre on the artboard â 3.35% 1719 of its own width, which survives the scaling. */ 1720 #page-rzpn .rzpn-pos-device { 1721 left: 50%; margin-left: 0; 1722 transform: translateX(-53.35%); 1723 top: -6.49%; /* -17 / 262 */ 1724 width: 100%; 1725 } 1726 #page-rzpn .rzpn-pos-aside-anchor { position: static; height: auto; padding-top: 0; } 1727 #page-rzpn .rzpn-pos-aside { position: static; justify-self: start; margin-top: 32px; width: 100%; } 1728} 1729 1730/* ------------------------------------------------------------ mweb ------ */ 1731#rzpn-home.rzpn-lte-600 { 1732 #page-rzpn .rzpn-grid { grid-template-columns: 1fr; gap: 16px; } 1733 #page-rzpn .rzpn-creds-row { flex-direction: column; gap: 16px; } 1734 #page-rzpn .rzpn-cred { height: auto; min-height: 96px; gap: 20px; } 1735 1736 /* Developer tools divider spacing: the gap above the top divider (AI cards 1737 -> divider, 48px) didn't match the gap below it (divider -> "Developer 1738 tools" heading, 52px from .rzpn-devrow's own margin-top) â brought down 1739 to 48 to match. The gap below the cards (before the Payments divider) was 1740 112px â .rzpn-devrow's own 48px padding-bottom PLUS the payments 1741 section's 64px padding-top stacking. Zeroing the latter for specifically 1742 this pair of sections leaves devrow's own 48px as the only source, so all 1743 three gaps read as the same 48px. */ 1744 #page-rzpn .rzpn-devrow { margin-top: 48px; } 1745 #page-rzpn .rzpn-ai + .rzpn-section--payments { padding-top: 0; } 1746 1747 /* The POS window (the rounded highlight behind the device) was 55.05% of 1748 its already-inset .rzpn-pos-art box, reading as a small cutout adrift in 1749 the middle of the card rather than a band that fills the same 1750 horizontal space as the rest of the page's content. Full width of its 1751 container instead, edge to edge with the page's own gutter. */ 1752 #page-rzpn .rzpn-pos-window { 1753 left: 0; margin-left: 0; transform: none; 1754 width: 100%; 1755 } 1756 1757 /* Stacked, a card is wide enough to read as a row, so it takes the 1758 affordance a row carries: a chevron in the top-right corner. Drawn as a 1759 mask over the shared chevron asset so it inherits the card's ink. */ 1760 #page-rzpn .rzpn-grid .rzpn-card { position: relative; padding-right: 44px; } 1761 #page-rzpn .rzpn-grid .rzpn-card::after { 1762 content: ''; 1763 position: absolute; top: 29px; right: 20px; 1764 /* The asset is preserveAspectRatio="none", so the box has to carry the 1765 glyph's own 5.92:10.36 ratio or the chevron stretches. */ 1766 width: 8px; height: 14px; 1767 background: #9aa3a9; 1768 -webkit-mask: url('/static/docs-home/assets/chevron-right.svg') center / 8px 14px no-repeat; 1769 mask: url('/static/docs-home/assets/chevron-right.svg') center / 8px 14px no-repeat; 1770 } 1771 1772 /* The ribbon artwork is one fixed 1440x448 stage, scaled as a single group 1773 via transform rather than resizing each piece â transform-origin: top 1774 center (set unconditionally in the base rule) keeps the composition 1775 anchored, just 40% smaller as a whole. margin-left is nudged +24px (from 1776 the desktop -688px) to shift the scaled composition 24px right. */ 1777 #page-rzpn .rzpn-art { transform: scale(0.6); margin-left: -664px; } 1778 1779 /* The ask bar was sized for a 636px field; at phone widths the placeholder 1780 ran past the arrow, so type, icons and the box all come down together. */ 1781 #page-rzpn .rzpn-hero { height: 300px; } 1782 #page-rzpn .rzpn-hero-h1 { font-size: 40px; top: 100px; } 1783 #page-rzpn .rzpn-ask { 1784 top: 176px; 1785 height: 52px; 1786 gap: 8px; 1787 padding: 0 12px 0 14px; 1788 border-radius: 10px; 1789 } 1790 #page-rzpn .rzpn-ask-spark { width: 18px; height: 18px; } 1791 #page-rzpn .rzpn-ask-input, 1792 #page-rzpn .rzpn-ask-ph { font-size: 15px; letter-spacing: -0.3px; } 1793 #page-rzpn .rzpn-ask-go img, 1794 #page-rzpn .rzpn-ask-go svg { width: 22px; height: 22px; } 1795 1796} 1797#rzpn-home.rzpn-lte-420 { 1798 #page-rzpn .rzpn-nav-assistant span { display: none; } 1799 #page-rzpn .rzpn-nav-assistant { padding: 8px; } 1800} 1801 1802 1803/* ---------------------------------------------------- v41 light / dark --- 1804 Toggled from the sun/moon control in the top nav (see the v41 theme IIFE), 1805 which sets data-theme on the page. Overrides are grouped here rather than 1806 tokenising all ~200 v41 rules: the light theme stays the default and dark 1807 restates only the surfaces, text and borders that actually flip. The hero 1808 photo, its white glyph field and the always-dark "Integrate in minutes" 1809 section read correctly in both, so they are left alone. */ 1810/* Segmented theme control, now in the footer. Icons are masks so they take 1811 currentColor and follow the selected/dark states without extra files. */ 1812 1813 1814/* --- surfaces ------------------------------------------------------------ */ 1815 1816 1817/* --- nav ----------------------------------------------------------------- */ 1818 1819 1820/* The wordmark is dark-on-light artwork. A plain invert turns its blue mark 1821 yellow, so knock it to a white silhouette instead â the usual dark-mode 1822 treatment when there is no white lockup to swap in. */ 1823 1824/* Only the greyscale glyphs get inverted. */ 1825 1826/* Two of the three agent marks are solid black; the third is coral and would 1827 go teal if inverted, so it is left as it is. */ 1828 1829 1830/* --- headings and body --------------------------------------------------- */ 1831 1832 1833/* --- cards, chips, credentials ------------------------------------------- */ 1834 1835
1836/* --- prompt cards -------------------------------------------------------- */ 1837 1838/* The asset plates read as blank UI, so they follow the surface, not paper. */ 1839 1840/* The veil lightens the photo for light type; in dark it has to darken it. */ 1841 1842 1843/* --- hero ask bar -------------------------------------------------------- */ 1844 1845 1846/* Left uninverted on purpose: the arrow is brand blue and the spark is 1847 green â both read fine on the dark bar, and inverting turned them yellow. */ 1848 1849/* The credential cards' dotted texture is a hard-light overlay tuned for a 1850 white card; on a dark one it blows out to a bright patch. */ 1851 1852 1853/* ------------------------------------------- v41 card icons + hover ------ 1854 The circles are empty placeholders in the artboard, so these glyphs are 1855 authored rather than exported â a plain 1.5px stroke set matching the nav 1856 icons. Swap them for the real set when it exists. Drawn as one inline 1857 <symbol> sprite so 20 cards cost no extra requests, and stroked in 1858 currentColor so each section can tint its own. */ 1859#page-rzpn .rzpn-icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; } 1860#page-rzpn .rzpn-dot { display: grid; place-items: center; } 1861/* fill/stroke live on the <svg> host, not the <symbol>: a rule matching the 1862 symbol in the source tree never reaches the cloned <use> shadow content, so 1863 the paths rendered filled-black. These are inherited SVG properties, so 1864 setting them here does carry through. */ 1865#page-rzpn .rzpn-dot-ico { 1866 /* 17/32 of the old 32px dot, kept proportional on the new 40px size. */ 1867 width: 21.25px; height: 21.25px; 1868 color: #2f5bbd; 1869 fill: none; 1870 stroke: currentColor; 1871 stroke-width: 1.8; 1872 stroke-linecap: round; 1873 stroke-linejoin: round; 1874} 1875#page-rzpn .rzpn-grid--green .rzpn-dot-ico { color: #2f7d55; } 1876#page-rzpn .rzpn-grid--peach .rzpn-dot-ico { color: #a86427; } 1877 1878/* Clickable affordance: a dotted underline at rest says "this goes somewhere", 1879 and the card lifts on hover. */ 1880#page-rzpn .rzpn-card { 1881 cursor: pointer; 1882 transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; 1883} 1884/* Hover-only underline that wipes in left-to-right. text-decoration cannot 1885 animate its extent, so the rule is a repeating-gradient background on an 1886 inline span whose background-size grows 0 -> 100%. `box-decoration-break: 1887 clone` gives each wrapped line its own background box, so two-line titles 1888 get a full underline on both lines rather than one line spanning the block. */ 1889#page-rzpn .rzpn-card h3, 1890#page-rzpn .rzpn-pcard-title { text-decoration: none; } 1891#page-rzpn .rzpn-u { 1892 --rzpn-u-col: #4b5563; 1893 background-image: repeating-linear-gradient(to right, 1894 var(--rzpn-u-col) 0 1.5px, transparent 1.5px 4px); 1895 background-repeat: no-repeat; 1896 background-position: 0 100%; 1897 background-size: 0% 1px; 1898 padding-bottom: 3px; 1899 -webkit-box-decoration-break: clone; 1900 box-decoration-break: clone; 1901 transition: background-size .18s cubic-bezier(.4, 0, .2, 1); 1902}
1903/* The whole prompt card is the trigger, so hovering the masked image fires it 1904 too â not just the title. */ 1905#page-rzpn .rzpn-card:hover h3 .rzpn-u, 1906#page-rzpn .rzpn-devcard:hover .rzpn-u, 1907#page-rzpn .rzpn-pcard:hover .rzpn-u { background-size: 100% 1px; } 1908#page-rzpn .rzpn-pcard { cursor: pointer; } 1909/* The title link stretches over the whole prompt card so the artwork and the 1910 title both navigate; the Copy prompt pill sits above the overlay so it keeps 1911 copying instead of following the link. The link must stay static â the theme 1912 positions anchors, which would trap the ::after inside the title's line box. */ 1913#page-rzpn .rzpn-pcard-link { position: static; } 1914#page-rzpn .rzpn-pcard-link::after { content: ""; position: absolute; inset: 0; } 1915#page-rzpn .rzpn-pcard-pill { position: relative; z-index: 1; } 1916@media (prefers-reduced-motion: reduce) { 1917 #page-rzpn .rzpn-u { transition-duration: .01ms; } 1918} 1919#page-rzpn .rzpn-card:hover { 1920 transform: translateY(-2px); 1921 box-shadow: 0 8px 20px rgba(80,168,212,.18); 1922 border-color: #d2d8dd; 1923} 1924 1925 1926/* dark mode */ 1927 1928 1929/* ------------------------------------------------------- v41 footer ----- 1930 Sign-off band: the page's own meadow photo full-bleed, carrying an 1931 oversized Razorpay Docs lockup, with the link columns on white beneath. 1932 The lockup reuses the nav's two SVGs knocked to white â same treatment as 1933 the dark-mode nav, since there is no white lockup asset to swap in. */ 1934#page-rzpn-scope { } 1935/* The footer is a sibling of #page-rzpn, so the "sections scroll over the 1936 fixed artwork" rule in the hero block can't reach it â same stacking fix 1937 applied here directly. */ 1938.rzpn-footer { position: relative; z-index: 1; background: #fff; } 1939/* The lockup used to sit on a full-bleed band of the shared photo. That band 1940 is gone; it now heads the About column at nav scale, in its own ink. */ 1941.rzpn-foot-lockup { display: flex; align-items: center; gap: 10px; } 1942.rzpn-foot-logo { display: block; height: 26px; width: auto; } 1943.rzpn-foot-docs { display: block; height: 17px; width: auto; } 1944 1945.rzpn-foot-body { 1946 max-width: 1440px; 1947 margin: 0 auto; 1948 padding: 72px 64px 40px; 1949} 1950.rzpn-foot-cols { 1951 display: grid; 1952 grid-template-columns: 1.35fr 1fr 1fr 1fr; 1953 gap: 48px; 1954} 1955/* razorpay.com stacks several groups inside each column rather than giving 1956 every group its own column â same here, two per column. */ 1957.rzpn-foot-col { display: flex; flex-direction: column; gap: 40px; } 1958.rzpn-foot-about { display: flex; flex-direction: column; gap: 24px; } 1959 1960.rzpn-foot-legalese { display: flex; flex-direction: column; gap: 4px; } 1961 1962.rzpn-foot-blurb { 1963 margin: 0; 1964 max-width: 380px; 1965 font-family: var(--font-body); 1966 font-size: 15px; line-height: 26px; letter-spacing: -0.2px; color: #4b5563; 1967} 1968.rzpn-foot-links { display: flex; flex-direction: column; gap: 14px; } 1969.rzpn-foot-col-title { 1970 margin: 0 0 2px; 1971 font-family: var(--font-body); 1972 font-weight: 700; font-size: 12px; line-height: 16px; 1973 letter-spacing: .06em; text-transform: uppercase; color: #050505; 1974} 1975/* #rzpn-home prefix for specificity: the page reset `#rzpn-home a 1976 { color: inherit }` (1,0,1) outranks a bare `.rzpn-foot-links a` (0,1,1), 1977 so without it every footer anchor inherits the page's --ink instead. */ 1978#rzpn-home .rzpn-foot-links a { 1979 font-family: var(--font-body); 1980 font-size: 15px; line-height: 20px; letter-spacing: -0.2px; 1981 color: #3f4a55; text-decoration: none; 1982} 1983#rzpn-home .rzpn-foot-links a:hover { color: #0e54cc; } 1984 1985.rzpn-foot-bottom { 1986 margin-top: 64px; 1987 padding-top: 22px; 1988 border-top: 1px solid #e4e7ea; 1989 display: flex; align-items: center; justify-content: space-between; gap: 24px; 1990} 1991.rzpn-foot-bottom p { 1992 margin: 0; 1993 font-family: var(--font-body); 1994 font-size: 14px; line-height: 20px; letter-spacing: -0.18px; color: #7d868e; 1995} 1996/* The RBI legalese drops below the shared bottom-bar text â smaller and 1997 lighter. #rzpn-home prefix so this beats `.rzpn-foot-bottom p` above 1998 (v42 reaches for !important instead; the id scope does the same job). */ 1999#rzpn-home .rzpn-foot-rbi { font-size: 13px; color: #9aa3ab; } 2000.rzpn-foot-legal { display: flex; gap: 28px; } 2001/* Same specificity story as .rzpn-foot-links a above. */ 2002#rzpn-home .rzpn-foot-legal a { 2003 font-family: var(--font-body); 2004 font-size: 14px; line-height: 20px; letter-spacing: -0.18px; 2005 color: #7d868e; text-decoration: none; 2006} 2007#rzpn-home .rzpn-foot-legal a:hover { color: #0e54cc; } 2008 2009/* dark mode follows the page's theme attribute, which lives on #page-rzpn */ 2010 2011 2012#rzpn-home.rzpn-lte-1280 { 2013 .rzpn-foot-body { padding-left: 40px; padding-right: 40px; } 2014} 2015#rzpn-home.rzpn-lte-900 { 2016 .rzpn-foot-body { padding-left: 20px; padding-right: 20px; } 2017 .rzpn-foot-cols { grid-template-columns: 1fr 1fr; gap: 32px; } 2018 .rzpn-foot-about { grid-column: 1 / -1; } 2019 .rzpn-foot-body { padding-top: 44px; } 2020 .rzpn-foot-bottom { flex-direction: column; align-items: flex-start; gap: 14px; } 2021} 2022</style><!--$--><!--/$--><div class="flex flex-row-reverse gap-12 box-border w-full pt-[calc(10rem+var(--banner-height,2.5rem))] lg:pt-10"><div class="hidden xl:flex self-start sticky xl:flex-col max-w-[28rem] z-21 h-[calc(100vh-9.5rem)] top-[9.5rem] [[data-banner-state=visible]_&]:h-[calc(100vh-12rem)] [[data-banner-state=visible]_&]:top-[12rem]" id="content-side-layout"><div class="z-10 hidden xl:flex box-border max-h-full pl-10 w-[19rem]" id="table-of-contents-layout"><div role="presentation" style="position:relative;--scroll-area-corner-height:0px;--scroll-area-corner-width:0px" data-component-part="scroll-area" id="table-of-contents" class="min-w-0 text-gray-600 text-sm leading-6 w-[16.5rem] -mt-10"><div role="presentation" data-id="base-ui-_R_1dktbsnlhjiuqsnpfiutb_-viewport" tabindex="-1" class="size-full rounded-[inherit] [--scroll-area-fade-size:32px] pt-10 pb-4 base-ui-disable-scrollbar" style="overflow:scroll" data-component-part="scroll-area-viewport"><div role="presentation" style="min-width:fit-content" data-component-part="scroll-area-content"
2022class="min-w-0! w-full space-y-2"><nav aria-labelledby="_R_dktbsnlhjiuqsnpfiutb_"><h2 id="_R_dktbsnlhjiuqsnpfiutb_" class="m-0 font-normal"><button type="button" class="text-gray-700 dark:text-gray-300 font-medium flex items-center space-x-2 hover:text-gray-900 dark:hover:text-gray-100 transition-colors cursor-pointer"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-3 shrink-0"><path d="M2.75 14.25H15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.75 3.75H15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.75 9H8.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><span>On this page</span></button></h2><div><ul id="table-of-contents-content" class="toc"><li class="toc-item relative" data-depth="0"><a style="--toc-padding-left:0rem" href="#api-gateway-url" class="break-words py-1 block pl-[calc(var(--toc-padding-left)+var(--toc-focus-padding,0rem))] focus-visible:[--toc-focus-padding:0.25rem] focus-visible:-ml-1 focus-visible:-outline-offset-2 font-medium dark:text-gray-400 [li:not([data-active])>&:hover]:text-gray-900 dark:[li:not([data-active])>&:hover]:text-gray-300 [[data-active]>&]:text-primary dark:[[data-active]>&]:text-primary-light [[data-active]>&]:[text-shadow:-0.15px_0_0_currentColor,0.15px_0_0_currentColor]">API Gateway URL</a><ul class=""><li class="toc-item relative" data-depth="1"><a style="--toc-padding-left:1rem" href="#related-information" class="group flex items-start break-words py-1 pl-[calc(var(--toc-padding-left)+var(--toc-focus-padding,0rem))] whitespace-pre-wrap focus-visible:[--toc-focus-padding:0.25rem] focus-visible:-ml-1 focus-visible:-outline-offset-2 text-gray-500 [li:not([data-active])>&:hover]:text-gray-900 dark:text-gray-400 dark:[li:not([data-active])>&:hover]:text-gray-300 [[data-active]>&]:text-primary dark:[[data-active]>&]:text-primary-light">Related Information</a></li></ul></li></ul></div></nav></div></div></div></div></div><div class="relative grow box-border flex-col w-full mx-auto px-1 lg:pl-[5.7rem] lg:-ml-12 xl:w-[calc(100%-28rem)]" id="content-area"><header id="header" class="relative leading-none @container/page-header"><div class="mt-0.5 space-y-2.5"><div class="eyebrow h-5 text-primary dark:text-primary-light text-sm font-semibold">Introduction</div><div class="flex flex-col sm:flex-row items-start sm:items-center relative gap-2 min-w-0"><h1 id="page-title" class="text-3xl sm:text-4xl text-gray-900 tracking-tight dark:text-gray-200 [overflow-wrap:anywhere] font-semibold">API Reference Guide</h1><div id="page-context-menu" class="items-center shrink-0 min-w-[156px] justify-end ml-auto hidden @[520px]/page-header:flex"><button id="page-context-menu-button" class="rounded-l-xl px-3 text-gray-700 dark:text-gray-300 py-1.5 border border-gray-200 dark:border-white/[0.07] bg-background-light dark:bg-background-dark hover:bg-gray-600/5 dark:hover:bg-gray-200/5 border-r-0" aria-label="Copy page"><div class="flex items-center gap-2 text-sm text-center font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4 shrink-0"><path d="M14.25 5.25H7.25C6.14543 5.25 5.25 6.14543 5.25 7.25V14.25C5.25 15.3546 6.14543 16.25 7.25 16.25H14.25C15.3546 16.25 16.25 15.3546 16.25 14.25V7.25C16.25 6.14543 15.3546 5.25 14.25 5.25Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.80103 11.998L1.77203 5.07397C1.61003 3.98097 2.36403 2.96397 3.45603 2.80197L10.38 1.77297C11.313 1.63397 12.19 2.16297 12.528 3.00097" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><span class="grid"><span aria-hidden="true" class="invisible col-start-1 row-start-1">Copy page</span><span class="col-start-1 row-start-1">Copy page</span></span></div></button><button type="button" tabindex="0" aria-haspopup="menu" aria-expanded="false" id="base-ui-_R_3dohlktbsnlhjiuqsnpfiutb_" aria-label="More actions" class="group disabled:pointer-events-none [&>span]:line-clamp-1 overflow-hidden group focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-primary dark:focus-visible:outline-primary-light py-0.5 gap-1 text-sm text-gray-950/50 dark:text-white/50 group-hover:text-gray-950/70 dark:group-hover:text-white/70 rounded-none rounded-r-xl border flex items-center justify-center h-[34px] border-gray-200 aspect-square dark:border-white/[0.07] bg-background-light dark:bg-background-dark hover:bg-gray-600/5 dark:hover:bg-gray-200/5"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 rotate-90"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div><div class="mt-2 text-lg prose prose-gray dark:prose-invert [&>*]:[overflow-wrap:anywhere]"><p>Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.</p></div><div id="page-context-menu" class="flex items-center shrink-0 min-w-[156px] mt-3 @[520px]/page-header:hidden"><button id="page-context-menu-button" class="rounded-l-xl px-3 text-gray-700 dark:text-gray-300 py-1.5 border border-gray-200 dark:border-white/[0.07] bg-background-light dark:bg-background-dark hover:bg-gray-600/5 dark:hover:bg-gray-200/5 border-r-0" aria-label="Copy page"><div class="flex items-center gap-2 text-sm text-center font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4 shrink-0"><path d="M14.25 5.25H7.25C6.14543 5.25 5.25 6.14543 5.25 7.25V14.25C5.25 15.3546 6.14543 16.25 7.25 16.25H14.25C15.3546 16.25 16.25 15.3546 16.25 14.25V7.25C16.25 6.14543 15.3546 5.25 14.25 5.25Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.80103 11.998L1.77203 5.07397C1.61003 3.98097 2.36403 2.96397 3.45603 2.80197L10.38 1.77297C11.313
20221.63397 12.19 2.16297 12.528 3.00097" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><span class="grid"><span aria-hidden="true" class="invisible col-start-1 row-start-1">Copy page</span><span class="col-start-1 row-start-1">Copy page</span></span></div></button><button type="button" tabindex="0" aria-haspopup="menu" aria-expanded="false" id="base-ui-_R_6phlktbsnlhjiuqsnpfiutb_" aria-label="More actions" class="group disabled:pointer-events-none [&>span]:line-clamp-1 overflow-hidden group focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-primary dark:focus-visible:outline-primary-light py-0.5 gap-1 text-sm text-gray-950/50 dark:text-white/50 group-hover:text-gray-950/70 dark:group-hover:text-white/70 rounded-none rounded-r-xl border flex items-center justify-center h-[34px] border-gray-200 aspect-square dark:border-white/[0.07] bg-background-light dark:bg-background-dark hover:bg-gray-600/5 dark:hover:bg-gray-200/5"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 rotate-90"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></header><div class="mdx-content @container/columns-container relative mt-8 prose prose-gray dark:prose-invert [contain:inline-size] isolate empty:hidden mb-14" data-page-title="API Reference Guide" data-page-href="/docs/api" id="content"><div style="display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem 0.9rem;border:1px solid rgba(128,128,128,0.28);border-radius:0.5rem;padding:0.45rem 0.75rem;margin:0 0 1.25rem;font-size:0.875rem"><span style="font-weight:600">Available in</span><span>ð®ð³ India</span><span>ð²ð¾ Malaysia</span><span>ð¸ð¬ Singapore</span><span>ðºð¸ United States</span></div> 2023<span data-as="p">Razorpay APIs are completely RESTful, and all our responses are returned in JSON.</span> 2024<div role="note" aria-label="Info" class="callout my-4 px-5 py-4 overflow-hidden rounded-2xl flex gap-3 border border-neutral-200 bg-neutral-50 dark:border-neutral-700 dark:bg-white/10" data-callout-type="info"><div class="mt-0.5 w-4" data-component-part="callout-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="flex-none size-5 text-neutral-800 dark:text-neutral-300"><path d="M 7.2 0 C 3.2231 0 0 3.2231 0 7.2 C 0 11.1768 3.2231 14.4 7.2 14.4 C 11.1768 14.4 14.4 11.1768 14.4 7.2 C 14.4 3.2231 11.1768 0 7.2 0 Z M 7.2 13.05 C 3.9741 13.05 1.35 10.4257 1.35 7.2 C 1.35 3.9743 3.9741 1.35 7.2 1.35 C 10.426 1.35 13.05 3.9743 13.05 7.2 C 13.05 10.4257 10.426 13.05 7.2 13.05 Z M 8.325 9.45 H 7.875 V 6.975 C 7.875 6.6038 7.5741 6.3 7.2 6.3 H 6.3 C 5.9288 6.3 5.625 6.6038 5.625 6.975 C 5.625 7.3462 5.9288 7.65 6.3 7.65 H 6.525 V 9.45 H 6.075 C 5.7038 9.45 5.4 9.7538 5.4 10.125 C 5.4 10.4962 5.7038 10.8 6.075 10.8 H 8.325 C 8.6977 10.8 9 10.4977 9 10.125 C 9 9.7523 8.6991 9.45 8.325 9.45 Z M 7.2 5.4 C 7.697 5.4 8.1 4.997 8.1 4.5 C 8.1 4.003 7.697 3.6 7.2 3.6 C 6.703 3.6 6.3 4.0022 6.3 4.5 C 6.3 4.9978 6.7022 5.4 7.2 5.4 Z" fill="currentColor" stroke="none"></path></svg></div><div class="text-sm prose dark:prose-invert min-w-0 w-full [&_kbd]:bg-background-light dark:[&_kbd]:bg-background-dark [&_code]:text-current! [&_kbd]:text-current! [&_a]:text-current! [&_a]:border-current [&_strong]:text-current! text-neutral-800 dark:text-neutral-300" data-component-part="callout-content"><span data-as="p"><strong>Integrations</strong></span><ul> 2025<li>Looking to integrate your website, ecommerce store or mobile app with Razorpay Payment Gateway? Find the <a class="link" href="/docs/payments/payment-gateway#integration-types">right integration method</a>.</li> 2026<li>Accept payments <a class="link" href="/docs/payments#accept-payments"><strong>without</strong> a website or app</a> using other Razorpay products, such as Payment Links, Payment Pages, Subscription Links, Invoices and Smart Collect.</li> 2027<li>For S2S integration, contact the <a href="https://razorpay.com/support/#request" target="_blank" rel="noreferrer" class="link">Support team</a> with your requirements.</li> 2028</ul></div></div> 2029<div class="columns prose dark:prose-invert grid max-w-none gap-4 @2xl/columns-container:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @[0px]/columns-container:grid-cols-1 card-group dark:prose-dark gap-y-0 sm:grid-cols-[repeat(var(--cols),minmax(0,1fr))]!" style="--cols:2"></div> 2030<h2 class="flex whitespace-pre-wrap group font-semibold" id="api-gateway-url"><div class="absolute" tabindex="-1"><a href="#api-gateway-url" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100 focus:opacity-100 focus:outline-0 group/link" aria-label="Navigate to header">â<div class="size-6 rounded-md flex items-center justify-center shadow-xs text-gray-400 dark:text-white/50 dark:bg-background-dark dark:brightness-[1.35] dark:ring-1 dark:hover:brightness-150 bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20 group-focus/link:border-2 group-focus/link:border-primary dark:group-focus/link:border-primary-light"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-3 shrink-0"><path d="M8.50001 6.827C8.14801 6.995 7.81801 7.225 7.52701 7.517L7.51701 7.527C6.13601 8.908 6.13601 11.146 7.51701 12.527L9.69201 14.702C11.073 16.
2030083 13.311 16.083 14.692 14.702L14.702 14.692C16.083 13.311 16.083 11.073 14.702 9.692L13.771 8.761" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9.50002 11.173C9.85202 11.005 10.182 10.775 10.473 10.483L10.483 10.473C11.864 9.092 11.864 6.854 10.483 5.473L8.30802 3.298C6.92702 1.917 4.68902 1.917 3.30802 3.298L3.29802 3.308C1.91702 4.689 1.91702 6.927 3.29802 8.308L4.22902 9.239" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></a></div><span class="cursor-pointer">API Gateway URL</span></h2> 2031<span data-as="p">For most of the Razorpay APIs, the Gateway URL is <code>https://api.razorpay.com/v1</code>. You need to include this before each API endpoint to make API calls. However, certain APIs are on V2. Hence, the gateway URL may differ for certain APIs.</span> 2032<div class="accordion-group [&>details]:border-0 [&>details]:rounded-none [&>details>summary]:rounded-none [&>details]:mb-0 overflow-hidden mt-0 mb-3 rounded-2xl prose prose-gray dark:prose-invert divide-y! divide-inherit! border-standard"><details class="accordion border-standard rounded-2xl mb-3 overflow-hidden bg-background-light dark:bg-codeblock cursor-default"><summary class="relative not-prose flex flex-row items-center content-center w-full cursor-pointer list-none [&::-webkit-details-marker]:hidden gap-3 px-5 py-3.5 hover:bg-gray-100 hover:dark:bg-gray-800" aria-controls="example-accordion-children" aria-expanded="false" data-component-part="accordion-button"><div id="example" class="absolute top-[-8rem] [[data-banner-state=visible]_&]:top-[-10.5rem]"></div><div class="flex size-4 shrink-0 items-center justify-center" data-component-part="accordion-caret-right"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="currentColor" stroke="none" aria-hidden="true" class="size-3 shrink-0 text-gray-600 transition-transform duration-200 dark:text-gray-400 -rotate-90"><path d="M14.0238 4.00002H3.97576C3.33776 4.00002 2.74976 4.34702 2.44276 4.90602C2.13576 5.46502 2.15576 6.14802 2.49776 6.68702L7.52176 14.61C7.84476 15.119 8.39676 15.422 8.99976 15.422C9.60276 15.422 10.1548 15.118 10.4778 14.61L15.5028 6.68602C15.8438 6.14702 15.8648 5.46402 15.5578 4.90502C15.2508 4.34602 14.6628 3.99902 14.0248 3.99902L14.0238 4.00002Z" fill="currentColor"></path></svg></div><div class="leading-tight text-left w-full min-w-0" contentEditable="false" data-component-part="accordion-title-container"><p id="example-accordion-title" class="m-0 font-medium leading-6 text-gray-900 dark:text-gray-200" data-component-part="accordion-title">Example</p></div></summary><div id="example-accordion-children" role="region" aria-labelledby="example-accordion-title" class="px-5 pb-3.5 prose prose-gray dark:prose-invert overflow-x-auto cursor-default" data-component-part="accordion-content"><ul> 2033<li> 2034<span data-as="p">Use the URL <code>https://api.razorpay.com/v1/payments</code> to access payment resources.</span> 2035</li> 2036<li> 2037<span data-as="p">Use the URL <code>https://api.razorpay.com/v2/accounts</code> to access Route (Linked Account)-related resources.</span> 2038</li> 2039</ul></div></details></div> 2040<h3 class="flex whitespace-pre-wrap group font-semibold" id="related-information"><div class="absolute" tabindex="-1"><a href="#related-information" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100 focus:opacity-100 focus:outline-0 group/link" aria-label="Navigate to header">â<div class="size-6 rounded-md flex items-center justify-center shadow-xs text-gray-400 dark:text-white/50 dark:bg-background-dark dark:brightness-[1.35] dark:ring-1 dark:hover:brightness-150 bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20 group-focus/link:border-2 group-focus/link:border-primary dark:group-focus/link:border-primary-light"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-3 shrink-0"><path d="M8.50001 6.827C8.14801 6.995 7.81801 7.225 7.52701 7.517L7.51701 7.527C6.13601 8.908 6.13601 11.146 7.51701 12.527L9.69201 14.702C11.073 16.
2040083 13.311 16.083 14.692 14.702L14.702 14.692C16.083 13.311 16.083 11.073 14.702 9.692L13.771 8.761" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9.50002 11.173C9.85202 11.005 10.182 10.775 10.473 10.483L10.483 10.473C11.864 9.092 11.864 6.854 10.483 5.473L8.30802 3.298C6.92702 1.917 4.68902 1.917 3.30802 3.298L3.29802 3.308C1.91702 4.689 1.91702 6.927 3.29802 8.308L4.22902 9.239" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></a></div><span class="cursor-pointer">Related Information</span></h3> 2041<ul> 2042<li><a class="link" href="/docs/api/understand">Understand Razorpay APIs</a></li> 2043<li><a class="link" href="/docs/api/authentication">API Authentication</a></li> 2044<li><a class="link" href="/docs/api/sandbox-setup">Sandbox Setup</a></li> 2045<li><a class="link" href="/docs/errors">Errors</a></li> 2046<li><a class="link" href="/docs/api/best-practices">API Best Practices</a></li> 2047<li><a class="link" href="/docs/api/glossary">API Glossary</a></li> 2048</ul></div><div class="feedback-toolbar pb-16 w-full flex flex-col gap-y-8"><div class="flex flex-row flex-wrap gap-4 items-center justify-between"><p class="inline-block text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap">Was this page helpful?</p><div class="flex flex-wrap grow gap-3 items-center justify-end"><div class="flex gap-3 items-center"><button id="feedback-thumbs-up" class="px-3.5 py-2 flex flex-row gap-3 items-center border-standard rounded-xl text-gray-600 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 bg-white/50 dark:bg-codeblock/50 hover:border-gray-500 hover:dark:border-gray-500 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-primary dark:focus-visible:outline-primary-light"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4 shrink-0 text-current"><path d="M5.25 7.494C5.25 7.014 5.423 6.55 5.736 6.187L10 1.25C10.854 1.677 11.25 2.678 10.92 3.574L9.75 6.75H14.152C15.465 6.75 16.421 7.993 16.085 9.262L14.894 13.762C14.662 14.639 13.868 15.25 12.961 15.25H7.25C6.145 15.25 5.25 14.355 5.25 13.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.25 6.75H2.75C2.19772 6.75 1.75 7.19772 1.75 7.75V14.25C1.75 14.8023 2.19772 15.25 2.75 15.25H4.25C4.80228 15.25 5.25 14.8023 5.25 14.25V7.75C5.25 7.19772 4.80228 6.75 4.25 6.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><small class="text-sm font-normal leading-4">Yes</small></button><button id="feedback-thumbs-down" class="px-3.5 py-2 flex flex-row gap-3 items-center border-standard rounded-xl text-gray-600 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 bg-white/50 dark:bg-codeblock/50 hover:border-gray-500 hover:dark:border-gray-500 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-primary dark:focus-visible:outline-primary-light"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4 shrink-0 text-current"><path d="M5.25 10.506C5.25 10.986 5.423 11.45 5.736 11.813L10 16.75C10.854 16.323 11.25 15.322 10.92 14.426L9.75 11.25H14.152C15.465 11.25 16.421 10.007 16.085 8.738L14.894 4.238C14.662 3.361 13.868 2.75 12.961 2.75H7.25C6.145 2.75 5.25 3.645 5.25 4.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.25 2.75H2.75C2.19772 2.75 1.75 3.19772 1.75 3.75V10.25C1.75 10.8023 2.19772 11.25 2.75 11.25H4.25C4.80228 11.25 5.25 10.8023 5.25 10.25V3.75C5.25 3.19772 4.80228 2.75 4.25 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><small class="text-sm font-normal leading-4">No</small></button></div><div class="flex gap-3"></div></div></div></div><nav id="pagination" aria-label="Pagination" class="px-0.5 flex items-center gap-6 text-sm font-semibold text-gray-700 dark:text-gray-200"><a rel="next" aria-label="Next: API Changelog" data-component-part="pagination-next" class="group flex items-center min-w-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary dark:focus-visible:outline-primary-light gap-3 rounded-sm ml-auto pagination-next" href="/docs/api/changelog"><div class="truncate group-hover:text-gray-900 dark:group-hover:text-white" data-component-part="pagination-title">API Changelog</div><svg viewBox="0 0 3 6" aria-hidden="true" data-component-part="pagination-chevron" class="h-1.5
2048shrink-0 stroke-gray-400 overflow-visible group-hover:stroke-gray-600 dark:group-hover:stroke-gray-300 rotate-180"><path d="M3 0L0 3L3 6" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></nav><div data-assistant-bar="" class="left-0 right-0 sticky bottom-0 w-full overflow-hidden z-20 pointer-events-none print:hidden"><div class="chat-assistant-floating-input w-full group/assistant-bar relative before:content-[""] before:absolute before:left-0 before:right-0 before:top-[calc(50%-0.5rem)] sm:before:top-[calc(50%-0.75rem)] before:h-[200px] before:bg-background-light dark:before:bg-background-dark translate-y-[100px] opacity-0"><div class="relative pb-4 sm:pb-6"><div class="flex flex-col w-full rounded-2xl pointer-events-auto bg-background-light dark:bg-background-dark border border-gray-200 dark:border-white/10 focus-within:border-primary dark:focus-within:border-primary-light transition-colors"><div class="relative flex items-end"><textarea id="chat-assistant-textarea" aria-label="Ask a question..." autoComplete="off" placeholder="Ask a question..." class="chat-assistant-input w-full bg-transparent border-0 peer/input text-gray-900 dark:text-gray-100 placeholder-gray-600 dark:placeholder-gray-300 outline-hidden! focus:outline-hidden! focus:ring-0 py-2.5 pl-3.5 pr-10 font-bodyWeight text-sm" style="resize:none"></textarea><button class="chat-assistant-send-button flex justify-center items-center rounded-full p-1 size-6 bg-primary/30 dark:bg-primary-dark/30 absolute right-2.5 bottom-2" aria-label="Send message" disabled=""><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-2.5 shrink-0 text-white dark:text-white"><path d="M9.0 1.5754L8.9999 16.4171" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.2563 8.319L8.9999 1.5754L15.7435 8.3191" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div></div></div></div></main></div><footer id="footer" class="advanced-footer flex flex-col items-center mx-auto border-t border-gray-100 dark:border-gray-800/50 peer-[.is-custom]:hidden! peer-[.is-custom]:sm:hidden! peer-[.is-custom]:md:hidden! peer-[.is-custom]:lg:hidden! peer-[.is-custom]:xl:hidden!"><div class="flex w-full flex-col gap-12 justify-between px-8 py-16 md:py-20 lg:py-28 max-w-246 z-20"><div class="flex flex-col md:flex-row gap-8 justify-between min-h-19"><div class="flex md:flex-col justify-between items-center md:items-start min-w-16 md:min-w-20 lg:min-w-48 md:gap-y-24"><a class="select-none" style="-webkit-touch-callout:none" href="https://razorpay.com/docs/"><span class="sr-only">Razorpay<!-- --> home page</span><img class="nav-logo w-auto relative object-contain shrink-0 block dark:hidden max-w-48 h-[26px]" src="https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/light.svg?fit=max&auto=format&n=puuu1wI-BbW3rsp2&q=85&s=e0750375ee2004193a685f9f211963fe" alt="light logo"/><img class="nav-logo w-auto relative object-contain shrink-0 hidden dark:block max-w-48 h-[26px]" src="https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/dark.svg?fit=max&auto=format&n=puuu1wI-BbW3rsp2&q=85&s=038b180f26d19ddb4eb40ede0cf84821" alt="dark logo"/></a><div class="flex gap-4 min-w-[140px] max-w-[492px] flex-wrap h-fit md:hidden justify-end"><a href="https://x.com/Razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">x</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/x-twitter.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/x-twitter.svg");mask-repeat:no-repeat;mask-position:center"></svg></a><a href="https://www.linkedin.com/company/razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">linkedin</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/linkedin.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/linkedin.svg");mask-repeat:no-repeat;mask-position:center"></svg></a><a href="https://github.com/razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">github</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/github.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/github.svg");mask-repeat:no-repeat;mask-position:center"></svg></a><a href="https://www.youtube.com/razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">youtube</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/youtube.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/youtube.svg");mask-repeat:no-repeat;mask-position:center"></svg></a></div></div><div class="flex flex-col sm:grid max-md:grid-cols-2! gap-8 flex-1" style="grid-template-columns:repeat(3, minmax(0, 1fr))"><div class="flex flex-col gap-4 flex-1 whitespace-nowrap w-full md:items-center"><div class="flex gap-4 flex-col"><p class="text-sm font-semibold text-gray-950 dark:text-white mb-1">Products</p><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/payment-gateway" target="_blank" rel="noreferrer">Payment Gateway</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/payment-links" target="_blank" rel="noreferrer">Payment Links</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/x" target="_blank" rel="noreferrer">RazorpayX</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/payroll" target="_blank" rel="noreferrer">Payroll</a></div></div><div class="flex flex-col gap-4 flex-1 whitespace-nowrap w-full md:items-center"><div class="flex gap-4 flex-col"><p class="text-sm font-semibold text-gray-950 dark:text-white mb-1">Resources</p><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/docs" target="_blank" rel="noreferrer">Documentation</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/docs/api" target="_blank" rel="noreferrer">API Reference</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/support" target="_blank" rel="noreferrer">Support</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/blog" target="_blank" rel="noreferrer">Blog</a></div></div><div class="flex flex-col gap-4 flex-1 whitespace-nowrap w-full md:items-center"><div class="flex gap-4 flex-col"><p class="text-sm font-semibold text-gray-950 dark:text-white mb-1">Company</p><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/about" target="_blank" rel="noreferrer">About Us</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/jobs" target="_blank" rel="noreferrer">Careers</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/pricing" target="_blank" rel="noreferrer">Pricing</a></div></div></div><div class="gap-4 min-w-[140px] max-w-[492px] flex-wrap hidden md:flex justify-end"><a href="https://x.com/Razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">x</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/x-twitter.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/x-twitter.svg");mask-repeat:no-repeat;mask-position:center"></svg></a><a href="https://www.linkedin.com/company/razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">linkedin</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/linkedin.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/linkedin.svg");mask-repeat:no-repeat;mask-position:center"></svg></a><a href="https://github.com/razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">github</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/github.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/github.svg");mask-repeat:no-repeat;mask-position:center"></svg></a><a href="https://www.youtube.com/razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">youtube</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/youtube.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/youtube.svg");mask-repeat:no-repeat;mask-position:center"></svg></a></div></div></div></footer><!--$--><!--/$--></div><!--$?--><template id="B:0"></template><!--/$--></div></div>
2048<script>requestAnimationFrame(function(){$RT=performance.now()});</script>
2048<script src="/mintlify-assets/_next/static/chunks/7d632cf627c34201.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" id="_R_" async=""></script>
2048<div hidden id="S:0"><div data-assistant-sheet-container="" class="sticky shrink-0 z-22 bg-background-light dark:bg-background-dark mt-(--banner-height,0px) top-(--banner-height,0px) h-[calc(100vh-var(--banner-height,0px))] max-lg:hidden print:hidden" style="width:var(--assistant-sheet-width, 0px);overflow:hidden"><div class="absolute left-0 top-0 bottom-0 w-px z-10 cursor-col-resize after:content-[""] after:absolute after:inset-y-0 after:-inset-x-2 after:select-none bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700"></div><div id="chat-assistant-sheet" class="flex flex-col overflow-hidden shrink-0 relative h-full bg-background-light dark:bg-background-dark chat-assistant-sheet" aria-hidden="true"><div class="w-full flex flex-col flex-1 min-h-0 lg:pt-3"><div class="chat-assistant-sheet-header flex items-center justify-between pb-3 px-4"><div class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="size-5 text-primary dark:text-primary-light shrink-0" aria-hidden="true"><path d="M5.65799 2.99L4.39499 2.569L3.97399 1.306C3.83699 0.898 3.16199 0.898 3.02499 1.306L2.60399 2.569L1.34099 2.99C1.13699 3.058 0.998993 3.249 0.998993 3.464C0.998993 3.679 1.13699 3.87 1.34099 3.938L2.60399 4.359L3.02499 5.622C3.09299 5.826 3.28499 5.964 3.49999 5.964C3.71499 5.964 3.90599 5.826 3.97499 5.622L4.39599 4.359L5.65899 3.938C5.86299 3.87 6.00099 3.679 6.00099 3.464C6.00099 3.249 5.86199 3.058 5.65799 2.99Z" fill="currentColor" stroke="none"></path><path d="M9.5 2.75L11.412 7.587L16.25 9.5L11.412 11.413L9.5 16.25L7.587 11.413L2.75 9.5L7.587 7.587L9.5 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><span class="font-medium text-gray-900 dark:text-gray-100">Assistant</span></div><div class="flex items-center gap-1"><button class="group hover:bg-gray-100 dark:hover:bg-white/10 p-1.5 rounded-lg" aria-label="Maximize assistant panel"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-4 sm:size-3.5 text-gray-500 group-hover:text-gray-700 dark:group-hover:text-gray-300 shrink-0"><path d="M10.75 2.75H15.25V7.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M15.25 2.75L10.75 7.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.75 10.75V15.25H7.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.75 15.25L7.25 10.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button><button class="group hover:bg-gray-100 dark:hover:bg-white/10 p-1.5 rounded-lg" aria-label="Close assistant panel"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-[20px] sm:size-4 text-gray-500 group-hover:text-gray-700 dark:group-hover:text-gray-300 shrink-0"><path d="M14 4L4 14" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4 4L14 14" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div><div id="chat-content" class="chat-assistant-sheet-content flex flex-col-reverse flex-1 overflow-y-auto relative px-5 min-h-0"><div class="grow"></div><div class="h-full flex flex-col justify-between"><div class="mt-4 flex flex-col items-center text-sm"><div class="mx-8 text-center text-gray-400 dark:text-gray-600 text-xs chat-assistant-disclaimer-text">Responses are generated using AI and may contain mistakes.</div></div></div></div><div class="px-4 pb-4 shrink-0"><div class=""><div class="flex flex-col w-full rounded-2xl pointer-events-auto bg-background-light dark:bg-background-dark border border-gray-200 dark:border-white/10 focus-within:border-primary dark:focus-within:border-primary-light transition-colors"><div class="relative flex items-end"><textarea id="chat-assistant-textarea" aria-label="Ask a question..." autoComplete="off" placeholder="Ask a question..." class="chat-assistant-input w-full bg-transparent border-0 peer/input text-gray-900 dark:text-gray-100 placeholder-gray-600 dark:placeholder-gray-300 outline-hidden! focus:outline-hidden! focus:ring-0 py-2.5 pl-3.5 pr-10 font-bodyWeight text-sm pb-0!" style="resize:none" rows="2"></textarea></div><div class="flex items-center justify-between px-2 pb-2"><input type="file" accept="image/*,.pdf,.js,.jsx,.ts,.tsx,.mjs,.cjs,.md,.mdx,.json,.html,.css,.py,.csv,.txt,.yaml,.yml,.xml,.sql,.sh,.bash,.zsh,.graphql,.gql,.toml,.env,.go,.rs,.rb,.java,.kt,.swift,.c,.cpp,.cc,.h,.hpp,.cs,.php,.dart,.lua,.r,.scala,.ini,.cfg,.conf,.log,.dockerfile,.makefile,.gitignore" multiple="" class="hidden"/><button type="button" class="p-1 rounded-lg text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 hover:bg-gray-100 dark:hover:bg-white/10" aria-label="Add attachment"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3.5 shrink-0"><path d="M7.75 5V11.75C7.75 12.578 8.422 13.25 9.25 13.25C10.078 13.25 10.75 12.578 10.75 11.75V4.75C10.75 3.093 9.407 1.75 7.75 1.75C6.093 1.75 4.75 3.093 4.75 4.75V11.75C4.75 14.235 6.765 16.25 9.25 16.25C11.735 16.25 13.75 14.235 13.75 11.75V5" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button><button class="chat-assistant-send-button flex justify-center items-center rounded-full p-1 size-6 bg-primary/30 dark:bg-primary-dark/30" aria-label="Send message" disabled=""><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-2.5 shrink-0 text-white dark:text-white"><path d="M9.0 1.5754L8.9999 16.4171" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.2563 8.319L8.9999 1.5754L15.7435 8.3191" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div></div></div></div></div>
2048<script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0}; 2049$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script>
2049<script>(self.__next_f=self.__next_f||[]).push([0])</script>
2049<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\na:I[168027,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n:HL[\"/mintlify-assets/_next/static/chunks/462bacc63bed9960.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"style\"]\n:HL[\"/mintlify-assets/_next/static/chunks/35c4b8bcf20cd559.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"style\"]\n:HL[\"/mintlify-assets/_next/static/media/83afe278b6a6bb3c.p.3a6ba036.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/mintlify-assets/_next/static/media/PaperMono_Variable.p.aa32f7a0.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/mintlify-assets/_next/static/media/f67ad414ed34149c.p.84166d94.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script>
2049<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"JP0DcDN3gWYfRStxq0t_r\",\"p\":\"/mintlify-assets\",\"c\":[\"\",\"_sites\",\"razorpay-881012b3\",\"docs\",\"api\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"%5Fsites\",{\"children\":[[\"subdomain\",\"razorpay-881012b3\",\"d\"],{\"children\":[\"(multitenant)\",{\"children\":[[\"slug\",\"docs/api\",\"oc\"],{\"children\":[\"__PAGE__\",{}]}]}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/462bacc63bed9960.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/35c4b8bcf20cd559.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"suppressHydrationWarning\":true,\"lang\":\"en\",\"className\":\"inter_1d81deff-module__CYM0aG__variable papermono_89c757f2-module__6aS5zq__variable dark\",\"data-banner-state\":\"visible\",\"data-assistant-state\":\"closed\",\"data-page-mode\":\"none\",\"data-current-path\":\"/\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"!function(){var b=\\\"\\\";\\nfunction a(p){if(p==null)return\\\"/\\\";p=\\\"\\\"+p;if(\\\"\\\"===p)return\\\"/\\\";return\\\"/\\\"===p.charAt(0)?p:\\\"/\\\"+p}\\nfunction u(p){if(p==null)return p;p=\\\"\\\"+p;if(!p||p.charAt(p.length-1)===\\\"/\\\")return p.slice(0,-1);return p}\\nfunction i(p){if(p==null)return p;p=\\\"\\\"+p;if(6\u003c=p.length\u0026\u0026p.substring(p.length-6)===\\\"/index\\\")return p.substring(0,p.length-6);if(\\\"index\\\"===p)return\\\"\\\";return p}\\nvar p=(location.pathname||\\\"\\\").split(\\\"?\\\")[0].split(\\\"#\\\")[0]||\\\"\\\";\\nif(b)if(p===b)p=\\\"\\\";else if(0===p.indexOf(b+\\\"/\\\"))p=p.substring(b.length);\\np=a(p);p=u(p);p=i(p);p=\\\"\\\"===p||\\\"index\\\"===p?\\\"/\\\":a(p);\\ndocument.documentElement.setAttribute(\\\"data-current-path\\\",p);\\n}();\"}}],[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"(() =\u003e {\\n const isIOS =\\n /iP(hone|ad|od)/.test(navigator.userAgent) ||\\n (/Macintosh/.test(navigator.userAgent) \u0026\u0026 navigator.maxTouchPoints \u003e 1);\\n if (!isIOS) return;\\n const apply = () =\u003e {\\n for (const meta of document.querySelectorAll('meta[name=\\\"viewport\\\"]')) {\\n const content = meta.getAttribute('content') || '';\\n if (!content.includes('maximum-scale')) {\\n meta.setAttribute('content', content + ', maximum-scale=1');\\n }\\n }\\n };\\n apply();\\n new MutationObserver(apply).observe(document.head, {\\n childList: true,\\n subtree: true,\\n attributes: true,\\n attributeFilter: ['content'],\\n });\\n})();\"}}],[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"!function(){\\nfunction read(){try{\\nvar e=performance.getEntriesByType?performance.getEntriesByType(\\\"navigation\\\"):[];\\nvar st=(e[0]\u0026\u0026e[0].serverTiming)||[];\\nvar g={};\\nfor(var i=0;i\u003cst.length;i++){var n=st[i].name,d=st[i].description;if(!d)continue;try{d=decodeURIComponent(d)}catch(x){}\\nif(n===\\\"country\\\")g.country=d;else if(n===\\\"region\\\")g.region=d;else if(n===\\\"continent\\\")g.continent=d;}\\nvar w=window;w.mintlify=w.mintlify||{};w.mintlify.geo=g;\\n}catch(x){}}\\nread();document.addEventListener(\\\"DOMContentLoaded\\\",read);\\n}();\"}}],[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"!function(){try{\\nvar w=window;w.mintlify=w.mintlify||{};\\nvar q=w.mintlify.__apiPlaygroundInputsQueue;\\nif(!Array.isArray(q)){q=[];w.mintlify.__apiPlaygroundInputsQueue=q;}\\nw.mintlify.api=w.mintlify.api||{};\\nw.mintlify.api.playground=w.mintlify.api.playground||{};\\nif(typeof w.mintlify.api.playground.setServerVariables!==\\\"function\\\"){\\nw.mintlify.api.playground.setServerVariables=function(v){q.push({type:\\\"set\\\",variables:v});};\\n}\\nif(typeof w.mintlify.api.playground.clearServerVariables!==\\\"function\\\"){\\nw.mintlify.api.playground.clearServerVariables=function(){q.push({type:\\\"clear\\\"});};\\n}\\n}catch(e){}}();\"}}],\"$L2\",false]}],\"$L3\"]}]]}],{\"children\":[\"%5Fsites\",\"$L4\",{\"children\":[[\"subdomain\",\"razorpay-881012b3\",\"d\"],\"$L5\",{\"children\":[\"(multitenant)\",\"$L6\",{\"children\":[[\"slug\",\"docs/api\",\"oc\"],\"$L7\",{\"children\":[\"__PAGE__\",\"$L8\",{}
2049,null,false]},null,false]},null,false]},null,false]},null,false]},null,false],\"$L9\",false]],\"m\":\"$undefined\",\"G\":[\"$a\",[\"$Lb\",\"$Lc\"]],\"s\":false,\"S\":true}\n"])</script>
2049<script>self.__next_f.push([1,"d:I[667786,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"MintlifyApiPlaygroundInputsInit\"]\ne:I[339756,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n"])</script>
2049<script>self.__next_f.push([1,"f:I[556357,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/882c403128dfd005.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n"])</script>
2049<script>self.__next_f.push([1,"10:I[837457,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n"])</script>
2049<script>self.__next_f.push([1,"11:I[894587,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ThemeProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"12:I[152823,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ColorVariables\"]\n"])</script>
2049<script>self.__next_f.push([1,"13:I[531961,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"FontScript\"]\n"])</script>
2049<script>self.__next_f.push([1,"14:I[649328,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"RoundedVariables\"]\n"])</script>
2049<script>self.__next_f.push([1,"15:I[702910,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/550e3e57c0b4e025.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"RecommendedPagesList\"]\n"])</script>
2049<script>self.__next_f.push([1,"16:I[570420,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"DataCurrentPathUpdater\"]\n"])</script>
2049<script>self.__next_f.push([1,"17:I[341175,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/35d40e4844fd9a08.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n"])</script>
2049<script>self.__next_f.push([1,"1a:I[897367,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"OutletBoundary\"]\n1c:I[711533,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"AsyncMetadataOutlet\"]\n1e:I[897367,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ViewportBoundary\"]\n20:I[897367,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"MetadataBoundary\"]\n21:\"$Sreact.suspense\"\n"])</script>
2049<script>self.__next_f.push([1,"2:[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(a,b){try{let c=document.getElementById(\\\"banner\\\")?.innerText;if(c){for(let d=0;d\u003clocalStorage.length;d++){let e=localStorage.key(d);if(e?.endsWith(a)\u0026\u0026localStorage.getItem(e)===c)return void document.documentElement.setAttribute(b,\\\"hidden\\\")}document.documentElement.setAttribute(b,\\\"visible\\\");return}for(let c=0;c\u003clocalStorage.length;c++){let d=localStorage.key(c);if(d?.endsWith(a)\u0026\u0026localStorage.getItem(d))return void document.documentElement.setAttribute(b,\\\"hidden\\\")}document.documentElement.setAttribute(b,\\\"visible\\\")}catch(a){document.documentElement.setAttribute(b,\\\"hidden\\\")}})(\\n \\\"bannerDismissed\\\",\\n \\\"data-banner-state\\\",\\n)\"}}]\n"])</script>
2049<script>self.__next_f.push([1,"3:[\"$\",\"body\",null,{\"className\":\"antialiased\",\"children\":[[\"$\",\"$Ld\",null,{}],false,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$f\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/882c403128dfd005.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}]],\"template\":[\"$\",\"$L10\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L11\",null,{\"children\":[[\"$\",\"$L12\",null,{}],[\"$\",\"$L13\",null,{}],[\"$\",\"$L14\",null,{}],[\"$\",\"style\",null,{\"children\":\":root {\\n --primary: 17 120 102;\\n --primary-light: 74 222 128;\\n --primary-dark: 22 101 52;\\n --background-light: 255 255 255;\\n --background-dark: 15 17 23;\\n}\"}],[\"$\",\"main\",null,{\"className\":\"h-screen bg-background-light dark:bg-background-dark text-left\",\"children\":[\"$\",\"article\",null,{\"className\":\"bg-custom bg-fixed bg-center bg-cover relative flex flex-col items-center justify-center h-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-xl px-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex mb-6 rounded-full px-3 py-1 text-sm font-semibold mr-4 text-white p-1 bg-primary\",\"children\":[\"Error \",404]}],[\"$\",\"h1\",null,{\"className\":\"font-semibold mb-3 text-3xl\",\"children\":\"Page not found!\"}],[\"$\",\"p\",null,{\"className\":\"text-lg text-gray-600 dark:text-gray-400 mb-6\",\"children\":\"We couldn't find the page.\"}],[\"$\",\"$L15\",null,{}]]}]}]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],false,[\"$\",\"$L16\",null,{}]]}]\n"])</script>
2049<script>self.__next_f.push([1,"4:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L10\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script>
2049<script>self.__next_f.push([1,"5:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$17\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/35d40e4844fd9a08.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}]],\"template\":[\"$\",\"$L10\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L11\",null,{\"children\":[[\"$\",\"$L12\",null,{}],[\"$\",\"$L13\",null,{}],[\"$\",\"$L14\",null,{}],[\"$\",\"style\",null,{\"children\":\":root {\\n --primary: 17 120 102;\\n --primary-light: 74 222 128;\\n --primary-dark: 22 101 52;\\n --background-light: 255 255 255;\\n --background-dark: 15 17 23;\\n}\"}],[\"$\",\"main\",null,{\"className\":\"h-screen bg-background-light dark:bg-background-dark text-left\",\"children\":[\"$\",\"article\",null,{\"className\":\"bg-custom bg-fixed bg-center bg-cover relative flex flex-col items-center justify-center h-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-xl px-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex mb-6 rounded-full px-3 py-1 text-sm font-semibold mr-4 text-white p-1 bg-primary\",\"children\":[\"Error \",404]}],[\"$\",\"h1\",null,{\"className\":\"font-semibold mb-3 text-3xl\",\"children\":\"Page not found!\"}],[\"$\",\"p\",null,{\"className\":\"text-lg text-gray-600 dark:text-gray-400 mb-6\",\"children\":\"We couldn't find the page.\"}],[\"$\",\"$L15\",null,{}]]}]}]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script>
2049<script>self.__next_f.push([1,"6:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-8\",{\"src\":\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-9\",{\"src\":\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-10\",{\"src\":\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-11\",{\"src\":\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-12\",{\"src\":\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-13\",{\"src\":\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-14\",{\"src\":\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-15\",{\"src\":\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-16\",{\"src\":\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-17\",{\"src\":\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-18\",{\"src\":\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}]],\"$L18\"]}]\n"])</script>
2049<script>self.__next_f.push([1,"7:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L10\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script>
2049<script>self.__next_f.push([1,"8:[\"$\",\"$1\",\"c\",{\"children\":[\"$L19\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L1a\",null,{\"children\":[\"$L1b\",[\"$\",\"$L1c\",null,{\"promise\":\"$@1d\"}]]}]]}]\n"])</script>
2049<script>self.__next_f.push([1,"9:[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L1e\",null,{\"children\":\"$L1f\"}],null],[\"$\",\"$L20\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$21\",null,{\"fallback\":null,\"children\":\"$L22\"}]}]}]]}]\nb:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/462bacc63bed9960.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\nc:[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/35c4b8bcf20cd559.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script>
2049<script>self.__next_f.push([1,"1f:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, viewport-fit=cover\"}]]\n1b:null\n"])</script>
2049<script>self.__next_f.push([1,"1d:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"API Reference Guide - Razorpay\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"Razorpay\"}],[\"$\",\"meta\",\"3\",{\"name\":\"generator\",\"content\":\"Mintlify\"}],[\"$\",\"meta\",\"4\",{\"name\":\"msapplication-config\",\"content\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/browserconfig.xml\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Razorpay\"}],[\"$\",\"meta\",\"6\",{\"name\":\"msapplication-TileColor\",\"content\":\"#3395FF\"}],[\"$\",\"link\",\"7\",{\"rel\":\"canonical\",\"href\":\"https://razorpay.com/docs/api\"}],[\"$\",\"link\",\"8\",{\"rel\":\"alternate\",\"type\":\"application/xml\",\"href\":\"/sitemap.xml\"}],[\"$\",\"link\",\"9\",{\"rel\":\"alternate\",\"type\":\"text/markdown\",\"href\":\"/docs/api.md\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:title\",\"content\":\"API Reference Guide - Razorpay\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:description\",\"content\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:url\",\"content\":\"https://razorpay.com/docs/api\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:site_name\",\"content\":\"Razorpay\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image\",\"content\":\"https://razorpay-881012b3.mintlify.app/mintlify-assets/_next/image?url=%2F_mintlify%2Fapi%2Fog%3Fdivision%3DDocumentation%26title%3DAPI%2BReference%2BGuide%26description%3DGet%2Bstarted%2Bwith%2BRazorpay%2BAPIs%2Band%2Btest%2Bthem%2Bon%2BPostman.%2BGenerate%2BAPI%2BKeys%2Bin%2BTest%2Band%2BLive%2BModes.%26theme%3Deba4def1c481f3d9eb7e8909\u0026w=1200\u0026q=100\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:title\",\"content\":\"API Reference Guide - Razorpay\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:description\",\"content\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image\",\"content\":\"https://razorpay-881012b3.mintlify.app/mintlify-assets/_next/image?url=%2F_mintlify%2Fapi%2Fog%3Fdivision%3DDocumentation%26title%3DAPI%2BReference%2BGuide%26description%3DGet%2Bstarted%2Bwith%2BRazorpay%2BAPIs%2Band%2Btest%2Bthem%2Bon%2BPostman.%2BGenerate%2BAPI%2BKeys%2Bin%2BTest%2Band%2BLive%2BModes.%26theme%3Deba4def1c481f3d9eb7e8909\u0026w=1200\u0026q=100\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"24\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/android-chrome-192x192.png\",\"type\":\"image/png\",\"sizes\":\"192x192\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"link\",\"25\",{\"rel\":\"apple-touch-icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/apple-touch-icon.png\",\"type\":\"image/png\",\"sizes\":\"180x180\",\"media\":\"$undefined\"}],[\"$\",\"link\",\"26\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/favicon-16x16.png\",\"type\":\"image/png\",\"sizes\":\"16x16\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"link\",\"27\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/favicon-32x32.png\",\"type\":\"image/png\",\"sizes\":\"32x32\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"link\",\"28\",{\"rel\":\"shortcut icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"$undefined\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"link\",\"29\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/android-chrome-192x192.png\",\"type\":\"image/png\",\"sizes\":\"192x192\",\"media\":\"(prefers-color-scheme: dark)\"}],\"$L23\",\"$L24\",\"$L25\",\"$L26\"],\"error\":null,\"digest\":\"$undefined\"}\n"])</script>
2049<script>self.__next_f.push([1,"22:\"$1d:metadata\"\n"])</script>
2049<script>self.__next_f.push([1,"27:I[27201,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"IconMark\"]\n23:[\"$\",\"link\",\"30\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/favicon-16x16.png\",\"type\":\"image/png\",\"sizes\":\"16x16\",\"media\":\"(prefers-color-scheme: dark)\"}]\n24:[\"$\",\"link\",\"31\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/favicon-32x32.png\",\"type\":\"image/png\",\"sizes\":\"32x32\",\"media\":\"(prefers-color-scheme: dark)\"}]\n25:[\"$\",\"link\",\"32\",{\"rel\":\"shortcut icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"$undefined\",\"media\":\"(prefers-color-scheme: dark)\"}]\n26:[\"$\",\"$L27\",\"33\",{}]\n"])</script>
2049<script>self.__next_f.push([1,"28:I[707934,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"WebMcpRegistration\"]\n"])</script>
2049<script>self.__next_f.push([1,"29:I[590280,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"LivePreviewProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"2a:I[973254,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"LivePreviewFavicon\"]\n"])</script>
2049<script>self.__next_f.push([1,"2b:I[197336,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n"])</script>
2049<script>self.__next_f.push([1,"2c:I[91557,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"AuthProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"2d:I[91557,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"DeploymentMetadataProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"2e:I[91557,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"DocsConfigProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"30:I[597003,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ScopedNavProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"18:[null,[\"$\",\"$L28\",null,{\"subdomain\":\"razorpay-881012b3\",\"siteName\":\"Razorpay\"}],[\"$\",\"$L29\",null,{\"isLivePreviewRoute\":false,\"children\":[[\"$\",\"$L2a\",null,{}],[\"$\",\"$L11\",null,{\"appearance\":\"$undefined\",\"codeblockTheme\":\"system\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"sr-only\",\"data-agent-docs-index\":true,\"aria-hidden\":\"true\",\"children\":[[\"$\",\"h2\",null,{\"children\":\"Documentation Index\"}],[\"$\",\"p\",null,{\"children\":[\"Fetch the complete documentation index at:\",\" \",[\"$\",\"a\",null,{\"href\":\"/llms.txt\",\"tabIndex\":-1,\"children\":\"/llms.txt\"}]]}],[\"$\",\"p\",null,{\"children\":\"Use this file to discover all available pages before exploring further.\"}]]}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root{--banner-height:0px!important}\"}}],false,null,null,[\"$\",\"script\",null,{\"id\":\"_mintlify-banner-script\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function i(a,b,c,d,e){try{let f,g,h=[];try{h=window.location.pathname.split(\\\"/\\\").filter(a=\u003e\\\"\\\"!==a\u0026\u0026\\\"global\\\"!==a).slice(0,2)}catch{h=[]}let i=h.find(a=\u003ec.includes(a)),j=[];for(let c of(i?j.push(i):j.push(b),j.push(\\\"global\\\"),j)){if(!c)continue;let b=a[c];if(b?.content){f=b.content,g=c;break}}if(!f)return void document.documentElement.setAttribute(d,\\\"hidden\\\");let k=!0,l=0;for(;l\u003clocalStorage.length;){let a=localStorage.key(l);if(l++,!a?.endsWith(e))continue;let b=localStorage.getItem(a);if(b\u0026\u0026b===f){k=!1;break}g\u0026\u0026(a.startsWith(`lang:${g}_`)||!a.startsWith(\\\"lang:\\\"))\u0026\u0026(localStorage.removeItem(a),l--)}document.documentElement.setAttribute(d,k?\\\"visible\\\":\\\"hidden\\\")}catch(a){console.error(a),document.documentElement.setAttribute(d,\\\"hidden\\\")}})(\\n {},\\n \\\"en\\\",\\n [],\\n \\\"data-banner-state\\\",\\n \\\"bannerDismissed\\\",\\n)\"},\"suppressHydrationWarning\":true}],[\"$\",\"$L2b\",null,{\"appId\":\"$undefined\",\"autoBoot\":true,\"children\":[\"$\",\"$L2c\",null,{\"value\":{\"auth\":\"$undefined\",\"userAuth\":\"$undefined\"},\"children\":[\"$\",\"$L2d\",null,{\"value\":{\"subdomain\":\"razorpay-881012b3\",\"hasAudioNarration\":false,\"actualSubdomain\":\"razorpay-881012b3\",\"customDomains\":[],\"gitSource\":{\"type\":\"github\",\"owner\":\"razorpay-vendor-integrations\",\"repo\":\"docs\",\"deployBranch\":\"main\",\"contentDirectory\":\"\",\"isPrivate\":true,\"mountPath\":\"\",\"label\":\"\"},\"chroma\":{\"latestBuiltDeploymentHistoryId\":\"6ab39ea438c60c710e799efb\",\"collectionId\":\"053376fe-02d0-46d5-a517-37cee9359269\",\"liveDeploymentHistoryId\":\"6ab39ea438c60c710e799efb\",\"schemaVersion\":\"v3\"},\"feedback\":{\"thumbs\":true,\"agentFeedback\":true},\"entitlements\":{\"AI_CHAT\":{\"status\":\"ENABLED\"},\"REMOVE_BRANDING\":{\"status\":\"ENABLED\"},\"CONTEXTUAL_FEEDBACK\":{\"status\":\"ENABLED\"},\"CODE_SNIPPET_FEEDBACK\":{\"status\":\"ENABLED\"},\"WEB_MCP\":{\"status\":\"ENABLED\"},\"NARRATION\":{\"status\":\"ENABLED\"}},\"buildId\":\"6ab4c67a92cc8bc5f691589f\",\"clientVersion\":\"0.0.3665\",\"preview\":\"$undefined\",\"searchFilterCounts\":[{\"language\":\"default\",\"tag\":\"Payments\",\"count\":1485},{\"language\":\"default\",\"tag\":\"API Reference\",\"count\":708},{\"language\":\"default\",\"tag\":\"Payment Gateway\",\"count\":223},{\"language\":\"default\",\"tag\":\"Dashboard\",\"count\":208},{\"language\":\"default\",\"tag\":\"Subscriptions\",\"count\":142},{\"language\":\"default\",\"tag\":\"Payout APIs\",\"count\":134},{\"language\":\"default\",\"tag\":\"Payment Links\",\"count\":129},{\"language\":\"default\",\"tag\":\"Banking Plus\",\"count\":123},{\"language\":\"default\",\"tag\":\"Developer Tools\",\"count\":103},{\"language\":\"default\",\"tag\":\"Partners\",\"count\":92}],\"searchSettings\":{\"maxResults\":8},\"disableKonamiCode\":\"$undefined\"},\"children\":[\"$\",\"$L2e\",null,{\"value\":{\"docsConfig\":{\"theme\":\"mint\",\"$schema\":\"https://mintlify.com/docs.json\",\"name\":\"Razorpay\",\"colors\":{\"primary\":\"#3395FF\",\"light\":\"#66B2FF\",\"dark\":\"#0B62C4\"},\"logo\":{\"light\":\"https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/light.svg?fit=max\u0026auto=format\u0026n=puuu1wI-BbW3rsp2\u0026q=85\u0026s=e0750375ee2004193a685f9f211963fe\",\"dark\":\"https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/dark.svg?fit=max\u0026auto=format\u0026n=puuu1wI-BbW3rsp2\u0026q=85\u0026s=038b180f26d19ddb4eb40ede0cf84821\",\"href\":\"https://razorpay.com/docs/\"},\"favicon\":\"https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/favicon.png?fit=max\u0026auto=format\u0026n=puuu1wI-BbW3rsp2\u0026q=85\u0026s=9bebe786d3a21e9452fd2e31243e5fb3\",\"api\":{\"playground\":{\"display\":\"interactive\"},\"mdx\":{\"auth\":{\"method\":\"basic\"},\"server\":\"https://api.razorpay.com\"}},\"navbar\":{\"links\":[{\"href\":\"https://razorpay.com/support/\",\"label\":\"Supp
2049ort\"},{\"href\":\"https://razorpay.com/blog/\",\"label\":\"Blog\"}],\"primary\":{\"type\":\"button\",\"label\":\"Dashboard\",\"href\":\"https://dashboard.razorpay.com/\"}},\"footer\":{\"socials\":{\"x\":\"https://x.com/Razorpay\",\"linkedin\":\"https://www.linkedin.com/company/razorpay\",\"github\":\"https://github.com/razorpay\",\"youtube\":\"https://www.youtube.com/razorpay\"},\"links\":[{\"header\":\"Products\",\"items\":[{\"label\":\"Payment Gateway\",\"href\":\"https://razorpay.com/payment-gateway\"},{\"label\":\"Payment Links\",\"href\":\"https://razorpay.com/payment-links\"},{\"label\":\"RazorpayX\",\"href\":\"https://razorpay.com/x\"},{\"label\":\"Payroll\",\"href\":\"https://razorpay.com/payroll\"}]},{\"header\":\"Resources\",\"items\":[{\"label\":\"Documentation\",\"href\":\"https://razorpay.com/docs\"},{\"label\":\"API Reference\",\"href\":\"https://razorpay.com/docs/api\"},{\"label\":\"Support\",\"href\":\"https://razorpay.com/support\"},{\"label\":\"Blog\",\"href\":\"https://razorpay.com/blog\"}]},{\"header\":\"Company\",\"items\":[{\"label\":\"About Us\",\"href\":\"https://razorpay.com/about\"},{\"label\":\"Careers\",\"href\":\"https://razorpay.com/jobs\"},{\"label\":\"Pricing\",\"href\":\"https://razorpay.com/pricing\"}]}]},\"seo\":{\"metatags\":{\"canonical\":\"https://razorpay.com\"}},\"contextual\":{\"options\":[\"copy\",\"view\",\"chatgpt\",\"claude\",\"perplexity\",\"mcp\",\"cursor\",\"vscode\"],\"display\":\"header\"},\"styling\":{\"latex\":true,\"codeblocks\":\"system\"},\"navigation\":{\"pages\":[]}},\"docsNavWithMetadata\":\"$undefined\",\"anonymizedNav\":\"$undefined\",\"hasFullNav\":false},\"children\":\"$L2f\"}]}]}]}]]}]]}]]\n"])</script>
2049<script>self.__next_f.push([1,"19:[\"$\",\"$L30\",null,{\"scopedNav\":{\"global\":null,\"versions\":[{\"version\":\"India\",\"default\":true,\"tabs\":[{\"tab\":\"Home\",\"icon\":\"house\",\"pages\":[{\"title\":\"Home\",\"href\":\"/docs/home\"}]},{\"tab\":\"Payments\",\"icon\":\"credit-card\",\"pages\":[{\"title\":\"Payments\",\"href\":\"/docs/payments\"}]},{\"tab\":\"Engage\",\"icon\":\"bullhorn\",\"pages\":[{\"title\":\"Engage\",\"href\":\"/docs/engage\"}]},{\"tab\":\"POS\",\"icon\":\"cash-register\",\"pages\":[{\"title\":\"POS\",\"href\":\"/docs/pos\"}]},{\"tab\":\"Banking Plus\",\"icon\":\"building-columns\",\"pages\":[{\"title\":\"Banking Plus\",\"href\":\"/docs/x\"}]},{\"tab\":\"Payroll\",\"icon\":\"money-check-dollar\",\"pages\":[{\"title\":\"Payroll\",\"href\":\"/docs/payroll\"}]},{\"tab\":\"Partners\",\"icon\":\"handshake\",\"pages\":[{\"title\":\"Partners\",\"href\":\"/docs/partners\"}]},{\"tab\":\"API Reference\",\"icon\":\"code\",\"pages\":[{\"group\":\"Introduction\",\"root\":{\"title\":\"API Reference Guide\",\"description\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\",\"href\":\"/docs/api\"},\"pages\":[{\"title\":\"API Changelog\",\"description\":\"List of changes made to Razorpay APIs.\",\"href\":\"/docs/api/changelog\"},{\"title\":\"Understand Razorpay APIs\",\"description\":\"Explanation of Razorpay API structure and the various components such as HTTP methods, status codes, data types and parameter types. Details on versioning, rate limiting and pagination.\",\"href\":\"/docs/api/understand\"},{\"title\":\"API Authentication\",\"sidebarTitle\":\"Authentication\",\"description\":\"Authentication process for Razorpay APIs.\",\"href\":\"/docs/api/authentication\"},{\"title\":\"API Sandbox Setup\",\"sidebarTitle\":\"Sandbox Setup\",\"description\":\"Sandbox setup for testing Razorpay APIs.\",\"href\":\"/docs/api/sandbox-setup\"},{\"title\":\"Install the Razorpay CLI\",\"sidebarTitle\":\"Install CLI\",\"description\":\"Install the Razorpay CLI on macOS, Linux or Windows to interact with Razorpay APIs from your terminal.\",\"href\":\"/docs/api/install-cli\"},{\"title\":\"Best Practices\",\"description\":\"Find the best practices to follow while working with Razorpay APIs.\",\"href\":\"/docs/api/best-practices\"},{\"title\":\"Glossary\",\"description\":\"A list of commonly used terms related to Razorpay APIs.\",\"href\":\"/docs/api/glossary\"}]},{\"group\":\"Payments\",\"root\":{\"title\":\"Payments\",\"description\":\"Capture and fetch Payments using Razorpay APIs.\",\"href\":\"/docs/api/payments\"},\"pages\":[{\"group\":\"Orders\",\"pages\":[{\"title\":\"Orders\",\"description\":\"Create, view and update an Order using Razorpay APIs.\",\"href\":\"/docs/api/orders\"},{\"title\":\"Orders Entity\",\"description\":\"Entity parameters and sample code for Orders API.\",\"href\":\"/docs/api/orders/entity\"},{\"title\":\"Create an Order\",\"description\":\"Create an Order using Razorpay Orders API.\",\"api\":\"POST /v1/orders\",\"href\":\"/docs/api/orders/create\"},{\"title\":\"Fetch All Orders\",\"description\":\"Fetch all Orders using Razorpay Orders API.\",\"api\":\"GET /v1/orders\",\"href\":\"/docs/api/orders/fetch-all\"},{\"title\":\"Fetch All Orders (With Expanded Payments)\",\"description\":\"Expand payments object when fetching Order details using Razorpay Orders API.\",\"api\":\"GET /v1/orders?expand[]=payments\",\"href\":\"/docs/api/orders/fetch-all-expanded-payments\"},{\"title\":\"Fetch All Orders (With Expand Card Payments)\",\"description\":\"Expand card object when fetching payents for Orders using Razorpay Orders API.\",\"api\":\"GET /v1/orders?expand[]=payments.card\",\"href\":\"/docs/api/orders/fetch-all-expanded-card-payments\"},{\"title\":\"Fetch an Order With ID\",\"description\":\"Fetches an Order with its id using the Razorpay Orders API.\",\"api\":\"GET /v1/orders/:id\",\"href\":\"/docs/api/orders/fetch-with-id\"},{\"title\":\"Fetch Payments for an Order\",\"description\":\"Fetch payments for an Order using Razorpay Orders API.\",\"api\":\"GET /v1/orders/:id/payments\",\"href\":\"/docs/api/orders/fetch-payments\"},{\"title\":\"Update an Order\",\"description\":\"Update an Order using Razorpay Orders API.\",\"api\":\"PATCH /v1/orders/:id\",\"href\":\"/docs/api/orders/update\"}]},{\"group\":\"Payments\",\"pages\":[{\"title\":\"Payments Entity\",\"description\":\"Know about payment entities and their description.\",\"href\":\"/docs/api/payments/entity\"},{\"title\":\"Capture a Payment\",\"description\":\"Create a Payment using Razorpay Payments API.\",\"api\":\"POST /v1/payments/:id/capture\",\"href\":\"/docs/api/payments/capture\"},{\"title\":\"Fetch a Payment With ID\",\"description\":\"Fetch a Payment using Razorpay Payments API.\",\"api\":\"GET /v1/payments/:id\",\"href\":\"/docs/api/payments/fetch-with-id\"},{\"title\":\"Fetch a Payment (With Expanded Card Details)\",\"description\":\"Fetch a Payment with Expanded Card Details using Razorpay Payments API.\",\"api\":\"GET /v1/payments/:id/?expand[]=card\",\"href\":\"/docs/api/payments/fetch-payment-expanded-card\"},{\"title\":\"Fetch a Payment with Expanded EMI Details\",\"description\":\"Fetch a Payment with Expanded EMI details using Razorpay Payments API.\",\"api\":\"GET /v1/payments/:id/?expand[]=emi\",\"href\":\"/docs/api/payments/fetch-payment-expanded-emi\"},{\"title\":\"Fetch a Payment with Expanded Offers Details\",\"description\":\"Fetch a Payment with Expanded Offers details using Razorpay Payments API.\",\"api\":\"GET /v1/payments/:id/?expand[]=offers\",\"href\":\"/docs/api/payments/fetch-payment-expanded-offers\"},{\"title\":\"Fetch All Payments\",\"description\":\"Fetch all Payments using Razorpay Payments API.\",\"api\":\"GET /v1/payments\",\"href\":\"/docs/api/payments/fetch-all-payments\"},{\"title\":\"Fetch All Payments (With Expanded Card Details)\",\"description\":\"Fetch all Payments (With Expanded Card Details) using Razorpay Payments API.\",\"api\":\"GET /v1/payments?expand[]=card\",\"href\":\"/docs/api/payments/fetch-all-payments-with-expanded-card-detail
2049s\"},{\"title\":\"Fetch All Payments (With Expanded EMI Details)\",\"description\":\"Fetch all Payments (With Expanded EMI Details) using Razorpay Payments API.\",\"api\":\"GET /v1/payments?expand[]=emi\",\"href\":\"/docs/api/payments/fetch-all-payments-with-expanded-emi-details\"},{\"title\":\"Fetch Payments Based on Orders\",\"description\":\"Fetch Payments Based on Orders using Razorpay Payments API.\",\"api\":\"GET /v1/orders/:id/payments\",\"href\":\"/docs/api/payments/fetch-payments-orders\"},{\"title\":\"Fetch Card Details of a Payment\",\"description\":\"Fetch Card Details of a Payment using Razorpay Payments API.\",\"api\":\"GET /v1/payments/:id/card\",\"href\":\"/docs/api/payments/fetch-card-details-payment\"},{\"title\":\"Update a Payment\",\"description\":\"Update a Payment using Razorpay Payments API.\",\"api\":\"PATCH /v1/payments/:id/\",\"href\":\"/docs/api/payments/update\"}]},{\"group\":\"Downtime\",\"pages\":[{\"title\":\"Payment Downtime\",\"sidebarTitle\":\"Downtime\",\"description\":\"Check the Payment Downtime API to view a list of affected payment methods during downtime.\",\"href\":\"/docs/api/payments/downtime\"},{\"title\":\"Payment Downtime Entity\",\"description\":\"Know about the Payment Downtime entity parameters and their description.\",\"href\":\"/docs/api/payments/downtime/entity\"},{\"title\":\"Fetch All Payment Downtime Details\",\"description\":\"Fetch all payment downtime details using Razorpay Payment Downtime API.\",\"api\":\"GET /v1/payments/downtimes\",\"href\":\"/docs/api/payments/downtime/fetch-all\"},{\"title\":\"Fetch Payment Downtime Details With ID\",\"description\":\"Fetch Payment Downtime Details With id using Razorpay Payments Downtime API.\",\"api\":\"GET /v1/payments/downtimes/:id\",\"href\":\"/docs/api/payments/downtime/fetch-with-id\"}]},{\"group\":\"Settlements\",\"pages\":[{\"title\":\"Settlements\",\"description\":\"Fetch Settlements and Settlements Recon information using Razorpay APIs.\",\"href\":\"/docs/api/settlements\"},{\"title\":\"Settlements Entity\",\"description\":\"Know about the settlements entity parameters and their descriptions.\",\"href\":\"/docs/api/settlements/entity\"},{\"title\":\"Fetch All Settlements\",\"description\":\"Fetch All Settlements using Razorpay Settlements API.\",\"api\":\"GET /v1/settlements/\",\"href\":\"/docs/api/settlements/fetch-all\"},{\"title\":\"Fetch Settlements With ID\",\"description\":\"Fetch Settlements with Razorpay Settlements id.\",\"api\":\"GET /v1/settlements/:id\",\"href\":\"/docs/api/settlements/fetch-with-id\"},{\"title\":\"Fetch Settlement Recon Details\",\"description\":\"Settlement Recon using Razorpay Settlements API.\",\"api\":\"GET /v1/settlements/recon/combined?year=yyyy\u0026month=mm\",\"href\":\"/docs/api/settlements/fetch-recon\"}]},{\"group\":\"Instant Settlements\",\"pages\":[{\"title\":\"Instant Settlements\",\"description\":\"Check Razorpay Capital Instant Settlement APIs (On-demand Settlement APIs).\",\"href\":\"/docs/api/settlements/instant\"},{\"title\":\"Instant Settlements Entity\",\"description\":\"Know about the instant settlements entity parameters and their descriptions.\",\"href\":\"/docs/api/settlements/instant/entity\"},{\"title\":\"Create an Instant Settlement\",\"description\":\"Create an Instant Settlement using Razorpay Payments API.\",\"api\":\"POST /v1/settlements/ondemand\",\"href\":\"/docs/api/settlements/instant/create\"},{\"title\":\"Fetch All Instant Settlements\",\"description\":\"Fetch All Instant Settlements using Razorpay Payments API.\",\"api\":\"GET /v1/settlements/ondemand\",\"href\":\"/docs/api/settlements/instant/fetch-all\"},{\"title\":\"Fetch Instant Settlement With ID\",\"description\":\"Fetch Instant Settlement with ID using Razorpay Payments API.\",\"api\":\"GET /v1/settlements/ondemand/:id\",\"href\":\"/docs/api/settlements/instant/fetch-with-id\"},{\"title\":\"Fetch All Instant Settlements With Payout Details\",\"description\":\"Fetch All Instant Settlements with Payout Details using Razorpay Payments API.\",\"api\":\"GET /v1/settlements/ondemand/?expand[]=ondemand_payouts\",\"href\":\"/docs/api/settlements/instant/fetch-all-payout\"},{\"title\":\"Fetch Instant Settlement With ID and Payout Details\",\"description\":\"Fetch Instant Settlement with ID and Payout Details using Razorpay Payments API.\",\"api\":\"GET /v1/settlements/ondemand/:id?expand[]=ondemand_payouts\",\"href\":\"/docs/api/settlements/instant/fetch-with-id-payout\"}]},{\"group\":\"Refunds\",\"pages\":[{\"title\":\"Refunds\",\"description\":\"Initiate normal and instant refunds to your customers using Razorpay Refund APIs. View and update refund using APIs.\",\"href\":\"/docs/api/refunds\"},{\"title\":\"Refunds Entity\",\"description\":\"Know about refunds entity parameters and their description.\",\"href\":\"/docs/api/refunds/entity\"},{\"title\":\"Create a Normal Refund\",\"description\":\"Create a Normal Refund using Razorpay Refunds API.\",\"api\":\"POST /v1/payments/:id/refund\",\"href\":\"/docs/api/refunds/create-normal\"},{\"title\":\"Create a Normal Refund (Idempotent Request)\",\"description\":\"Retry or send the same normal refund request multiple times safely using the Razorpay API.\",\"api\":\"POST /v1/payments/:id/refund\",\"href\":\"/docs/api/refunds/normal-refunds-idempotent\"},{\"title\":\"Create an Instant Refund\",\"description\":\"Create an Instant Refund using Razorpay Refunds API.\",\"api\":\"POST /v1/payments/:id/refund\",\"href\":\"/docs/api/refunds/create-instant\"},{\"title\":\"Create an Instant Refund (Idempotent Request)\",\"description\":\"Retry or send the same instant refund request multiple times safely using the Razorpay API.\",\"api\":\"POST /v1/payments/:id/refund\",\"href\":\"/docs/api/refunds/instant-refunds-idempotent\"},{\"title\":\"Fetch Multiple Refunds for a Payment\",\"description\":\"Fetch Multiple Refunds for a Payment using Razorpay Refunds API.\",\"api\":\"GET /v1/payments/:id/refunds\",\"href\":\"/docs/api/refunds/fetch-multiple-refund-payment\"},{\"title\":\"Fetch a Specific Refund for a Payment\",\"description\":\"Fetch a Specific Refund for a Payment using Razorpay Refunds API.\",\"api\":\"GET /v1/payments/:payment_id/refunds/:refund_id\",\"href\":\"/docs/api/refunds/fetch-specific-refund-payment\"},{\"title\":\"Fetch All Refunds\",\"description\":\"Fetch all Refunds using Razorpay Refunds API.\",\"api\":\"GET /v1/refunds/\",\"href\":\"/docs/api/refunds/fetch-all\"},{\"title\":\"Fetch Refund With ID\",\"description\":\"Fetch Refund With id using Razorpay Refunds API.\",\"api\":\"GET /v1/refunds/:id\",\"href\":\"/docs/api/refunds/fetch-with-id\"},{\"title\":\"Update a Refund\",\"description\":\"Update a Refund using Razorpay Refunds API.\",\"api\":\"PATCH /v1/refunds/:id/\",\"href\":\"/docs/api/refunds/update\"}]},{\"group\":\"Disputes\",\"pages\":[{\"title\":\"Disputes\",\"description\":\"List of Dispute APIs available to perform various actions.\",\"href\":\"/docs/api/disputes\"},{\"title\":\"Disputes Entity\",\"description\":\"Know about Disputes entity parameters and their description\",\"href\":\"/docs/api/disputes/entity\"},{\"title\":\"Fetch All Disputes\",\"description\":\"Fetch all Disputes using Razorpay Disputes API.\",\"api\":\"GET /v1/disputes\",\"href\":\"/docs/api/disputes/fetch-all\"},{\"title\":\"Fetch a Dispute With ID\",\"description\":\"Fetch a Dispute using Razorpay Disputes API.\",\"api\":\"GET /v1/disputes/:id\",\"href\":\"/docs/api/disputes/fetch\"},{\"title\":\"Fetch a Dispute With ID (With Expanded Payments Details)\",\"description\":\"Fetch a Dispute using Razorpay Disputes API.\",\"api\":\"GET /v1/disputes/:id?expand[]=payment\",\"href\":\"/docs/api/disputes/fetch-dispute-expanded-payment\"},{\"title\":\"Fetch a Dispute With ID (With Expanded transaction.settlement Details)\",\"description\":\"Fetch a Dispute using Razorpay Disputes API.\",\"api\":\"GET /v1/disputes/:id?expand[]=transaction.settlement\",\"href\":\"/docs/api/disputes/fetch-dispute-expanded-transaction\"},{\"title\":\"Accept a Dispute\",\"description\":\"Accept a Dispute using Razorpay Disputes API.\",\"api\":\"POST /v1/disputes/:id/accept\",\"href\":\"/docs/api/disputes/accept\"},{\"title\":\"Contest a Dispute\",\"description\":\"Contest a Dispute using Razorpay Disputes API.\",\"api\":\"PATCH /v1/disputes/:id/contest\",\"href\":\"/docs/api/disputes/contest\"}]},{\"group\":\"Documents\",\"pages\":[{\"title\":\"Documents\",\"description\":\"Securely send dis
2049pute-related documents to Razorpay using the Documents API.\",\"href\":\"/docs/api/documents\"},{\"title\":\"Documents Entity\",\"description\":\"Know about documents entity parameters and their description.\",\"href\":\"/docs/api/documents/entity\"},{\"title\":\"Create a Document\",\"description\":\"Create a Document using Razorpays API.\",\"api\":\"POST /v1/documents\",\"href\":\"/docs/api/documents/create\"},{\"title\":\"Fetch Document Information\",\"description\":\"Fetch Document Information using Razorpays API.\",\"api\":\"GET /v1/documents/:id\",\"href\":\"/docs/api/documents/fetch-info\"},{\"title\":\"Fetch Document Content\",\"description\":\"Fetch Document Content using Razorpays API.\",\"api\":\"GET /v1/documents/:id/content\",\"href\":\"/docs/api/documents/fetch-content\"}]},{\"group\":\"Customers\",\"pages\":[{\"title\":\"Customers\",\"description\":\"Create, edit, and fetch Customer details using Razorpay APIs.\",\"href\":\"/docs/api/customers\"},{\"title\":\"Customers Entity\",\"description\":\"Entity parameters and sample code for Customers API.\",\"href\":\"/docs/api/customers/entity\"},{\"title\":\"Create a Customer\",\"description\":\"Create a Customer using Razorpay Customers API.\",\"api\":\"POST /v1/customers\",\"href\":\"/docs/api/customers/create\"},{\"title\":\"Edit Customer Details\",\"description\":\"Edit Customer Details using Razorpay Customers API.\",\"api\":\"PUT /v1/customers/:id\",\"href\":\"/docs/api/customers/edit\"},{\"title\":\"Fetch All Customers\",\"description\":\"Fetch all Customers using Razorpay Customers API.\",\"api\":\"GET /v1/customers\",\"href\":\"/docs/api/customers/fetch-all\"},{\"title\":\"Fetch Customer With ID\",\"description\":\"Fetch Customer With id using Razorpay Customers API.\",\"api\":\"GET /v1/customers/:id\",\"href\":\"/docs/api/customers/fetch-with-id\"}]},{\"group\":\"Payment Links\",\"pages\":[{\"title\":\"Payment Links\",\"description\":\"Create, update, delete, cancel, fetch and send Payment Links using Razorpay APIs.\",\"href\":\"/docs/api/payments/payment-links\"},{\"title\":\"Payment Links Entity\",\"description\":\"Entity parameters and sample code for Payment Links API.\",\"href\":\"/docs/api/payments/payment-links/entity\"},{\"title\":\"Create a Standard Payment Link\",\"description\":\"Create a Standard Payment Link using this endpoint.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/create-standard\"},{\"title\":\"Create a UPI Payment Link\",\"description\":\"Create a UPI Payment Link using this endpoint.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/create-upi\"},{\"title\":\"Fetch All Standard Payment Links\",\"description\":\"Fetch all Standard Payment Links using this endpoint.\",\"api\":\"GET /v1/payment_links/\",\"href\":\"/docs/api/payments/payment-links/fetch-all-standard\"},{\"title\":\"Fetch All UPI Payment Links\",\"description\":\"Fetch all UPI Payment Links using this endpoint.\",\"api\":\"GET /v1/payment_links/\",\"href\":\"/docs/api/payments/payment-links/fetch-all-upi\"},{\"title\":\"Fetch Standard Payment Links With ID\",\"description\":\"Fetch Standard Payment Links with their Id using this endpoint.\",\"api\":\"GET /v1/payment_links/:id\",\"href\":\"/docs/api/payments/payment-links/fetch-id-standard\"},{\"title\":\"Fetch UPI Payment Links With ID\",\"description\":\"Fetch UPI Payment Links with their Id using this endpoint.\",\"api\":\"GET /v1/payment_links/:id\",\"href\":\"/docs/api/payments/payment-links/fetch-id-upi\"},{\"title\":\"Send or Resend Notifications\",\"description\":\"Send or Resend notifications to your customers via email and SMS using this endpoint.\",\"api\":\"POST /v1/payment_links/:id/notify_by/:medium\",\"href\":\"/docs/api/payments/payment-links/resend\"},{\"title\":\"Update Standard Payment Link\",\"description\":\"Update the details of a Standard Payment Link using this endpoint.\",\"api\":\"PATCH /v1/payment_links/:id\",\"href\":\"/docs/api/payments/payment-links/update-standard\"},{\"title\":\"Update UPI Payment Link\",\"description\":\"Update the details of a UPI Payment Link using this endpoint.\",\"api\":\"PATCH /v1/payment_links/:id\",\"href\":\"/docs/api/payments/payment-links/update-upi\"},{\"title\":\"Cancel a Standard Payment Link\",\"description\":\"Cancel a Standard Payment Link using this endpoint.\",\"api\":\"POST /v1/payment_links/:id/cancel\",\"href\":\"/docs/api/payments/payment-links/cancel-standard\"},{\"title\":\"Cancel a UPI Payment Link\",\"description\":\"Cancel a UPI Payment Link using this endpoint.\",\"api\":\"POST /v1/payment_links/:id/cancel\",\"href\":\"/docs/api/payments/payment-links/cancel-upi\"},{\"title\":\"Implement Thematic Changes in Payment Links Checkout Section\",\"description\":\"Customise the Checkout UI in the Payment Links payment request page using Razorpay APIs. Hide the top bar and prevent customers from choosing a different payment method.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/checkout-theme\"}
2049,{\"title\":\"Change Business Name\",\"description\":\"Customise the business name appearing on the Checkout section of the Payment Link payment request page using Razorpay APIs.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/change-business-name\"},{\"title\":\"Customise Payment Methods - Options and Method Parameters\",\"description\":\"Customise the payment methods available to customers while using Payment Links using Razorpay APIs.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/customise-payment-methods\"},{\"title\":\"Customise Payment Methods - Options and Config Parameters\",\"description\":\"Customise the payment methods available to customers while using Payment Links using Razorpay APIs.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/customise-options-config\"},{\"title\":\"Rename Labels in Checkout Section\",\"description\":\"Customise and rename the labels in the Checkout Section of the Payment Links payment request page using Razorpay APIs.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/rename-checkout-labels\"},{\"title\":\"Rename Labels in Payment Details Section\",\"description\":\"Customise and rename the labels in the Payment Details section of the Payment Links payment request page using Razorpay APIs.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/rename-payment-details-labels\"},{\"title\":\"Offers on Payment Links\",\"description\":\"Provide offers to customers using Payment Links APIs.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/offers\"},{\"title\":\"Transfer Payments Received Using Payment Links\",\"description\":\"Directly transfer the payments received from customers via Payment Links to your linked accounts using Razorpay APIs.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/transfer-payments\"},{\"title\":\"Perform Third-Party Validation Using Payment Links\",\"description\":\"Use Razorpay Payment Links APIs to perform third-party validation of bank accounts provided by your customers.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/third-party-validation\"}]},{\"group\":\"QR Codes\",\"pages\":[{\"title\":\"QR Codes\",\"description\":\"API Documentation for Razorpay QR Codes. Create, Close and Fetch QR Codes using APIs. Check the various use cases and code samples.\",\"href\":\"/docs/api/qr-codes\"},{\"title\":\"QR Codes Entity\",\"description\":\"Know about QR Codes entity parameters and their description.\",\"href\":\"/docs/api/qr-codes/entity\"},{\"title\":\"Create a QR Code\",\"description\":\"Create QR Codes with this endpoint and share with your customers.\",\"api\":\"POST /v1/payments/qr_codes\",\"href\":\"/docs/api/qr-codes/create\"},{\"title\":\"Close a QR Code\",\"description\":\"Close QR Codes with this endpoint.\",\"api\":\"POST /v1/payments/qr_codes/:id/close\",\"href\":\"/docs/api/qr-codes/close\"},{\"title\":\"Fetch All QR Codes\",\"description\":\"Fetch the details of multiple QR Codes using this endpoint.\",\"api\":\"GET /v1/payments/qr_codes?count=2\",\"href\":\"/docs/api/qr-codes/fetch-all\"},{\"title\":\"Fetch a QR Code\",\"description\":\"Fetch the details of a QR Code by Id.\",\"api\":\"GET /v1/payments/qr_codes/:id\",\"href\":\"/docs/api/qr-codes/fetch-with-id\"},{\"title\":\"Fetch QR Codes for a Customer ID\",\"description\":\"Fetch the details of a QR Codes using a Customer id.\",\"api\":\"GET /v1/payments/qr_codes?customer_id=\\\\{customer_id\\\\}\",\"href\":\"/docs/api/qr-codes/fetch-customer-id\"},{\"title\":\"Fetch QR Codes for a Payment ID\",\"description\":\"Fetch the details of a QR Codes using a Payment Id.\",\"api\":\"GET /v1/payments/qr_codes?payment_id=\\\\{payment_id\\\\}\",\"href\":\"/docs/api/qr-codes/fetch-payment-id\"},{\"title\":\"Fetch Payments for a QR Code\",\"description\":\"Fetch payments made on a particular QR Code using this endpoint.\",\"api\":\"GET /v1/payments/qr_codes/:id/payments\",\"href\":\"/docs/api/qr-codes/fetch-payments\"},{\"title\":\"Update a QR Code\",\"description\":\"Update QR Codes with this endpoint and share with your customers.\",\"api\":\"PATCH /v1/payments/qr_codes/:id/\",\"href\":\"/docs/api/qr-codes/update\"}]},{\"group\":\"Invoices\",\"pages\":[{\"title\":\"Invoices\",\"description\":\"Create, update, delete, cancel, fetch and send Invoices using Razorpay APIs.\",\"href\":\"/docs/api/payments/invoices\"},{\"title\":\"Invoices Entity\",\"description\":\"Entity parameters and sample code for Invoices API.\",\"href\":\"/docs/api/payments/invoices/entity\"},{\"title\":\"Create an Invoice With Customer ID\",\"description\":\"Create an Invoice with the Customer id.\",\"api\":\"POST /v1/invoices\",\"href\":\"/docs/api/payments/invoices/create-with-customer-id\"},{\"title\":\"Create an Invoice With Customer Details\",\"description\":\"Create an Invoice with basic details such as name and billing address.\",\"api\":\"POST /v1/invoices\",\"href\":\"/docs/api/payments/invoices/create-with-detail
2049s\"},{\"title\":\"Update an Invoice\",\"description\":\"Update the details of the Invoice using this endpoint.\",\"api\":\"PATCH /v1/invoices/:id\",\"href\":\"/docs/api/payments/invoices/update\"},{\"title\":\"Issue an Invoice\",\"description\":\"Issue an invoice using this endpoint.\",\"api\":\"POST /v1/invoices/:id/issue\",\"href\":\"/docs/api/payments/invoices/issue\"},{\"title\":\"Delete an Invoice\",\"description\":\"Delete an invoice using this endpoint.\",\"api\":\"DELETE /v1/invoices/:id\",\"href\":\"/docs/api/payments/invoices/delete\"},{\"title\":\"Cancel an Invoice\",\"description\":\"Cancel an invoice using this endpoint.\",\"api\":\"POST /v1/invoices/:id/cancel\",\"href\":\"/docs/api/payments/invoices/cancel\"},{\"title\":\"Fetch an Invoice With ID\",\"description\":\"Fetch the details of an Invoice using this endpoint.\",\"api\":\"GET /v1/invoices/:id\",\"href\":\"/docs/api/payments/invoices/fetch-with-id\"},{\"title\":\"Fetch All Invoices\",\"description\":\"Fetch the details of all Invoices using this endpoint.\",\"api\":\"GET /v1/invoices\",\"href\":\"/docs/api/payments/invoices/fetch-all\"},{\"title\":\"Send Notifications\",\"description\":\"Send notifications to your customers via SMS and Email using this endpoint.\",\"api\":\"POST /v1/invoices/:id/notify_by/:medium\",\"href\":\"/docs/api/payments/invoices/resend\"},{\"title\":\"Items Entity\",\"description\":\"Entity parameters and sample code for Items API.\",\"href\":\"/docs/api/payments/invoices/item-entity\"},{\"title\":\"Create an Item\",\"description\":\"Create an Item with basic details such as name and amount.\",\"api\":\"POST /v1/items\",\"href\":\"/docs/api/payments/invoices/create-item\"},{\"title\":\"Fetch Item With ID\",\"description\":\"Fetch an Item with your Item Id.\",\"api\":\"GET /v1/items/:id\",\"href\":\"/docs/api/payments/invoices/fetch-with-id-item\"},{\"title\":\"Fetch All Items\",\"description\":\"Retrieve all the Items created till date.\",\"api\":\"GET /v1/items\",\"href\":\"/docs/api/payments/invoices/fetch-all-items\"},{\"title\":\"Update an Item\",\"description\":\"Update an Item details using this endpoint.\",\"api\":\"PATCH /v1/items/:id\",\"href\":\"/docs/api/payments/invoices/update-item\"},{\"title\":\"Delete an Item\",\"description\":\"Delete an Item using this endpoint.\",\"api\":\"DELETE /v1/items/:id\",\"href\":\"/docs/api/payments/invoices/delete-item\"}]},{\"group\":\"Subscriptions\",\"pages\":[{\"title\":\"Subscriptions\",\"description\":\"Know about Subscriptions and list of endpoints.\",\"href\":\"/docs/api/payments/subscriptions\"},{\"title\":\"Plans Entity\",\"description\":\"Know about the Plan entity and the associated parameter descriptions.\",\"href\":\"/docs/api/payments/subscriptions/plans-entity\"},{\"title\":\"Create a Plan\",\"description\":\"Create a plan with basic details such as amount and currency\",\"api\":\"POST /v1/plans\",\"href\":\"/docs/api/payments/subscriptions/create-plan\"},{\"title\":\"Fetch All Plans\",\"description\":\"Fetch details of all plans created using the Razorpay API.\",\"api\":\"GET /v1/plans\",\"href\":\"/docs/api/payments/subscriptions/fetch-all-plans\"},{\"title\":\"Fetch a Plan With ID\",\"description\":\"Fetch a plan using the unique identifier\",\"api\":\"GET /v1/plans/:id\",\"href\":\"/docs/api/payments/subscriptions/fetch-a-plan\"},{\"title\":\"Subscriptions Entity\",\"description\":\"Know about the Subscription entity and the associated parameter descriptions.\",\"href\":\"/docs/api/payments/subscriptions/entity\"},{\"title\":\"Create a Subscription\",\"description\":\"Create a Subscription using the Razorpay API.\",\"api\":\"POST /v1/subscriptions\",\"href\":\"/docs/api/payments/subscriptions/create-subscription\"},{\"title\":\"Create a Subscription Link\",\"description\":\"Create a Subscription link using the Razorpay API.\",\"api\":\"POST /v1/subscriptions\",\"href\":\"/docs/api/payments/subscriptions/create-subscription-link\"},{\"title\":\"Fetch All Subscriptions\",\"description\":\"Fetch all Subscriptions using the Razorpay API.\",\"api\":\"GET /v1/subscriptions\",\"href\":\"/docs/api/payments/subscriptions/fetch-subscriptions\"},{\"title\":\"Fetch a Subscription With ID\",\"description\":\"Fetch a Subscription using the unique identifier.\",\"api\":\"GET /v1/subscriptions/:id\",\"href\":\"/docs/api/payments/subscriptions/fetch-subscription-id\"},{\"title\":\"Cancel a Subscription\",\"description\":\"Cancel a Subscription using the Razorpay API.\",\"api\":\"POST /v1/subscriptions/:id/cancel\",\"href\":\"/docs/api/payments/subscriptions/cancel-subscription\"},{\"title\":\"Update a Subscription\",\"description\":\"Update a Subscription using the Razorpay API.\",\"api\":\"PATCH /v1/subscriptions/:id\",\"href\":\"/docs/api/payments/subscriptions/update-subscription\"},{\"title\":\"Fetch Details of a Pending Update\",\"description\":\"Fetch details of a pending update using the Razorpay API.\",\"api\":\"GET /v1/subscriptions/:id/retrieve_scheduled_changes\",\"href\":\"/docs/api/payments/subscriptions/fetch-pending-update-details\"},{\"title\":\"Cancel an Update\",\"description\":\"Cancel an update using the Razorpay API.\",\"api\":\"POST /v1/subscriptions/:id/cancel_scheduled_changes\",\"href\":\"/docs/api/payments/subscriptions/cancel-update\"},{\"title\":\"Pause a Subscription\",\"description\":\"Pause a Subscription using the Razorpay API.\",\"api\":\"POST /v1/subscriptions/:id/pause\",\"href\":\"/docs/api/payments/subscriptions/pause-subscription\"},{\"title\":\"Resume a Subscription\",\"description\":\"Resume a Subscription using the Razorpay API.\",\"api\":\"POST /v1/subscriptions/:id/resume\",\"href\":\"/docs/api/payments/subscriptions/resume-subscription\"},{\"title\":\"Fetch All Invoices of a Subscription\",\"description\":\"Fetch all invoices of a Subscription using the Razorpay API.\",\"api\":\"GET /v1/invoices?subscription_id=:sub_id\",\"href\":\"/docs/api/payments/subscriptions/fetch-invoices\"},{\"title\":\"Link an Offer to a Subscription\",\"description\":\"Link an Offer to a Subscription using the Razorpay API.\",\"api\":\"POST /v1/subscriptions\",\"href\":\"/docs/api/payments/subscriptions/link-offer\"},{\"title\":\"Delete an Offer Linked to a Subscription\",\"description\":\"Delete an Offer linked to a Subscription using the Razorpay API.\",\"api\":\"DELET
2049E /v1/subscriptions/:sub_id/:offer_id\",\"href\":\"/docs/api/payments/subscriptions/delete-offer\"}]},{\"group\":\"Route\",\"pages\":[{\"title\":\"Route\",\"description\":\"Use Route to create APIs for Linked Accounts, Stakeholders, Product Configuration and Stakeholders.\",\"href\":\"/docs/api/payments/route\"},{\"title\":\"Linked Account Entity\",\"description\":\"Know about linked account entity parameters and their description.\",\"href\":\"/docs/api/payments/route/linked-account-entity\"},{\"title\":\"Create a Linked Account\",\"description\":\"Create a Linked Account using the Razorpay API.\",\"api\":\"POST /v2/accounts\",\"href\":\"/docs/api/payments/route/create-linked-account\"},{\"title\":\"Create a Linked Account (Composite)\",\"description\":\"Create a Linked Account with settlement destination in a single atomic API call using Razorpay Route Composite API.\",\"api\":\"POST /v2/accounts\",\"href\":\"/docs/api/payments/route/create-linked-account-composite\"},{\"title\":\"Update a Linked Account\",\"description\":\"Update Linked Accounts using the Razorpay API.\",\"api\":\"PATCH /v2/accounts/:account_id\",\"href\":\"/docs/api/payments/route/update-linked-accounts\"},{\"title\":\"Fetch a Linked Account With ID\",\"description\":\"Fetch details of a Linked Account using the Razorpay API.\",\"api\":\"GET /v2/accounts/:account_id\",\"href\":\"/docs/api/payments/route/fetch-with-id\"},{\"title\":\"Stakeholder Entity\",\"description\":\"Know about stakeholder entity parameters and their description.\",\"href\":\"/docs/api/payments/route/stakeholder-entity\"},{\"title\":\"Create a Stakeholder Account\",\"description\":\"Create a Stakeholder account using the Razorpay API.\",\"api\":\"POST /v2/accounts/:account_id/stakeholders\",\"href\":\"/docs/api/payments/route/create-stakeholder\"},{\"title\":\"Update a Stakeholder Account\",\"description\":\"Update a stakeholder account using the Razorpay API.\",\"api\":\"PATCH /v2/accounts/:account_id/stakeholders/:stakeholder_id\",\"href\":\"/docs/api/payments/route/update-stakeholder\"},{\"title\":\"Product Configuration Entity\",\"description\":\"Know about product configuration entity parameters and their description.\",\"href\":\"/docs/api/payments/route/product-configuration-entity\"},{\"title\":\"Request a Product Configuration\",\"description\":\"Request a product configuration using the Razorpay API.\",\"api\":\"POST /v2/accounts/:account_id/products\",\"href\":\"/docs/api/payments/route/request-product-config\"},{\"title\":\"Update a Product Configuration\",\"description\":\"Update a product configuration using the Razorpay API.\",\"api\":\"PATCH /v2/accounts/:account_id/products/:product_id\",\"href\":\"/docs/api/payments/route/update-product-config\"},{\"title\":\"Fetch a Product Configuration\",\"description\":\"Fetch a product configuration using the Razorpay API.\",\"api\":\"GET /v2/accounts/:account_id/products/:product_id\",\"href\":\"/docs/api/payments/route/fetch-product-config\"},{\"title\":\"Transfers Entity\",\"description\":\"Know about transfers entity parameters and their description.\",\"href\":\"/docs/api/payments/route/transfers-entity\"},{\"title\":\"Create Transfers From Orders\",\"description\":\"Initiate Transfers when creating an Order using the Razorpay API.\",\"api\":\"POST /v1/orders\",\"href\":\"/docs/api/payments/route/create-transfers-orders\"},{\"title\":\"Create Transfers From Payments\",\"description\":\"Initiate Transfers from captured payments using the Razorpay API.\",\"api\":\"POST /v1/payments/:id/transfers\",\"href\":\"/docs/api/payments/route/create-transfers-payments\"},{\"title\":\"Create a Direct Transfer\",\"description\":\"Create a Direct Transfer using the Razorpay API.\",\"api\":\"POST /v1/transfers\",\"href\":\"/docs/api/payments/route/direct-transfers\"},{\"title\":\"Create a Direct Transfer (Idempotent Request)\",\"description\":\"Retry or send the same transfer request multiple times safely using the Razorpay API.\",\"api\":\"POST /v1/transfers\",\"href\":\"/docs/api/payments/route/direct-transfers-idempotent-request\"},{\"title\":\"Fetch Transfers for a Payment\",\"description\":\"Fetch Transfers for a payment using the Razorpay API.\",\"api\":\"GET /v1/payments/:id/transfers\",\"href\":\"/docs/api/payments/route/fetch-transfers-payment\"},{\"title\":\"Fetch Transfer for an Order\",\"description\":\"Fetch Transfer for an order using the Razorpay API.\",\"api\":\"GET /v1/orders/:id/?expand[]=transfers\u0026status=processing\",\"href\":\"/docs/api/payments/route/fetch-transfer-order\"},{\"title\":\"Fetch a Transfer With ID\",\"description\":\"Fetch a Transfer using the Razorpay API.\",\"api\":\"GET /v1/transfers/:id\",\"href\":\"/docs/api/payments/route/fetch-a-transfer\"},{\"title\":\"Fetch Transfers for a Settlement\",\"description\":\"Fetch Transfers for a Settlement using the Razorpay API.\",\"api\":\"GET /v1/transfers?recipient_settlement_id=:id\",\"href\":\"/docs/api/payments/route/fetch-transfers-for-a-settlement\"},{\"title\":\"Fetch Settlement Details\",\"description\":\"Fetch settlement details using the Razorpay API.\",\"api\":\"GET /v1/transfers?expand[]=recipient_settlement\",\"href\":\"/docs/api/payments/route/fetch-settlement-details\"}
2049,{\"title\":\"Fetch Payments of a Linked Account\",\"description\":\"Fetch Payments of a Linked Account using the Razorpay API.\",\"api\":\"GET /v1/payments/\",\"href\":\"/docs/api/payments/route/fetch-payments-linked-account\"},{\"title\":\"Refund Payments and Reverse Transfer from a Linked Account\",\"description\":\"Refund Payments and reverse Transfer from a Linked Account using the Razorpay API.\",\"api\":\"POST /v1/payments/:id/refund\",\"href\":\"/docs/api/payments/route/refund-payments-and-reverse-transfer\"},{\"title\":\"Reverse a Transfer\",\"description\":\"Reverse a Transfer using the Razorpay API.\",\"api\":\"POST /v1/transfers/:id/reversals\",\"href\":\"/docs/api/payments/route/reverse-a-transfer\"},{\"title\":\"Fetch Reversals for a Transfer\",\"description\":\"Fetch Reversals for a Transfer using the Razorpay API.\",\"api\":\"GET /v1/transfers/:id/reversals\",\"href\":\"/docs/api/payments/route/fetch-reversals\"},{\"title\":\"Modify Settlement Hold for Transfers\",\"description\":\"Modify Settlement Hold for Transfers using the Razorpay API.\",\"api\":\"PATCH /v1/transfers/:id\",\"href\":\"/docs/api/payments/route/modify-settlement-hold\"}]},{\"group\":\"Smart Collect\",\"pages\":[{\"title\":\"Smart Collect\",\"description\":\"Create Customer Identifiers on-demand for customers to pay via NEFT, RTGS and IMPS using Razorpay Smart Collect APIs.\",\"href\":\"/docs/api/payments/smart-collect\"},{\"title\":\"Smart Collect Entity\",\"description\":\"Entity parameters and sample code for Smart Collect API.\",\"href\":\"/docs/api/payments/smart-collect/entity\"},{\"title\":\"Create a Customer Identifier With Bank Account Receiver\",\"description\":\"Create a Customer Identifier with bank account receiver using the Razorpay API.\",\"api\":\"POST /v1/virtual_accounts\",\"href\":\"/docs/api/payments/smart-collect/create-cust-id-bank-account\"},{\"title\":\"Close a Customer Identifier\",\"description\":\"Close a Customer Identifier using the Razorpay API\",\"api\":\"POST /v1/virtual_accounts/:id/close\",\"href\":\"/docs/api/payments/smart-collect/close\"},{\"title\":\"Fetch a Customer Identifier Using id\",\"description\":\"Fetch a Customer Identifier with id using the Razorpay API\",\"api\":\"GET /v1/virtual_accounts/:id\",\"href\":\"/docs/api/payments/smart-collect/fetch-with-id\"},{\"title\":\"Fetch All Customer Identifiers\",\"description\":\"Fetch all Customer Identifiers using the Razorpay Smart Collect APIs.\",\"api\":\"GET /v1/virtual_accounts\",\"href\":\"/docs/api/payments/smart-collect/fetch-all\"},{\"title\":\"Fetch Payments for a Customer Identifier\",\"description\":\"Fetch payments for a Customer Identifier using the Razorpay API\",\"api\":\"GET /v1/virtual_accounts/:id/payments\",\"href\":\"/docs/api/payments/smart-collect/fetch-payments-cust-id\"},{\"title\":\"Fetch Payments Made Using Bank Transfer\",\"description\":\"Fetch Payments made using Bank Transfer payment method.\",\"api\":\"GET /v1/payments/:id/bank_transfer\",\"href\":\"/docs/api/payments/smart-collect/fetch-payments-bank-transfer\"},{\"title\":\"Fetch Payments Using UTR Number\",\"description\":\"Fetch Payments made using Bank Transfer via UTR using the Razorpay API.\",\"api\":\"GET /v1/payments?skip=0\u0026count=25\u0026va_transaction_id=:id\u0026virtual_account=1\",\"href\":\"/docs/api/payments/smart-collect/fetch-payments-bank-transfer-utr\"},{\"title\":\"Update a Customer Identifier\",\"description\":\"Update a Customer Identifier using the Razorpay API\",\"api\":\"PATCH /v1/virtual_accounts/:id\",\"href\":\"/docs/api/payments/smart-collect/update\"},{\"title\":\"Smart Collect With TPV\",\"sidebarTitle\":\"Smart Collect TPV\",\"description\":\"Create and manage Customer Identifiers and fetch payment details using Razorpay **Smart Collect TPV** APIs.\",\"href\":\"/docs/api/payments/smart-collect-tpv\"},{\"title\":\"Smart Collect With TPV Entity\",\"description\":\"Entity parameters and sample code for Smart Collect With TPV API.\",\"href\":\"/docs/api/payments/smart-collect-tpv/entity\"},{\"title\":\"Create a Customer Identifier With TPV\",\"description\":\"Create a Customer Identifier using the Razorpay Smart Collect API.\",\"api\":\"POST /v1/virtual_accounts\",\"href\":\"/docs/api/payments/smart-collect-tpv/create\"},{\"title\":\"Add an Allowed Payer Account\",\"description\":\"Add an Allowed Payer Account using the Razorpay **Smart Collect TPV** APIs.\",\"api\":\"POST /v1/virtual_accounts/:va_id/allowed_payers\",\"href\":\"/docs/api/payments/smart-collect-tpv/add-allowed-payer\"},{\"title\":\"Fetch a Customer Identifier Using id With TPV\",\"description\":\"Fetch a Customer Identifier by id using the Razorpay Smart Collect TPV API.\",\"api\":\"GET /v1/virtual_accounts/:id\",\"href\":\"/docs/api/payments/smart-collect-tpv/fetch-with-id\"},{\"title\":\"Fetch All Customer Identifiers With TPV\",\"description\":\"Fetch all Customer Identifiers using the Razorpay **Smart Collect TPV** API.\",\"api\":\"GET /v1/virtual_accounts\",\"href\":\"/docs/api/payments/smart-collect-tpv/fetch-all\"},{\"title\":\"Fetch Payments for a Customer Identifier With TPV\",\"description\":\"Fetch Payments for a Customer Identifier using the Razorpay **Smart Collect TPV** API.\",\"api\":\"GET /v1/virtual_accounts/:id/payments\",\"href\":\"/docs/api/payments/smart-collect-tpv/fetch-payments\"},{\"title\":\"Fetch Payment Details using ID and Transfer Method\",\"description\":\"Fetch Payment Details using ID and Transfer Method using the Razorpay Smart Collect API.\",\"api\":\"GET /v1/payments/:id/bank_transfer\",\"href\":\"/docs/api/payments/smart-collect-tpv/fetch-payment-id-transfer\"},{\"title\":\"Delete an Allowed Payer Account\",\"description\":\"Delete an Allowed Payer Account using the Razorpay Smart Collect API.\",\"api\":\"DELET
2049E /v1/virtual_accounts/:va_id/allowed_payers/:id\",\"href\":\"/docs/api/payments/smart-collect-tpv/delete-allowed-payer\"},{\"title\":\"Smart Collect 2.0 APIs\",\"sidebarTitle\":\"Smart Collect 2.0\",\"description\":\"Integrate Smart Collect 2.0 using Razorpay APIs.\",\"href\":\"/docs/api/payments/smart-collect-2\"},{\"title\":\"Smart Collect 2.0 Entity\",\"description\":\"Entity parameters and sample code for Smart Collect 2.0 API.\",\"href\":\"/docs/api/payments/smart-collect-2/entity\"},{\"title\":\"Fetch Payments Made Using UPI Payment Method\",\"description\":\"Fetch Payments made using UPI payment method, using the Razorpay API\",\"api\":\"GET /v1/payments/:id/upi_transfer\",\"href\":\"/docs/api/payments/smart-collect-2/fetch-payments-upi\"}]}]},{\"group\":\"Bills\",\"root\":{\"title\":\"About Bills\",\"description\":\"API Documentation for Razorpay bills. Create, Update and Delete Bills using APIs. Check the various use cases and code samples.\",\"href\":\"/docs/api/bills\"},\"pages\":[{\"title\":\"Bills Entity\",\"description\":\"Entity parameters and sample code for Bills API.\",\"href\":\"/docs/api/bills/entity\"},{\"title\":\"Create a Bill\",\"description\":\"Create Bills with this endpoint and share with your customers.\",\"api\":\"POST /v1/bills\",\"href\":\"/docs/api/bills/create\"},{\"title\":\"Update a Bill\",\"description\":\"Update Bills with this endpoint.\",\"api\":\"PATCH /v1/bills/:bill_id\",\"href\":\"/docs/api/bills/update\"},{\"title\":\"Delete a Bill\",\"description\":\"Delete Bills with this endpoint.\",\"api\":\"DELETE /v1/bills/:bill_id\",\"href\":\"/docs/api/bills/delete\"}]},{\"group\":\"Partners\",\"root\":{\"title\":\"Partner APIs\",\"description\":\"Onboard sub-merchants, configure their products, add stakeholders, upload KYC documents and subscribe to their events.\",\"href\":\"/docs/api/partners\"},\"pages\":[{\"group\":\"Account\",\"pages\":[{\"title\":\"Account\",\"description\":\"Use the Account APIs to onboard sub-merchants.\",\"href\":\"/docs/api/partners/account-onboarding\"},{\"title\":\"Account Entity\",\"description\":\"Entity parameters and sample code for Accounts API.\",\"href\":\"/docs/api/partners/account-onboarding/entity\"},{\"title\":\"Create an Account\",\"description\":\"Onboard sub-merchants by creating an account using Razorpay Partners APIs.\",\"api\":\"POST /v2/accounts\",\"href\":\"/docs/api/partners/account-onboarding/create\"},{\"title\":\"Fetch an Account\",\"description\":\"Retrieve account details with Razorpay Partners sub-merchant onboarding APIs.\",\"api\":\"GET /v2/accounts/:account_id\",\"href\":\"/docs/api/partners/account-onboarding/fetch\"},{\"title\":\"Update an Account\",\"description\":\"Update account with Razorpay Partners sub-merchant onboarding APIs.\",\"api\":\"PATCH /v2/accounts/:account_id\",\"href\":\"/docs/api/partners/account-onboarding/update\"},{\"title\":\"Delete an Account\",\"description\":\"Delete an Account using Razorpay Partners APIs.\",\"api\":\"DELETE /v2/accounts/:account_id\",\"href\":\"/docs/api/partners/account-onboarding/delete\"}]},{\"group\":\"Product Configuration\",\"pages\":[{\"title\":\"Product Configuration APIs\",\"sidebarTitle\":\"Product Configuration\",\"description\":\"Use the Product Configuration APIs to enable sub-merchants request for a product.\",\"href\":\"/docs/api/partners/product-configuration\"},{\"title\":\"Product Configuration Entity\",\"description\":\"Entity parameters and sample code for Product Configuration API.\",\"href\":\"/docs/api/partners/product-configuration/entity\"},{\"title\":\"Request a Product Configuration\",\"description\":\"Request a Product Configuration for Payment Gateway using Razorpay Partners APIs.\",\"api\":\"POST /v2/accounts/:account_id/products\",\"href\":\"/docs/api/partners/product-configuration/request\"},{\"title\":\"Fetch a Product Configuration\",\"description\":\"Fetch a Product Configuration using Razorpay Partners APIs.\",\"api\":\"GET /v2/accounts/:account_id/products/:product_id\",\"href\":\"/docs/api/partners/product-configuration/fetch\"},{\"title\":\"Update Settlement Account Details\",\"description\":\"Update a Product Configuration during product configuration using Razorpay Partners APIs.\",\"api\":\"PATCH /v2/accounts/:account_id/products/:product_id\",\"href\":\"/docs/api/partners/product-configuration/update-settlement-account-details\"},{\"title\":\"Request Payment Methods\",\"description\":\"Request Payment Methods during product configuration using Razorpay Partners APIs.\",\"api\":\"PATCH /v2/accounts/:account_id/products/:product_id\",\"href\":\"/docs/api/partners/product-configuration/update-request-payment-methods\"}]},{\"group\":\"Stakeholder\",\"pages\":[{\"title\":\"Stakeholder APIs\",\"sidebarTitle\":\"Stakeholder\",\"description\":\"Use the Stakeholder APIs to add stakeholders for an account.\",\"href\":\"/docs/api/partners/stakeholder\"},{\"title\":\"Stakeholder Entity\",\"description\":\"Entity parameters and sample code for Stakeholders API.\",\"href\":\"/docs/api/partners/stakeholder/entity\"},{\"title\":\"Create a Stakeholder\",\"description\":\"Create a Stakeholder using Razorpay Partners APIs.\",\"api\":\"POST /v2/accounts/:account_id/stakeholders\",\"href\":\"/docs/api/partners/stakeholder/create\"},{\"title\":\"Fetch a Stakeholder With ID\",\"description\":\"Fetch a Stakeholder using Razorpay Partners APIs.\",\"api\":\"GET /v2/accounts/:account_id/stakeholders/:stakeholder_id\",\"href\":\"/docs/api/partners/stakeholder/fetch-with-id\"},{\"title\":\"Fetch All Stakeholders\",\"description\":\"Fetch all Stakeholders using Razorpay Partners APIs.\",\"api\":\"GET /v2/accounts/:account_id/stakeholders\",\"href\":\"/docs/api/partners/stakeholder/fetch-all\"},{\"title\":\"Update a Stakeholder\",\"description\":\"Update a Stakeholder using Razorpay Partners APIs.\",\"api\":\"PATCH /v2/accounts/:account_id/stakeholders/:stakeholder_id\",\"href\":\"/docs/api/partners/stakeholder/update\"}]},{\"group\":\"Documents\",\"pages\":[{\"title\":\"Document APIs\",\"sidebarTitle\":\"Documents\",\"description\":\"Use the Document APIs to upload files and complete the mandatory KYC requirements.\",\"href\":\"/docs/api/partners/upload-document\"},{\"title\":\"Upload Account Documents\",\"description\":\"Upload signatory documents for an Account using Razorpay APIs.\",\"api\":\"POST /v2/accounts/:account_id/documents\",\"href\":\"/docs/api/partners/upload-document/upload-account-documents\"},{\"title\":\"Upload Stakeholder Documents\",\"description\":\"Upload signatory documents for a Stakeholder using Razorpay APIs.\",\"api\":\"POST /v2/accounts/:account_id/stakeholders/:stakeholder_id/
2049documents\",\"href\":\"/docs/api/partners/upload-document/upload-stakeholder-documents\"},{\"title\":\"Fetch Account Documents\",\"description\":\"Fetch the documents uploaded for an Account using Razorpay APIs.\",\"api\":\"GET /v2/accounts/:account_id/documents\",\"href\":\"/docs/api/partners/upload-document/fetch-account-documents\"},{\"title\":\"Fetch Stakeholder Documents\",\"description\":\"Fetch the documents uploaded for a Stakeholder using Razorpay APIs.\",\"api\":\"GET /v2/accounts/:account_id/stakeholders/:stakeholder_id/documents\",\"href\":\"/docs/api/partners/upload-document/fetch-stakeholder-documents\"}]},{\"group\":\"Webhooks\",\"pages\":[{\"title\":\"Webhooks\",\"description\":\"Use the Webhook APIs to receive event notifications or subscribe to events happening in a sub-merchant's account as per their integration.\",\"href\":\"/docs/api/partners/webhooks\"},{\"title\":\"Webhooks Entity\",\"description\":\"Entity parameters and sample code for Webhooks API.\",\"href\":\"/docs/api/partners/webhooks/entity\"},{\"title\":\"Create a Webhook\",\"description\":\"Create a webhook using Razorpay APIs to receive event notifications.\",\"api\":\"POST /v2/accounts/:account_id/webhooks\",\"href\":\"/docs/api/partners/webhooks/create\"},{\"title\":\"Fetch a Webhook With ID\",\"description\":\"Fetch and view the details of a specific webhook id using Razorpay APIs.\",\"api\":\"GET /v2/accounts/:account_id/webhooks/:webhook_id\",\"href\":\"/docs/api/partners/webhooks/fetch-with-id\"},{\"title\":\"Fetch All Webhooks\",\"description\":\"Fetch and view the details of all webhooks using Razorpay APIs.\",\"api\":\"GET /v2/accounts/:account_id/webhooks\",\"href\":\"/docs/api/partners/webhooks/fetch-all\"},{\"title\":\"Update a Webhook\",\"description\":\"Update a Webhook using Razorpay APIs.\",\"api\":\"PATCH /v2/accounts/:account_id/webhooks/:webhook_id\",\"href\":\"/docs/api/partners/webhooks/update\"},{\"title\":\"Delete a Webhook\",\"description\":\"Delete a webhook of a sub-merchant account using Razorpay APIs\",\"api\":\"DELETE /v2/accounts/:account_id/webhooks/:webhook_id\",\"href\":\"/docs/api/partners/webhooks/delete\"}]}]},{\"group\":\"Payout APIs\",\"root\":{\"title\":\"Get Started\",\"description\":\"Create Payouts using APIs.\",\"href\":\"/docs/api/x\"},\"pages\":[{\"group\":\"Account Validation\",\"pages\":[{\"title\":\"Account Validation\",\"description\":\"Overview of Account Validation for RazorpayX, APIs and webhook payload. Validate customer's bank account before you make payouts.\",\"href\":\"/docs/api/x/account-validation\"},{\"title\":\"Account Validation Entity\",\"description\":\"Overview of Account Validation for RazorpayX, APIs and webhook payload. Validate customer's bank account before you make payouts.\",\"href\":\"/docs/api/x/account-validation/entity\"},{\"title\":\"Create a Contact\",\"description\":\"Create a Contact via API.\",\"api\":\"POST /v1/contacts\",\"href\":\"/docs/api/x/account-validation/create-contact\"},{\"title\":\"Create a Fund Account of Type Bank Account\",\"description\":\"Create a Fund Account of the type bank account via API.\",\"api\":\"POST /v1/fund_accounts\",\"href\":\"/docs/api/x/account-validation/bank-account/create-fund-account\"},{\"title\":\"Validate a Bank Account\",\"description\":\"Validate Fund Account of type bank account via API.\",\"api\":\"POST /v1/fund_accounts/validations\",\"href\":\"/docs/api/x/account-validation/bank-account\"},{\"title\":\"Create a Fund Account of Type VPA\",\"description\":\"Create a Fund Account of the type VPA via API.\",\"api\":\"POST /v1/fund_accounts\",\"href\":\"/docs/api/x/account-validation/vpa/create-fund-account\"},{\"title\":\"Validate a VPA\",\"description\":\"Validate Fund Account of type VPA via API.\",\"api\":\"POST /v1/fund_accounts/validations\",\"href\":\"/docs/api/x/account-validation/vpa\"},{\"title\":\"Validate Bank Account (VPA) via Reverse Penny Drop\",\"description\":\"Validate your contact's bank account instantly via Reverse Penny Drop.\",\"api\":\"POST /v1/fund_accounts/validations\",\"href\":\"/docs/api/x/account-validation/reverse-penny-drop\"},{\"title\":\"Fetch All Account Validation Transactions\",\"description\":\"Retrieve all account validations transactions via API.\",\"api\":\"GET /v1/fund_accounts/validations?account_number=:account_number\",\"href\":\"/docs/api/x/account-validation/fetch-all-transactions\"},{\"title\":\"Fetch Account Validation Transaction With ID\",\"description\":\"Retrieve account validations transactions with its id via API.\",\"api\":\"GET /v1/fund_accounts/validations/:id\",\"href\":\"/docs/api/x/account-validation/fetch-transactions-with-id\"}]},{\"title\":\"Fetch Balance\",\"description\":\"Fetch Account Balances\",\"api\":\"GET /v1/banking_balances\",\"href\":\"/docs/api/x/account-validation/balance-fetch\"},{\"group\":\"Composite Account Validation\",\"pages\":[{\"title\":\"Account Validation Composite\",\"sidebarTitle\":\"Composite Account Validation\",\"description\":\"Composite Account Validation for RazorpayX, APIs and webhook payload. Validate your customersâ bank account or VPA with a single API before you make payouts.\",\"href\":\"/docs/api/x/composite-account-validation\"},{\"title\":\"Validate a Bank Account\",\"description\":\"Create Contact, Fund account and Validate Fund Account of type bank account via a single API.\",\"api\":\"POST /v1/fund_accounts/validations\",\"href\":\"/docs/api/x/composite-account-validation/bank-account\"},{\"title\":\"Validate a VPA\",\"description\":\"Create Contact, Fund account and validate Fund Account of type VPA via a single API.\",\"api\":\"POST /v1/fund_accounts/validations\",\"href\":\"/docs/api/x/composite-account-validation/vpa\"},{\"title\":\"Fetch All Account Validation Transactions\",\"description\":\"Retrieve all account validations transactions via API.\",\"api\":\"GET /v1/fund_accounts/validations?account_number=:account_number\",\"href\":\"/docs/api/x/composite-account-validation/fetch-all-transactions\"},{\"title\":\"Fetch Account Validation Transaction With ID\",\"description\":\"Retrieve account validations transactions with its id via API.\",\"api\":\"GET /v1/fund_accounts/validations/:id\",\"href\":\"/docs/api/x/composite-account-validation/fetch-transactions-with-id\"}]},{\"group\":\"Contacts\",\"pages\":[{\"title\":\"Contacts\",\"description\":\"List of Contacts APIs to create, retrieve, update and delete RazorpayX Contacts.\",\"href\":\"/docs/api/x/contacts\"},{\"title\":\"Contacts Entity\",\"description\":\"Check the entity code for Contacts APIs.\",\"href\":\"/docs/api/x/contacts/entity\"},{\"title\":\"Create a Contact\",\"description\":\"Create a Contact using API.\",\"api\":\"POST /v1/contacts\",\"href\":\"/docs/api/x/contacts/create\"},{\"title\":\"Update a Contact\",\"description\":\"Update a Contact using APIs.\",\"api\":\"PATCH /v1/contacts/:id\",\"href\":\"/docs/api/x/contacts/update\"},{\"title\":\"Fetch All Contacts\",\"description\":\"Fetch all Contacts using API.\",\"api\":\"GET /v1/contacts\",\"href\":\"/docs/api/x/contacts/fetch-all\"},{\"title\":\"Fetch Contact With ID\",\"description\":\"Fetch Contact with ID using APIs.\",\"api\":\"GET /v1/contacts/:id\",\"href\":\"/docs/api/x/contacts/fetch-with-id\"},{\"title\":\"Activate or Deactivate a Contact\",\"description\":\"Activate or Deactivate a Contact using APIs.\",\"api\":\"PATCH /v1/contacts/:id\",\"href\":\"/docs/api/x/contacts/activate-or-deactivate\"}]},{\"group\":\"Fund Accounts\",\"pages\":[{\"title\":\"Fund Accounts\",\"description\":\"List of Fund Accounts APIs to create, retrieve and activate Fund Accounts.\",\"href\":\"/docs/api/x/fund-accounts\"},{\"title\":\"Fund Accounts Entity\",\"description\":\"Check the entity code for Fund Accounts APIs.\",\"href\":\"/docs/api/x/fund-accounts/entity\"},{\"title\":\"Create a Fund Account of Type Bank Account\",\"description\":\"Create a Fund Account with Bank Account details using APIs.\",\"api\":\"POST /v1/fund_accounts\",\"href\":\"/docs/api/x/fund-accounts/create/bank-account\"},{\"title\":\"Create a Fund Account of Type VPA\",\"description\":\"Create a Fund Account with VPA details using APIs.\",\"api\":\"POST /v1/fund_accounts\",\"href\":\"/docs/api/x/fund-accounts/create/vpa\"},{\"title\":\"Fetch All Fund Accounts\",\"description\":\"Fetch all Fund Accounts using API.\",\"api\":\"GET /v1/fund_accounts\",\"href\":\"/docs/api/x/fund-accounts/fetch-all\"},{\"title\":\"Fetch a Fund Account With ID\",\"description\":\"Fetch a Fund Account with ID using API.\",\"api\":\"GET /v1/fund_accounts/:id\",\"href\":\"/docs/api/x/fund-accounts/fetch-with-id\"},{\"title\":\"Activate or Deactivate a Fund Account\",\"description\":\"Activate or Deactivate a Fund Account using API.\",\"api\":\"PATCH /v1/fund_accounts/:id\",\"href\":\"/docs/api/x/fund-accounts/activate-or-deactivate\"}]},{\"group\":\"Payouts\",\"pages\":[{\"title\":\"Payouts\",\"description\":\"Create, fetch and cancel Payouts using APIs. Set up webhooks for notifications.\",\"href\":\"/docs/api/x/payouts\"},{\"title\":\"Payouts Entity\",\"description\":\"View RazorpayX Payouts entity parameters and descriptions.\",\"href\":\"/docs/api/x/payouts/entity\"},{\"title\":\"Create a Payout to a Bank Account\",\"description\":\"Create a Payout to a Bank Account using APIs.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payouts/create/bank-account\"},{\"title\":\"Create a Payout to a VPA\",\"description\":\"Create a Payout to a VPA using API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payouts/create/vpa\"},{\"title\":\"Fetch All Payouts\",\"description\":\"Fetch All Payouts using API.\",\"api\":\"GET /v1/payouts?account_number=:account_number\",\"href\":\"/docs/api/x/payouts/fetch-all\"},{\"title\":\"Fetch Payout With ID\",\"description\":\"Fetch Payout with ID using API.\",\"api\":\"GET /v1/payouts/:id\",\"href\":\"/docs/api/x/payouts/fetch-with-id\"},{\"title\":\"Cancel a Queued Payout\",\"description\":\"Cancel a Queued Payout using API.\",\"api\":\"POST /v1/payouts/:id/cancel\",\"href\":\"/docs/api/x/payouts/cancel\"}]},{\"group\":\"Payouts to Cards\",\"pages\":[{\"title\":\"Payouts to Cards\",\"description\":\"Make payouts directly to a credit, debit or prepaid card using APIs.\",\"href\":\"/docs/api/x/payouts-cards\"},{\"title\":\"Payouts to Cards Entity\",\"description\":\"Check the entity code for Payouts to Cards APIs.\",\"href\":\"/docs/api/x/payouts-cards/entity\"},{\"title\":\"Create a Payout Without Saving Card\",\"description\":\"Create a Payout without Saving Card using API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payouts-cards/create/without-saving-card\"}
2049,{\"title\":\"Create a Fund Account for Externally Tokenised Card\",\"description\":\"Create a Fund Account for saving an external Tokenised Card using API.\",\"api\":\"POST /v1/fund_accounts\",\"href\":\"/docs/api/x/payouts-cards/create/save-card/external-token/fund-account\"},{\"title\":\"Create a Payout to Externally Tokenised Card\",\"description\":\"Create a Payout by saving an external Tokenised Card using API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payouts-cards/create/save-card/external-token/payout\"},{\"title\":\"Create a Fund Account for Card with Razorpay TokenHQ\",\"description\":\"Create a Fund Account for saving a card using Razorpay TokenHQ using API.\",\"api\":\"POST /v1/fund_accounts\",\"href\":\"/docs/api/x/payouts-cards/create/save-card/razorpay-tokenhq/fund-account\"},{\"title\":\"Create a Payout to Card with Razorpay TokenHQ\",\"description\":\"Create a Payout to Card with Razorpay TokenHQ using API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payouts-cards/create/save-card/razorpay-tokenhq/payout\"}]},{\"group\":\"Payout Composite\",\"pages\":[{\"title\":\"Payout Composite\",\"description\":\"Explore composite APIs to make a payout using a single API call.\",\"href\":\"/docs/api/x/payout-composite\"},{\"title\":\"Payout Composite Entity\",\"description\":\"Check the entity code for Payout Composite APIs.\",\"href\":\"/docs/api/x/payout-composite/entity\"},{\"title\":\"Create a Payout to Bank Account Using Composite API\",\"description\":\"Create a Payout to Bank Account using the Composite API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payout-composite/create/bank-account\"},{\"title\":\"Create a Payout to VPA Using Composite API\",\"description\":\"Create a Composite Payout using VPA via APIs.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payout-composite/create/vpa\"},{\"title\":\"Create a Payout to a Mobile Number Using Composite API\",\"description\":\"Create a Payout to Mobile Number using the Composite API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payout-composite/create/phone-number\"},{\"title\":\"Create a Payout to Card Using Composite API\",\"description\":\"Create a Composite Payout using Card using API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payout-composite/create/card\"}]},{\"group\":\"Payouts Approval\",\"pages\":[{\"title\":\"Payouts Approval\",\"description\":\"List of Payouts Approval API endpoints to approve/reject payout requests.\",\"href\":\"/docs/api/x/payouts-approval\"},{\"title\":\"Payouts Approval Entity\",\"description\":\"Check the entity code for Payouts Approval APIs.\",\"href\":\"/docs/api/x/payouts-approval/entity\"},{\"title\":\"Approve Payouts\",\"description\":\"Approve payouts using APIs.\",\"api\":\"POST /v1/payouts/:id/approve\",\"href\":\"/docs/api/x/payouts-approval/approve\"},{\"title\":\"Reject Payouts\",\"description\":\"Reject a payout using API.\",\"api\":\"POST /v1/payouts/:id/reject\",\"href\":\"/docs/api/x/payouts-approval/reject\"}]},{\"group\":\"Payout Idempotency\",\"pages\":[{\"title\":\"Payout Idempotency\",\"description\":\"Use the Payout Idempotency API to retry a request without duplication.\",\"href\":\"/docs/api/x/payout-idempotency\"},{\"title\":\"Make a Request Idempotent\",\"description\":\"Make a Request Idempotent using API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payout-idempotency/make-request\"}]},{\"group\":\"Payout Links\",\"pages\":[{\"title\":\"Payout Links\",\"description\":\"List of Payout Links API endpoints to create, retrieve and cancel Payout Links.\",\"href\":\"/docs/api/x/payout-links\"},{\"title\":\"Payout Links Entity\",\"description\":\"Check the entity code for Payout Links APIs.\",\"href\":\"/docs/api/x/payout-links/entity\"},{\"title\":\"Create Payout Links Using Contact Details\",\"description\":\"Create Payout Links via API using recipient's contact details.\",\"api\":\"POST /v1/payout-links\",\"href\":\"/docs/api/x/payout-links/create/use-contact-details\"},{\"title\":\"Create Payout Links Using Contact ID\",\"description\":\"Create Payout Links via API using RazorpayX Contact id.\",\"api\":\"POST /v1/payout-links\",\"href\":\"/docs/api/x/payout-links/create/use-contact-id\"},{\"title\":\"Fetch All Payout Links\",\"description\":\"Fetch all the Payout Links using the API.\",\"api\":\"GET /v1/payout-links\",\"href\":\"/docs/api/x/payout-links/fetch-all\"},{\"title\":\"Fetch a Payout Link With ID\",\"description\":\"Fetch a Payout Links with its ID using the API.\",\"api\":\"GET v1/payout-links/:id?expand[l=payouts\",\"href\":\"/docs/api/x/payout-links/fetch-with-id\"},{\"title\":\"Cancel a Payout Link\",\"description\":\"Cancel a Payout Link via API.\",\"api\":\"POST /v1/payout-links/:id/cancel\",\"href\":\"/docs/api/x/payout-links/cancel\"}]},{\"group\":\"Payout Wallet - Amazon\",\"pages\":[{\"title\":\"Payout Wallet - Amazon\",\"description\":\"Find APIs to make payouts via an Amazon Pay Gift Card.\",\"href\":\"/docs/api/x/payout-wallet\"},{\"title\":\"Payout Wallet - Amazon Entity\",\"description\":\"Check the entity code for Payout Wallet APIs.\",\"href\":\"/docs/api/x/payout-wallet/entity\"},{\"title\":\"Create a Contact\",\"description\":\"Create a Contact via API.\",\"api\":\"POST /v1/contacts/\",\"href\":\"/docs/api/x/payout-wallet/create/contact\"},{\"title\":\"Create a Fund Account of Type Wallet\",\"description\":\"Create a Fund Account of type the wallet via API.\",\"api\":\"POST /v1/fund-accounts/\",\"href\":\"/docs/api/x/payout-wallet/create/fund-account\"},{\"title\":\"Create a Payout to Amazon Pay Wallet\",\"description\":\"Create a Payout to wallet via API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payout-wallet/create/payout\"},{\"title\":\"Make Payouts to Amazon Pay Wallet Using Composite API\",\"description\":\"Make Payout to wallet via Composite API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payout-wallet/create/payout-composite\"}]},{\"group\":\"Transactions\",\"pages\":[{\"title\":\"Transactions\",\"description\":\"List of Transactions APIs to retrieve transactions.\",\"href\":\"/docs/api/x/transactions\"},{\"title\":\"Transactions Entity\",\"description\":\"Check the entity code of the Transactions API.\",\"href\":\"/docs/api/x/transactions/entity\"},{\"title\":\"Fetch All Transactions\",\"description\":\"Retrieve the details of all transactions from your account using the API.\",\"api\":\"GET /v1/transactions?account_number=:account_number\",\"href\":\"/docs/api/x/transactions/fetch-all\"},{\"title\":\"Fetch Transactions With ID\",\"description\":\"Retrieve the details of a transaction with its id using the API.\",\"api\":\"GET /v1/transactions/:id\",\"href\":\"/docs/api/x/transactions/fetch-with-id\"}]}]},{\"group\":\"Recurring Payments API\",\"root\":{\"title\":\"Recurring Payments API\",\"sidebarTitle\":\"Recurring Payments\",\"description\":\"Integrate Recurring Payments using Razorpay APIs.\",\"href\":\"/docs/api/payments/recurring-payments\"},\"pages\":[{\"title\":\"Postman Collection\",\"description\":\"Download the Postman collection for Razorpay Recurring Payments.\",\"href\":\"/docs/api/payments/recurring-payments/postman-collection\"},{\"group\":\"Emandate\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Create an authorisation transaction with Emandate as a payment method.\",\"href\":\"/docs/api/payments/recurring-payments/emandate/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/emandate/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorized.\",\"href\":\"/docs/api/payments/recurring-payments/emandate/create-subsequent-payments\"}]},{\"group\":\"Cards\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Create an authorisation transaction for cards using Razorpay APIs.\",\"href\":\"/docs/api/payments/recurring-payments/cards/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/cards/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorized.\",\"href\":\"/docs/api/payments/recurring-payments/cards/create-subsequent-payments\"}]},{\"group\":\"Wallets\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":null,\"href\":\"/docs/api/payments/recurring-payments/wallets/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/wallets/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorized.\",\"href\":\"/docs/api/payments/recurring-payments/wallets/create-subsequent-payments\"}]},{\"group\":\"Paper NACH\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Create an authorisation transaction with NACH as a payment method.\",\"href\":\"/docs/api/payments/recurring-payments/paper-nach/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/paper-nach/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorised.\",\"href\":\"/docs/api/payments/recurring-payments/paper-nach/create-subsequent-payments\"}]},{\"group\":\"UPI\",\"pages\":[{\"group\":\"UPI\",\"pages\":[{\"title\":\"1. Create an Authorisation Transaction\",\"description\":\"Create an authorisation transaction for UPI using Razorpay APIs and Registration Link.\",\"href\":\"/docs/api/payments/recurring-payments/upi/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/upi/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is authorised.\",\"href\":\"/docs/api/payments/recurring-payments/upi/create-subsequent-payments\"}]},{\"group\":\"UPI with TPV\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Create an authorisation transaction for UPI.\",\"href\":\"/docs/api/payments/recurring-payments/upi-tpv/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/upi-tpv/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is authorised.\",\"href\":\"/docs/api/payments/recurring-payments/upi-tpv/create-subsequent-payments\"}]},{\"group\":\"UPI One Time Mandate\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Steps to create an authorisation transaction for UPI one time mandate.\",\"href\":\"/docs/api/payments/recurring-payments/upi-otm/authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/upi-otm/tokens\"},{\"title\":\"3. Create a One Time Payment\",\"description\":\"Create and charge a one time payment using Razorpay APIs.\",\"href\":\"/docs/api/payments/recurring-payments/upi-otm/one-time-payment\"},{\"title\":\"Frequently Asked Questions (FAQs)\",\"description\":\"Find answers to frequently asked questions about UPI One-time Mandate.\",\"href\":\"/docs/api/payments/recurring-payments/upi-otm/faqs\"}]},{\"group\":\"UPI Reserve Pay (SBMD)\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Steps to create an authorisation transaction using the UPI Reserve Pay (SBMD) APIs.\",\"href\":\"/docs/api/payments/recurring-payments/upi-reserve-pay/authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay UPI Reserve Pay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/upi-reserve-pay/tokens\"},{\"title\":\"3. Create a One Time Payment\",\"description\":\"Create and charge a one time payment using Razorpay UPI Reserve Pay APIs.\",\"href\":\"/docs/api/payments/recurring-payments/upi-reserve-pay/one-time-payment\"}]}]},{\"group\":\"Registration and Charge First Payment Together\",\"pages\":[{\"title\":\"Charge First Payment Automatically after Emandate Registration\",\"sidebarTitle\":\"Emandate\",\"description\":\"Register a customer's mandate and charge them the first recurring payment as part of the same transaction via Emandate.\",\"href\":\"/docs/api/payments/recurring-payments/emandate/auto-debit\"},{\"title\":\"Charge First Payment Automatically after NACH Registration\",\"sidebarTitle\":\"Paper NACH\",\"description\":\"Register a customer's mandate AND charge them the first recurring payment as part of the same transaction via paper NACH.\",\"href\":\"/docs/api/payments/recurring-payments/paper-nach/auto-debit\"}]},{\"title\":\"Webhooks\",\"description\":\"Set up webhooks for Recurring Payments, check available webhook events and sample payloads for these events.\",\"href\":\"/docs/api/payments/recurring-payments/webhooks\"}]},{\"group\":\"Recurring Payments API - Custom Integration\",\"root\":{\"title\":\"Recurring Payments API - Custom Integration\",\"description\":\"Know how you can integrate Recurring Payments using Razorpay APIs.\",\"href\":\"/docs/api/payments/recurring-payments/custom\"},\"pages\":[{\"title\":\"Postman Collection\",\"sidebarTitle\":\"Postman Collection\",\"description\":\"Download the Postman collection for Razorpay Recurring Payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/postman-collection\"},{\"group\":\"UPI\",\"pages\":[{\"group\":\"UPI\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Learn how to create an authorisation transaction for upi.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorised.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi/create-subsequent-payments\"}]},{\"group\":\"UPI with TPV\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Learn how to create an authorisation transaction for upi.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-tpv/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-tpv/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is authorised.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-tpv/create-subsequent-payments\"}]},{\"group\":\"UPI One Time Mandate\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"descri
2049ption\":\"Create an authorisation transaction for UPI One Time Mandate using Razorpay Custom Checkout.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-otm/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-otm/tokens\"},{\"title\":\"3. Create a One Time Payment\",\"description\":\"Create and charge a one time payment using Razorpay APIs.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-otm/one-time-payment\"}]},{\"group\":\"UPI ReservePay\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Steps to create an authorisation transaction using the UPI Reserve Pay (SBMD) Custom Checkout APIs.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-reserve-pay/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay UPI Reserve Pay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-reserve-pay/tokens\"},{\"title\":\"3. Create a One Time Payment\",\"description\":\"Create and charge a one time payment using Razorpay UPI Reserve Pay APIs.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-reserve-pay/one-time-payment\"}]}]},{\"group\":\"Cards\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Create an authorisation transaction for cards using Razorpay APIs.\",\"href\":\"/docs/api/payments/recurring-payments/custom/cards/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/cards/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorised.\",\"href\":\"/docs/api/payments/recurring-payments/custom/cards/create-subsequent-payments\"}]},{\"group\":\"Emandate\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Know how to create an authorisation transaction with method emandate so customers can complete the authorization using their netbanking login.\",\"href\":\"/docs/api/payments/recurring-payments/custom/emandate/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/emandate/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorised.\",\"href\":\"/docs/api/payments/recurring-payments/custom/emandate/create-subsequent-payments\"}]},{\"group\":\"Paper NACH\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Learn how to create an authorisation transaction with method NACH so customers can set up authorization by signing a physical NACH form.\",\"href\":\"/docs/api/payments/recurring-payments/custom/paper-nach/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/paper-nach/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorised.\",\"href\":\"/docs/api/payments/recurring-payments/custom/paper-nach/create-subsequent-payments\"}]},{\"group\":\"Registration and Charge First Payment Together\",\"pages\":[{\"title\":\"Charge First Payment Automatically after Emandate Registration\",\"sidebarTitle\":\"Emandate\",\"description\":\"Register a customer's mandate AND charge them the first recurring payment as part of the same transaction via Emandate.\",\"href\":\"/docs/api/payments/recurring-payments/custom/emandate/auto-debit\"},{\"title\":\"Charge First Payment Automatically after NACH Registration\",\"sidebarTitle\":\"Paper NACH\",\"description\":\"Register a customer's mandate AND charge them the first recurring payment as part of the same transaction via paper NACH.\",\"href\":\"/docs/api/payments/recurring-payments/custom/paper-nach/auto-debit\"}]},{\"title\":\"Webhooks\",\"description\":\"Learn how to set up webhooks for recurring payments, available webhook events and sample payloads for these events. Webhooks are the best ways to receive alerts about the authorisation payment, the status of tokens and subsequent recurring payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/webhooks\"}]}]},{\"tab\":\"Developer Tools\",\"icon\":\"screwdriver-wrench\",\"pages\":[{\"title\":\"Developer Tools\",\"href\":\"/docs/developer-tools\"}]},{\"tab\":\"RBI Directive on Recurring Card Payments\",\"hidden\":true,\"pages\":[{\"title\":\"RBI Directive on Recurring Card Payments\",\"href\":\"/docs/announcements/rbi-card-mandate-guidelines/recurring-payments\"}]},{\"tab\":\"RBI Directive on Card Payments for Subscriptions\",\"hidden\":true,\"pages\":[{\"title\":\"RBI Directive on Card Payments for Subscriptions\",\"href\":\"/docs/announcements/rbi-card-mandate-guidelines/subscriptions\"}]},{\"tab\":\"Announcement Regarding TLS\",\"hidden\":true,\"pages\":[{\"title\":\"Announcement Regarding TLS\",\"href\":\"/docs/announcements/tls\"}]},{\"tab\":\"Bill Payments (BBPS)\",\"hidden\":true,\"pages\":[{\"title\":\"Bill Payments (BBPS)\",\"href\":\"/docs/api/bills/bill-payments\"}]},{\"tab\":\"Products\",\"hidden\":true,\"pages\":[{\"title\":\"Products\",\"href\":\"/docs/api/orders/products\"}]},{\"tab\":\"Terms and Conditions APIs\",\"hidden\":true,\"pages\":[{\"title\":\"Terms and Conditions APIs\",\"href\":\"/docs/api/partners/terms-conditions\"}]},{\"tab\":\"Card Fingerprints (or PAR) API\",\"hidden\":true,\"pages\":[{\"title\":\"Card Fingerprints (or PAR) API\",\"href\":\"/docs/api/payments/cards/fingerprints\"}]},{\"tab\":\"Complaints\",\"hidden\":true,\"pages\":[{\"title\":\"Complaints\",\"href\":\"/docs/api/payments/tpap-pro/complaints-flow\"}]},{\"tab\":\"Customer Onboarding\",\"hidden\":true,\"pages\":[{\"title\":\"Customer Onboarding\",\"href\":\"/docs/api/payments/tpap-pro/customer-onboarding\"}]},{\"tab\":\"Accounts Management\",\"hidden\":true,\"pages\":[{\"title\":\"Accounts Management\",\"href\":\"/docs/api/payments/tpap-pro/funds-account-management\"}]},{\"tab\":\"UPI Lite\",\"hidden\":true,\"pages\":[{\"title\":\"UPI Lite\",\"href\":\"/docs/api/payments/tpap-pro/fundsource-lite\"}]},{\"tab\":\"Mandates\",\"hidden\":true,\"pages\":[{\"title\":\"Mandates\",\"href\":\"/docs/api/payments/tpap-pro/mandate-flow\"}]},{\"tab\":\"Payments (API)\",\"hidden\":true,\"pages\":[{\"title\":\"Payments (API)\",\"href\":\"/docs/api/payments/tpap-pro/payments-flow\"}]},{\"tab\":\"UPI Number\",\"hidden\":true,\"pages\":[{\"title\":\"UPI Number\",\"href\":\"/docs/api/payments/tpap-pro/upi-number\"}]},{\"tab\":\"QR Codes GST APIs\",\"hidden\":true,\"pages\":[{\"title\":\"QR Codes GST APIs\",\"href\":\"/docs/api/qr-codes/gst\"}]},{\"tab\":\"QR Codes (Image Content)\",\"hidden\":true,\"pages\":[{\"title\":\"QR Codes (Image Content)\",\"href\":\"/docs/api/qr-codes/image-content\"}]},{\"tab\":\"Razorpay App Store - Discover App Integrations and Extensions\",\"hidden\":true,\"pages\":[{\"title\":\"Razorpay App Store - Discover App Integrations and Extensions\",\"href\":\"/docs/app-store\"}]},{\"tab\":\"Razorpay POS Error Codes and Troubleshooting\",\"hidden\":true,\"pages\":[{\"title\":\"Razorpay POS Error Codes and Troubleshooting\",\"href\":\"/docs/errors/pos\"}]},{\"tab\":\"About Aggregators\",\"hidden\":true,\"pages\":[{\"title\":\"About Aggregators\",\"href\":\"/docs/partners/aggregators\"}]},{\"tab\":\"COD \u0026 Magic Checkout (formerly Checkout360)\",\"hidden\":true,\"pages\":[{\"title\":\"COD \u0026 Magic Checkout (formerly Checkout360)\",\"href\":\"/docs/payments/cod-magic-checkout\"}]},{\"tab\":\"Configuration\",\"hidden\":true,\"pages\":[{\"title\":\"Configuration\",\"href\":\"/docs/payments/dashboard/account-settings/configuration\"}]},{\"tab\":\"Dynamic Convenience Fees\",\"hidden\":true,\"pages\":[{\"title\":\"Dynamic Convenience Fees\",\"href\":\"/docs/payments/dynamic-convenience-fees\"}]},{\"tab\":\"Integrate Razorpay Payment Button with Ghost CMS\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate Razorpay Payment Button with Ghost CMS\",\"href\":\"/docs/payments/ecommerce-plugins/ghost-integration\"}]},{\"tab\":\"About Insights\",\"hidden\":true,\"pages\":[{\"title\":\"About Insights\",\"href\":\"/docs/payments/insights\"}]},{\"tab\":\"Integrate With Razorpay Import Flow - Custom Integration\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate With Razorpay Import Flow - Custom Integration\",\"href\":\"/docs/payments/international-payments/accept-international-payments-from-indian-customers/custom-integration\"}]},{\"tab\":\"About Razorpay Import Flow Web Standard Integration (Payments)\",\"hidden\":true,\"pages\":[{\"title\":\"About Razorpay Import Flow Web Standard Integration (Payments)\",\"href\":\"/docs/payments/international-payments/accept-international-payments-from-indian-customers/import-flow/standard-integration\"}]},{\"tab\":\"Integrate With Razorpay Import Flow - S2S Integration\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate With Razorpay Import Flow - S2S Integration\",\"href\":\"/docs/payments/international-payments/accept-international-payments-from-indian-customers/s2s-integration\"}]},{\"tab\":\"About Razorpay Import Flow Web Standard Integration (International Payments)\",\"hidden\":true,\"pages\":[{\"title\":\"About Razorpay Import Flow Web Standard Integration (International Payments)\",\"href\":\"/docs/payments/international-payments/accept-international-payments-from-indian-customers/standard-integration\"}]},{\"tab\":\"Outward Remittances for Education and Travel Payments\",\"hidden\":true,\"pages\":[{\"title\":\"Outward Remittances for Education and Travel Payments\",\"href\":\"/docs/payments/international-payments/outward-remittances\"}]},{\"tab\":\"Risk Analytics Dashboard\",\"hidden\":true,\"pages\":[{\"title\":\"Risk Analytics Dashboard\",\"href\":\"/docs/payments/international-payments/risk-visibility-dashboard\"}]},{\"tab\":\"Magic Checkout APIs\",\"hidden\":true,\"pages\":[{\"title\":\"Magic Checkout APIs\",\"href\":\"/docs/payments/magic-checkout/apis\"}]},{\"tab\":\"RTO Intelligence\",\"hidden\":true,\"pages\":[{\"title\":\"RTO Intelligence\",\"href\":\"/docs/payments/magic-checkout/rto-intelligence\"}]},{\"tab\":\"Integrate With Android Custom SDK\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate With Android Custom SDK\",\"href\":\"/docs/payments/payment-gateway/android-integration/custom\"}]},{\"tab\":\"Prerequisites (Payments)\",\"hidden\":true,\"pages\":[{\"title\":\"Prerequisites (Payments)\",\"href\":\"/docs/payments/payment-gateway/ecommerce-plugins/shopify-razorpay-secure\"}]},{\"tab\":\"Eligibility Check API\",\"hidden\":true,\"pages\":[{\"title\":\"Eligibility Check API\",\"href\":\"/docs/payments/payment-gateway/emi²/eligibility-check\"}]},{\"tab\":\"Integrate With Flutter Custom SDK\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate With Flutter Custom SDK\",\"href\":\"/docs/payments/payment-gateway/flutter-integration/custom\"}]},{\"tab\":\"Integrate With iOS Custom SDK\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate With iOS Custom SDK\",\"href\":\"/docs/payments/payment-gateway/ios-integration/custom\"}]}
2049,{\"tab\":\"Handle Payment Exceptions with Rainy Day Kit\",\"hidden\":true,\"pages\":[{\"title\":\"Handle Payment Exceptions with Rainy Day Kit\",\"href\":\"/docs/payments/payment-gateway/rainy-day\"}]},{\"tab\":\"Integrate With React Native Custom SDK\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate With React Native Custom SDK\",\"href\":\"/docs/payments/payment-gateway/react-native-integration/custom\"}]},{\"tab\":\"Server-to-Server Integration\",\"hidden\":true,\"pages\":[{\"title\":\"Server-to-Server Integration\",\"href\":\"/docs/payments/payment-gateway/s2s-integration\"}]},{\"tab\":\"Web Integration - Razorpay Custom Checkout\",\"hidden\":true,\"pages\":[{\"title\":\"Web Integration - Razorpay Custom Checkout\",\"href\":\"/docs/payments/payment-gateway/web-integration/custom/build-integration\"}]},{\"tab\":\"PhonePe Switch Integration\",\"hidden\":true,\"pages\":[{\"title\":\"PhonePe Switch Integration\",\"href\":\"/docs/payments/payment-gateway/web-integration/custom/phonepe-switch\"}]},{\"tab\":\"UPI Intent on Mobile Web\",\"hidden\":true,\"pages\":[{\"title\":\"UPI Intent on Mobile Web\",\"href\":\"/docs/payments/payment-gateway/web-integration/custom/payment-methods/upi-intent-mweb\"}]},{\"tab\":\"Save customer card details on Custom Checkout\",\"hidden\":true,\"pages\":[{\"title\":\"Save customer card details on Custom Checkout\",\"href\":\"/docs/payments/payment-gateway/web-integration/custom/features/saved-cards-old\"}]},{\"tab\":\"Prerequisites (Payment Gateway)\",\"hidden\":true,\"pages\":[{\"title\":\"Prerequisites (Payment Gateway)\",\"href\":\"/docs/payments/payment-gateway/web-integration/hosted\"}]},{\"tab\":\"Chargeback on Custom Checkout\",\"hidden\":true,\"pages\":[{\"title\":\"Chargeback on Custom Checkout\",\"href\":\"/docs/payments/payment-gateway/web-integration/custom/chargeback\"}]},{\"tab\":\"Web Integration - Razorpay Standard Checkout\",\"hidden\":true,\"pages\":[{\"title\":\"Web Integration - Razorpay Standard Checkout\",\"href\":\"/docs/payments/payment-gateway/web-integration/standard/chargeback\"}]},{\"tab\":\"Standard Web Integration - Configurability of Payment Methods\",\"hidden\":true,\"pages\":[{\"title\":\"Standard Web Integration - Configurability of Payment Methods\",\"href\":\"/docs/payments/payment-gateway/web-integration/standard/configure-restrict-payment-methods\"}]},{\"tab\":\"About Webview for Mobile Apps\",\"hidden\":true,\"pages\":[{\"title\":\"About Webview for Mobile Apps\",\"href\":\"/docs/payments/payment-gateway/web-integration/standard/webview\"}]},{\"tab\":\"Alipay\",\"hidden\":true,\"pages\":[{\"title\":\"Alipay\",\"href\":\"/docs/payments/payment-methods/alipay\"}]},{\"tab\":\"Pay with Reward Points\",\"hidden\":true,\"pages\":[{\"title\":\"Pay with Reward Points\",\"href\":\"/docs/payments/payment-methods/apps/reward-points\"}]},{\"tab\":\"BharatQR\",\"hidden\":true,\"pages\":[{\"title\":\"BharatQR\",\"href\":\"/docs/payments/payment-methods/bharatqr\"}]},{\"tab\":\"Authentication Type for Cards - Native OTP\",\"hidden\":true,\"pages\":[{\"title\":\"Authentication Type for Cards - Native OTP\",\"href\":\"/docs/payments/payment-methods/cards/authentication/native-otp\"}]},{\"tab\":\"Dynamic Currency Conversion\",\"hidden\":true,\"pages\":[{\"title\":\"Dynamic Currency Conversion\",\"href\":\"/docs/payments/payment-methods/cards/dynamic-currency-conversion\"}]},{\"tab\":\"Google Pay Card Payments\",\"hidden\":true,\"pages\":[{\"title\":\"Google Pay Card Payments\",\"href\":\"/docs/payments/payment-methods/cards/google-pay\"}]},{\"tab\":\"Tokenisation FAQs\",\"hidden\":true,\"pages\":[{\"title\":\"Tokenisation FAQs\",\"href\":\"/docs/payments/payment-methods/cards/token-hq\"}]},{\"tab\":\"DOKU, OVO, and LinkAja\",\"hidden\":true,\"pages\":[{\"title\":\"DOKU, OVO, and LinkAja\",\"href\":\"/docs/payments/payment-methods/doku-ovo-linkaja\"}]},{\"tab\":\"eCOD\",\"hidden\":true,\"pages\":[{\"title\":\"eCOD\",\"href\":\"/docs/payments/payment-methods/ecod\"}]},{\"tab\":\"About Instant EMI Cardless\",\"hidden\":true,\"pages\":[{\"title\":\"About Instant EMI Cardless\",\"href\":\"/docs/payments/payment-methods/emi/cardless-emi/instant-emi\"}]},{\"tab\":\"International Payments - Giropay\",\"hidden\":true,\"pages\":[{\"title\":\"International Payments - Giropay\",\"href\":\"/docs/payments/payment-methods/giropay\"}]},{\"tab\":\"GoPay\",\"hidden\":true,\"pages\":[{\"title\":\"GoPay\",\"href\":\"/docs/payments/payment-methods/gopay\"}]},{\"tab\":\"GrabPay (Malaysia)\",\"hidden\":true,\"pages\":[{\"title\":\"GrabPay (Malaysia)\",\"href\":\"/docs/payments/payment-methods/grabpay-my\"}]},{\"tab\":\"GrabPay (Singapore)\",\"hidden\":true,\"pages\":[{\"title\":\"GrabPay (Singapore)\",\"href\":\"/docs/payments/payment-methods/grabpay-sg\"}]},{\"tab\":\"Klarna\",\"hidden\":true,\"pages\":[{\"title\":\"Klarna\",\"href\":\"/docs/payments/payment-methods/klarna\"}]},{\"tab\":\"International Payments - POLi\",\"hidden\":true,\"pages\":[{\"title\":\"International Payments - POLi\",\"href\":\"/docs/payments/payment-methods/poli\"}]},{\"tab\":\"International Payments - Sofort\",\"hidden\":true,\"pages\":[{\"title\":\"International Payments - Sofort\",\"href\":\"/docs/payments/payment-methods/sofort\"}]},{\"tab\":\"International Payments - Trustly\",\"hidden\":true,\"pages\":[{\"title\":\"International Payments - Trustly\",\"href\":\"/docs/payments/payment-methods/trustly\"}]},{\"tab\":\"UPI QR Code\",\"hidden\":true,\"pages\":[{\"title\":\"UPI QR Code\",\"href\":\"/docs/payments/payment-methods/upi-qr\"}]},{\"tab\":\"Google Spot Platform Integration\",\"hidden\":true,\"pages\":[{\"title\":\"Google Spot Platform Integration\",\"href\":\"/docs/payments/payment-methods/upi/google-pay/spot-platform-integration\"}]},{\"tab\":\"Send GST information in UPI transaction flows\",\"hidden\":true,\"pages\":[{\"title\":\"Send GST information in UPI transaction flows\",\"href\":\"/docs/payments/payment-methods/upi/gst-on-upi\"}]},{\"tab\":\"Zip\",\"hidden\":true,\"pages\":[{\"title\":\"Zip\",\"href\":\"/docs/payments/payment-methods/zip\"}]},{\"tab\":\"Track Payments Using Google Tracking ID and Facebook Pixel\",\"hidden\":true,\"pages\":[{\"title\":\"Track Payments Using Google Tracking ID and Facebook Pixel\",\"href\":\"/docs/payments/payment-pages/plugins-add-ons\"}]},{\"tab\":\"Recurring Payments\",\"hidden\":true,\"pages\":[{\"title\":\"Recurring Payments\",\"href\":\"/docs/payments/recurring-payments\"}]},{\"tab\":\"Account Code\",\"hidden\":true,\"pages\":[{\"title\":\"Account Code\",\"href\":\"/docs/payments/route/account-code\"}]},{\"tab\":\"Direct Settlements\",\"hidden\":true,\"pages\":[{\"title\":\"Direct Settlements\",\"href\":\"/docs/payments/settlements/direct\"}]}
2049,{\"tab\":\"Update Expiry Date for an Individual Customer Identifier\",\"hidden\":true,\"pages\":[{\"title\":\"Update Expiry Date for an Individual Customer Identifier\",\"href\":\"/docs/payments/smart-collect/update-expiry\"}]},{\"tab\":\"Razorpay Smart Collect\",\"hidden\":true,\"pages\":[{\"title\":\"Razorpay Smart Collect\",\"href\":\"/docs/payments/smart-collect/va-vpa-qr\"}]},{\"tab\":\"Third-Party Validation (TPV) - Custom Integration\",\"hidden\":true,\"pages\":[{\"title\":\"Third-Party Validation (TPV) - Custom Integration\",\"href\":\"/docs/payments/third-party-validation/custom-integration\"}]},{\"tab\":\"Third-Party Validation (TPV) - S2S Integration\",\"hidden\":true,\"pages\":[{\"title\":\"Third-Party Validation (TPV) - S2S Integration\",\"href\":\"/docs/payments/third-party-validation/s2s-integration\"}]},{\"tab\":\"About TPAP Pro\",\"hidden\":true,\"pages\":[{\"title\":\"About TPAP Pro\",\"href\":\"/docs/payments/tpap-pro\"}]},{\"tab\":\"Razorpay White Label Wallet\",\"hidden\":true,\"pages\":[{\"title\":\"Razorpay White Label Wallet\",\"href\":\"/docs/payments/wallet\"}]},{\"tab\":\"Integrate with HRMS Software\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate with HRMS Software\",\"href\":\"/docs/payroll/integrations/hrms\"}]},{\"tab\":\"Custom Payroll \u0026 Attendance Cycle\",\"hidden\":true,\"pages\":[{\"title\":\"Custom Payroll \u0026 Attendance Cycle\",\"href\":\"/docs/payroll/quickstart/custom-cycle\"}]},{\"tab\":\"FnF Hold Salary Pay Compliance\",\"hidden\":true,\"pages\":[{\"title\":\"FnF Hold Salary Pay Compliance\",\"href\":\"/docs/payroll/run-payroll/fnf\"}]},{\"tab\":\"Testing SSR\",\"hidden\":true,\"pages\":[{\"title\":\"Testing SSR\",\"href\":\"/docs/test-ssr\"}]},{\"tab\":\"Sub-Merchant Onboarding Webhooks - Sample Payload\",\"hidden\":true,\"pages\":[{\"title\":\"Sub-Merchant Onboarding Webhooks - Sample Payload\",\"href\":\"/docs/webhooks/partners\"}]},{\"tab\":\"Integrate Tally\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate Tally\",\"href\":\"/docs/x/accounting/tally\"}]},{\"tab\":\"About Razorpay Capital\",\"hidden\":true,\"pages\":[{\"title\":\"About Razorpay Capital\",\"href\":\"/docs/x/capital\"}]}]},{\"version\":\"Singapore\",\"pages\":[{\"title\":\"Singapore\",\"href\":\"/docs/sg/api\"}]},{\"version\":\"United States\",\"pages\":[{\"title\":\"United States\",\"href\":\"/docs/us/api\"}]},{\"version\":\"Malaysia\",\"href\":\"https://curlec.np.razorpay.in/docs\"}]},\"maps\":{\"firstHrefInVersion\":{\"India\":{\"href\":\"/docs/api\",\"matchLevel\":0},\"Singapore\":{\"href\":\"/docs/sg/api\",\"matchLevel\":1},\"United States\":{\"href\":\"/docs/us/api\",\"matchLevel\":1}},\"firstHrefInLanguage\":{}},\"children\":\"$L31\"}]\n"])</script>
2049<script>self.__next_f.push([1,"32:I[604804,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"LoginButtonProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"33:I[141180,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"SidebarLoginButtonProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"34:I[343590,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"NavigationContextController\"]\n"])</script>
2049<script>self.__next_f.push([1,"35:I[378486,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"PageListProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"36:I[742977,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"PrefetchProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"37:I[237978,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"PageModeOverrideProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"38:I[378896,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ConfiguredVariationProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"39:I[557611,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"Fonts\"]\n"])</script>
2049<script>self.__next_f.push([1,"3a:I[330080,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"BannerProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"3b:I[864506,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"NavbarTransitionScript\"]\n"])</script>
2049<script>self.__next_f.push([1,"3e:I[763509,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ThemeLayout\"]\n"])</script>
2049<script>self.__next_f.push([1,"3f:I[91557,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ApiReferenceProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"40:I[114793,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"PageProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"41:I[91557,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"OpenApiProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"42:I[525343,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"TabSyncContextProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"3c:T9e0,"])</script>
2049<script>self.__next_f.push([1,"(function () {\n var measure = function(){let a=document.querySelectorAll(\"[id='navbar'], [data-top-chrome]\"),b=0;a.forEach(a=\u003e{let c=a.getBoundingClientRect();c.height\u003e0\u0026\u0026(b=Math.max(b,c.bottom))});let c=0,d=document.getElementById(\"content-container\");if(d){let{overflowY:a}=getComputedStyle(d);(\"auto\"===a||\"scroll\"===a)\u0026\u0026(c=Math.max(0,d.getBoundingClientRect().top))}let e=`${Math.round(Math.max(0,b-c))+40}px`,f=document.documentElement.style;f.getPropertyValue(\"--scroll-mt\")!==e\u0026\u0026f.setProperty(\"--scroll-mt\",e)};\n (function(a){let b=[],c=0,d=\"undefined\"==typeof ResizeObserver?null:new ResizeObserver(f);function e(){let c=Array.from(document.querySelectorAll(\"[id='navbar'], [data-top-chrome]\"));(c.length!==b.length||c.some((a,c)=\u003ea!==b[c]))\u0026\u0026d\u0026\u0026(d.disconnect(),c.forEach(a=\u003ed.observe(a))),b=c,a()}function f(){c||(c=requestAnimationFrame(()=\u003e{c=0,e()}))}let g=\"[id='navbar'], [data-top-chrome]\";function h(a){let b=a.target;if(b instanceof Element\u0026\u0026b.closest(g))return!0;for(let b of a.addedNodes)if(b instanceof Element\u0026\u0026(b.matches(g)||b.querySelector(g)))return!0;for(let b of a.removedNodes)if(b instanceof Element\u0026\u0026(b.matches(g)||b.querySelector(g)))return!0;return!1}new MutationObserver(a=\u003e{a.some(h)\u0026\u0026f()}).observe(document.documentElement,{childList:!0,subtree:!0}),window.addEventListener(\"resize\",f),\"loading\"===document.readyState\u0026\u0026document.addEventListener(\"DOMContentLoaded\",e),e()})(measure);\n (function(a){let b=window.location.hash.slice(1);if(!b)return;function c(){return\"smooth\"===getComputedStyle(document.documentElement).scrollBehavior}function d(c){let d=document.getElementById(b);return!!d\u0026\u0026(a(),d.scrollIntoView(c?{behavior:c}:void 0),!0)}if(\"complete\"===document.readyState)return void d();let e=new MutationObserver(()=\u003e{!c()\u0026\u0026d(\"instant\")\u0026\u0026f()});function f(){e.disconnect(),window.removeEventListener(\"load\",g)}function g(){let a=c();f(),a\u0026\u0026requestAnimationFrame(()=\u003e{d(),function(){let a=[\"wheel\",\"touchstart\",\"keydown\",\"pointerdown\"],c=0,e=window.scrollY,f=setInterval(()=\u003e{c+=1;let a=document.getElementById(b);if(!a||c\u003e=6)return g();let f=Math.abs(window.scrollY-e)\u003e1;if(e=window.scrollY,f)return;let h=parseFloat(getComputedStyle(a).scrollMarginTop)||0;Math.abs(a.getBoundingClientRect().top-h)\u003e4\u0026\u0026d()},350);function g(){clearInterval(f),a.forEach(a=\u003ewindow.removeEventListener(a,g))}a.forEach(a=\u003ewindow.addEventListener(a,g,{passive:!0}))}()})}window.addEventListener(\"load\",g),e.observe(document.documentElement,{childList:!0,subtree:!0}),!c()\u0026\u0026d(\"instant\")\u0026\u0026f()})(measure);\n})();"])</script>
2049<script>self.__next_f.push([1,"2f:[\"$\",\"$L32\",null,{\"children\":[\"$\",\"$L33\",null,{\"children\":[\"$\",\"$L34\",null,{\"children\":[\"$\",\"$L35\",null,{\"pageListDataMap\":{},\"children\":[\"$\",\"$L36\",null,{\"disabled\":\"$undefined\",\"children\":[\"$\",\"$L37\",null,{\"children\":[\"$\",\"$L38\",null,{\"children\":[[\"$\",\"$L13\",null,{\"fonts\":\"$undefined\",\"theme\":\"mint\",\"subdomain\":\"razorpay-881012b3\"}],[[\"$\",\"$L12\",null,{\"docsConfig\":\"$18:2:props:children:1:props:children:6:props:children:props:children:props:children:props:value:docsConfig\"}],[[\"$\",\"link\",null,{\"rel\":\"preload\",\"href\":\"https://d4tuoctqmanu0.cloudfront.net/katex.min.css\",\"as\":\"style\"}],[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"children\":\"\\n (function() {\\n function loadKatex() {\\n const link = document.querySelector('link[href=\\\"https://d4tuoctqmanu0.cloudfront.net/katex.min.css\\\"]');\\n if (link) link.rel = 'stylesheet';\\n }\\n if (document.readyState === 'loading') {\\n document.addEventListener('DOMContentLoaded', loadKatex);\\n } else {\\n loadKatex();\\n }\\n })();\\n \"}]],[\"$\",\"$L14\",null,{\"theme\":\"mint\"}],[\"$\",\"$L39\",null,{\"fonts\":\"$undefined\",\"children\":[\"$\",\"$L3a\",null,{\"bannersByLocale\":{},\"subdomain\":\"razorpay-881012b3\",\"children\":[[\"$\",\"$L3b\",null,{\"theme\":\"mint\"}],[\"$\",\"script\",null,{\"id\":\"_mintlify-scroll-margin-script\",\"dangerouslySetInnerHTML\":{\"__html\":\"$3c\"},\"suppressHydrationWarning\":true}],\"$L3d\"]}]}]]]}]}]}]}]}]}]}]\n"])</script>
2049<script>self.__next_f.push([1,"43:T6a9,"])</script>
2049<script>self.__next_f.push([1,"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://razorpay.com/#organization\",\"name\":\"Razorpay\",\"url\":\"https://razorpay.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/light.svg?fit=max\u0026auto=format\u0026n=puuu1wI-BbW3rsp2\u0026q=85\u0026s=e0750375ee2004193a685f9f211963fe\"}},{\"@type\":\"WebSite\",\"@id\":\"https://razorpay.com#website\",\"name\":\"Razorpay\",\"url\":\"https://razorpay.com\",\"publisher\":{\"@id\":\"https://razorpay.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://razorpay.com/docs/api#webpage\",\"url\":\"https://razorpay.com/docs/api\",\"name\":\"API Reference Guide\",\"description\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\",\"dateModified\":\"2026-08-31T07:20:59.252Z\",\"isPartOf\":{\"@id\":\"https://razorpay.com#website\"},\"breadcrumb\":{\"@id\":\"https://razorpay.com/docs/api#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://razorpay.com/docs/api#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Razorpay\",\"item\":\"https://razorpay.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API Reference Guide\",\"item\":\"https://razorpay.com/docs/api\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://razorpay.com/docs/api#article\",\"headline\":\"API Reference Guide\",\"name\":\"API Reference Guide\",\"description\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\",\"url\":\"https://razorpay.com/docs/api\",\"mainEntityOfPage\":{\"@id\":\"https://razorpay.com/docs/api#webpage\"},\"dateModified\":\"2026-08-31T07:20:59.252Z\",\"publisher\":{\"@id\":\"https://razorpay.com/#organization\"},\"isPartOf\":{\"@id\":\"https://razorpay.com#website\"}}]}"])</script>
2049<script>self.__next_f.push([1,"31:[\"$\",\"$L3e\",null,{\"theme\":\"mint\",\"pageMetadata\":{\"title\":\"API Reference Guide\",\"description\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\",\"href\":\"/docs/api\"},\"children\":[\"$\",\"$L3f\",null,{\"value\":{\"apiReferenceData\":{},\"graphqlReferenceData\":\"$undefined\"},\"children\":[\"$\",\"$L40\",null,{\"value\":{\"pageMetadata\":\"$31:props:pageMetadata\",\"lastModified\":\"2026-08-31T07:20:59.252Z\",\"gitLastModified\":\"$undefined\",\"originalFileLocation\":\"docs/api.mdx\",\"description\":{\"compiledSource\":\"\\\"use strict\\\";\\nconst {jsx: _jsx} = arguments[0];\\nconst {useMDXComponents: _provideComponents} = arguments[0];\\nfunction _createMdxContent(props) {\\n const _components = {\\n p: \\\"p\\\",\\n ..._provideComponents(),\\n ...props.components\\n };\\n return _jsx(_components.p, {\\n children: \\\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\\\"\\n });\\n}\\nfunction MDXContent(props = {}) {\\n const {wrapper: MDXLayout} = {\\n ..._provideComponents(),\\n ...props.components\\n };\\n return MDXLayout ? _jsx(MDXLayout, {\\n ...props,\\n children: _jsx(_createMdxContent, {\\n ...props\\n })\\n }) : _createMdxContent(props);\\n}\\nreturn {\\n default: MDXContent\\n};\\n\",\"frontmatter\":{},\"scope\":{}},\"mdxExtracts\":{\"tableOfContents\":[{\"title\":\"API Gateway URL\",\"slug\":\"api-gateway-url\",\"depth\":2,\"children\":[{\"title\":\"Related Information\",\"slug\":\"related-information\",\"depth\":3,\"children\":[]}]}],\"codeExamples\":{}},\"pageType\":\"$undefined\",\"panelMdxSource\":\"$undefined\",\"panelMdxSourceWithNoJs\":\"$undefined\",\"contextualStarterQuestions\":\"$undefined\",\"relatedPages\":\"$undefined\",\"relatedPagesConfig\":\"$undefined\",\"narration\":\"$undefined\"},\"children\":[\"$\",\"$L41\",null,{\"pageMetadata\":\"$31:props:pageMetadata\",\"mdxExtracts\":\"$31:props:children:props:children:props:value:mdxExtracts\",\"openApiReferenceData\":\"$undefined\",\"children\":[\"$\",\"$L42\",null,{\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$43\"}}],[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"document.documentElement.setAttribute('data-page-mode', \\\"none\\\");\"}}],\"$L44\"],\"$L45\",\"$L46\",\"$L47\",\"$L48\"]}]}]}]}]}]\n"])</script>
2049<script>self.__next_f.push([1,"49:I[540345,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ConsentProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"4a:I[529058,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"LocalStorageAndAnalyticsProviders\"]\n"])</script>
2049<script>self.__next_f.push([1,"4b:I[958547,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n"])</script>
2049<script>self.__next_f.push([1,"4c:I[604780,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"CaptchaProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"4d:I[859465,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"AssistantUiProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"4e:I[851411,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"AssistantTransportProviderSelector\"]\n"])</script>
2049<script>self.__next_f.push([1,"4f:I[601054,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"SearchProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"50:I[28330,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"SkipToContent\"]\n"])</script>
2049<script>self.__next_f.push([1,"51:I[382229,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"AssistantLayoutScript\"]\n"])</script>
2049<script>self.__next_f.push([1,"52:I[87732,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"AssistantLayoutWrapper\"]\n"])</script>
2049<script>self.__next_f.push([1,"54:I[228341,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"PageModeUpdater\"]\n"])</script>
2049<script>self.__next_f.push([1,"55:I[575126,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"Background\"]\n"])</script>
2049<script>self.__next_f.push([1,"59:I[36098,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"CustomJsFiles\"]\n"])</script>
2049<script>self.__next_f.push([1,"5c:I[530359,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"MDXContentController\"]\n"])</script>
2049<script>self.__next_f.push([1,"5d:I[448287,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n"])</script>
2049<script>self.__next_f.push([1,"3d:[\"$\",\"$L49\",null,{\"privacy\":\"$undefined\",\"children\":[\"$\",\"$L4a\",null,{\"subdomain\":\"razorpay-881012b3\",\"isAtlas\":false,\"children\":[\"$\",\"$L4b\",null,{\"toggles\":[{\"name\":\"dashboard-editor-theseus\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"kill-isr\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"agent-mintlify-slack\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"editor-v7-file-tree\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"agent-integrations-settings\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"automations-pr-grouping\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"custom-prefix\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"analytics-v7\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"user-flows-analytics\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"no-publish-flow\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"llms-txt-v2\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"pause-universal-search-reconcile\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"snapshot-serving-live\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"stripTemperatureMiddleware\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"per-site-search-delta\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"support-platform-pylon-zendesk\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"editor-branches-v2-autocommit\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"editor-branches-v2\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"snapshot-serving\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"instant-rollback\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"granular-notifications-server\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"granular-notifications\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"editor-private-page-search\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"automations-fable\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"fixed-ai-action-pricing\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"automation-resolve-merge-conflict\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"scoped-publishing\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"mintql\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"page-level-analytics\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"teamspace\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"narration-sep-22\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false}],\"children\":[\"$\",\"$L4c\",null,{\"enabled\":true,\"children\":[\"$\",\"$L4d\",\"razorpay-881012b3\",{\"children\":[\"$\",\"$L4e\",null,{\"children\":[\"$\",\"$L4f\",null,{\"subdomain\":\"razorpay-881012b3\",\"hasChatPermissions\":true,\"isLoggedInCli\":false,\"assistantConfig\":{\"enableAskAiButton\":false,\"enableStarterQuestions\":false,\"enableContextualStarterQuestions\":false,\"enableAskAiSearchBar\":true},\"starterQuestions\":\"$undefined\",\"children\":[[\"$\",\"$L50\",null,{}],[\"$\",\"$L51\",null,{\"hasChatPermissions\":true}],false,[\"$\",\"$L52\",null,{\"children\":[[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L10\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$L53\",[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],\"$undefined\"]}]]}]}]}]}]}]}]}]\n"])</script>
2049<script>self.__next_f.push([1,"44:[\"$\",\"$L54\",null,{\"pageMetadata\":\"$31:props:pageMetadata\"}]\n45:[\"$\",\"$L55\",null,{\"pageMetadata\":\"$31:props:pageMetadata\"}]\n56:T2449,"])</script>
2049<script>self.__next_f.push([1,"/* Sidebar: gap between top-level groups.\n\n Mintlify puts `mt-6 lg:mt-8` on each top-level group, so the collapsed group\n headers sit 24px apart on mobile and 32px apart from 1024px up. With 30-plus\n groups in Payments that is a lot of dead space. Change the one value below to\n retune it; 1rem reads as grouped without the rows running together, 0.75rem\n is about as tight as it goes before the section boundaries stop being legible.\n\n Only elements that already carry the group margin are matched, so bare\n top-level pages (which have no margin) are left alone. */\n#navbar ul.sidebar-group.mt-6,\nul.sidebar-group.mt-6 {\n margin-top: 1rem;\n}\n\n[data-component-part=\"callout-content\"] \u003e [data-as=\"p\"]:first-child \u003e strong,\n[data-component-part=\"callout-content\"] \u003e [data-as=\"p\"]:first-child strong,\n[data-component-part=\"callout-content\"] \u003e strong:first-child {\n font-size: 1.125rem !important; /* ~18px, well above the 14px body */\n font-weight: 700 !important;\n line-height: 1.4 !important;\n}\n\n/* Error-code card titles (Errors section): monospace pill/badge */\n.error-code-cards [data-component-part=\"card-title\"] {\n display: inline-block !important;\n font-family: ui-monospace, \"SF Mono\", SFMono-Regular, Menlo, Consolas,\n \"Liberation Mono\", monospace !important;\n font-size: 0.875rem !important;\n font-weight: 600 !important;\n line-height: 1.3 !important;\n padding: 0.25rem 0.75rem !important;\n border-radius: 9999px !important;\n background: rgba(107, 114, 128, 0.10) !important;\n border: 1px solid rgba(107, 114, 128, 0.25) !important;\n}\n\n.dark .error-code-cards [data-component-part=\"card-title\"] {\n background: rgba(255, 255, 255, 0.06) !important;\n border-color: rgba(255, 255, 255, 0.15) !important;\n}\n\n/* Inline HTTP method tokens colored like the sidebar API badges\n (tagged by http-method-colors.js) */\n[data-http-method] {\n font-weight: 700 !important;\n border-color: transparent !important;\n}\n\n[data-http-method=\"get\"] { color: #15803d !important; background: rgba(74, 222, 128, 0.2) !important; }\n[data-http-method=\"post\"] { color: #1d4ed8 !important; background: rgba(96, 165, 250, 0.2) !important; }\n[data-http-method=\"put\"] { color: #a16207 !important; background: rgba(250, 204, 21, 0.2) !important; }\n[data-http-method=\"patch\"] { color: #c2410c !important; background: rgba(251, 146, 60, 0.2) !important; }\n[data-http-method=\"delete\"] { color: #b91c1c !important; background: rgba(248, 113, 113, 0.2) !important; }\n\n.dark [data-http-method=\"get\"] { color: #4ade80 !important; }\n.dark [data-http-method=\"post\"] { color: #60a5fa !important; }\n.dark [data-http-method=\"put\"] { color: #facc15 !important; }\n.dark [data-http-method=\"patch\"] { color: #fb923c !important; }\n.dark [data-http-method=\"delete\"] { color: #f87171 !important; }\n\nul.sidebar-group.mt-6 {\n margin-top: 5px;\n}\n/* Two-axis code sample selector (snippets/codeselector.jsx) -----------------\n\n Mintlify gives RequestExample/ResponseExample a panel that is a grid of\n equal rows, so the request and response boxes share the height and both stay\n on screen. A \u003cPanel\u003e is instead one `overflow-y-auto` box, so two stacked\n selectors put the response one ~980px down and the reader never finds it.\n The rule below restores the native behaviour: split the panel between the\n selectors and let each one scroll its own code.\n\n The box itself mirrors Mintlify's `.code-group` chrome â same 16px radius,\n same 10% border, same surface in each theme â so the header row reads as\n part of the code block, exactly like the tab strip on every other API\n page. */\n\n/* Scoped to the sticky
2049sidebar copy on purpose. Mintlify renders \u003cPanel\u003e\n content twice â once in the sidebar, once inline in the content column for\n mobile â and hides the inline one with `display: none` from xl up. An\n unscoped `display: grid` here overrides that and shows the samples twice. */\n.sticky .panel:has(\u003e .rzp-code-selector) {\n display: grid;\n grid-auto-rows: minmax(0, 1fr);\n gap: 1.5rem;\n overflow: hidden;\n}\n\n/* The childless RequestExample/ResponseExample that suppress Mintlify's\n generated samples still get their own container in the sticky column, and it\n claims 288px of a 568px column even though it renders nothing. Reclaim it so\n the selectors get the whole height, as they do on a native API page. */\n.sticky:has(\u003e .panel \u003e .rzp-code-selector) \u003e div:not(.panel) {\n display: none;\n}\n\n.rzp-code-selector {\n position: relative;\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n padding: 0.125rem;\n border: 1px solid rgba(3, 7, 18, 0.1);\n border-radius: 1rem;\n background: rgb(244, 247, 250);\n}\n\n.dark .rzp-code-selector {\n border-color: rgba(255, 255, 255, 0.1);\n background: rgba(255, 255, 255, 0.05);\n}\n\n/* Header row. Sits on the code-group surface and carries the two dropdowns;\n `padding-right` leaves room for the copy/assistant buttons that are moved\n into this row below. */\n.rzp-code-selector-bar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n flex: none;\n /* wrap rather than squeeze: a long status label on a narrow panel takes a\n second line instead of being cut short */\n flex-wrap: wrap;\n padding: 0.25rem 4.25rem 0.375rem 0.5rem;\n}\n\n.rzp-code-selector-field {\n position: relative;\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n}\n\n/* `min-width: max-content` and no ellipsis on purpose. A \u003cselect\u003e takes its\n intrinsic width from its widest option with no slack, so at 12px \"cURL\"\n lands in a 31px box needing 30px â and sub-pixel rounding was enough for\n `text-overflow: ellipsis` to render \"cUâ¦\" on a label that actually fits.\n\n That no-slack sizing is also why `padding-right` is wider than the chevron\n needs. `max-content` absorbs the padding, so the content box ends up exactly\n as wide as the label and the only clearance the chevron gets is\n `padding-right` minus its own 18px footprint. Chrome measures that intrinsic\n width once, from the option text in whatever font is live at layout time,\n and does not always redo it when a webfont swaps in â and \"Bank Account\" is\n ~6.5px wider in Inter than in the fallback it may have been measured in. At\n 1.25rem that is more than the 5.6px of clearance, so the label crowds the\n chevron on a first paint that loses the font race. 1.75rem keeps ~13.6px,\n which covers the swap and still reads as a normal label-to-caret gap. */\n.rzp-code-selector-select {\n appearance: none;\n -webkit-appearance: none;\n min-width: max-content;\n padding: 0.125rem 1.75rem 0.125rem 0.375rem;\n border: 0;\n border-radius: 0.5rem;\n background: transparent;\n color: var(--color-gray-600, #4b5563);\n font-size: 0.75rem;\n font-weight: 500;\n line-height: 1.5rem;\n cursor: pointer;\n}\n\n.dark .rzp-code-selector-select {\n color: var(--color-gray-300, #d1d5db);\n}\n\n.rzp-code-selector-select:hover {\n background: rgba(3, 7, 18, 0.05);\n}\n\n.dark .rzp-code-selector-select:hover {\n background: rgba(255, 255, 255, 0.08);\n}\n\n.rzp-code-selector-chevron {\n position: absolute;\n right: 0.25rem;\n width: 0.875rem;\n height: 0.875rem;\n pointer-events: none;\n opacity: 0.6;\n}\n\n/* The code block fills the rest of the box and scrolls inside it. Its own\n margins and top corners go, so it meets the header row seamlessly. */\n/* The sample scrolls here, on our own element, rather than on Mintlify's code\n block. A standalone code block sizes to its content and pins its viewport to\n `overflow-y-hidden!` inside a Tailwind layer â and an important declaration\n in a layer outranks an unlayered one, so that is not overridable from here\n (not even inline). Scrolling the wrapper instead needs no override: the code\n block keeps its natural height and this box clips and scrolls it. */\n.rzp-code-selector-body {\n flex: 1 1 auto;\n min-height: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n}\n\n.rzp-code-selector-body \u003e .code-block {\n margin: 0 !important;\n min-width: 0;\n border-radius: 0 0 0.875rem 0.875rem;\n /* static so the copy buttons anchor to .rzp-code-selector and stay in the\n header row instead of scrolling away with the code */\n position: static !important;\n}\n\n.rzp-code-selector-body [data-component-part=\"code-block-root\"] {\n border-radius: 0 0 0.875rem 0.875rem;\n}\n\n/* Mintlify's own bottom fade anchors to the code block, which is\n `position: static` above, so it would land at the bottom of the full sample\n rather than the bottom of the box. Drop it and fade the box instead, so a\n clipped sample still reads as having more below it, the way it does on a\n native API page. */\n.rzp-code-selector-body .code-block-fade-overlay {\n display: none;\n}
2049\n\n.rzp-code-selector::after {\n content: \"\";\n position: absolute;\n inset: auto 0 0;\n height: 2rem;\n border-radius: 0 0 0.875rem 0.875rem;\n pointer-events: none;\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);\n}\n\n.dark .rzp-code-selector::after {\n background: linear-gradient(to bottom, rgba(11, 12, 14, 0), rgb(11, 12, 14));\n}\n\n/* Copy + \"ask assistant\" buttons, lifted into the header row. */\n.rzp-code-selector \u003e .rzp-code-selector-body \u003e .code-block \u003e .absolute {\n top: 0.5rem;\n right: 0.75rem;\n}\n"])</script>
2049<script>self.__next_f.push([1,"46:[[\"$\",\"style\",\"0\",{\"data-custom-css-index\":0,\"data-custom-css-path\":\"style.css\",\"dangerouslySetInnerHTML\":{\"__html\":\"$56\"}}],\"$L57\",\"$L58\"]\n5a:T1fb3,"])</script>
2049<script>self.__next_f.push([1,"/**\n * Logic 2 â Path-preserving country switcher (custom Mintlify JS).\n *\n * \"Redirect users to Curlec when they select Malaysia, and redirect them back\n * to the main website when they select any other country.\"\n *\n * Ship this SAME file in BOTH Mintlify repos (main + Malaysia). Mintlify\n * injects any .js file in the repo globally into every page, so no extra\n * wiring is needed â just commit it (e.g. under /snippets or the repo root).\n *\n * Why it exists: the cross-domain entries in the versions dropdown are static\n * `href` links ({ \"version\": \"Malaysia\", \"href\": \"https://curlec.np.razorpay.in/docs/home\" }),\n * so on their own they always land on the destination HOME page, losing the\n * page the reader was on. Because the path structure is identical on both\n * domains (tfs.np.razorpay.in/docs/payments â curlec.np.razorpay.in/docs/payments),\n * this script makes the hop path-preserving:\n *\n * 1. Intercepts clicks on cross-domain version links (tfs â curlec).\n * 2. Rebuilds the destination as \u003cdestination-domain\u003e + \u003ccurrent page path\u003e,\n * adding/stripping the /sg or /us prefix as needed.\n * 3. Records the choice: sets the preferred_country cookie on the CURRENT domain\n * and appends ?preferred_country=XX for the DESTINATION domain (cookies can't\n * cross domains â the edge worker from Logic 1 consumes the param and\n * sets its own cookie). This is what stops geo-IP from bouncing the\n * visitor straight back (guardrail: cookie beats geo-IP).\n * 4. Navigates.\n *\n * If the preserved path doesn't exist on the destination, the destination\n * edge/renderer falls back per Logic 4 (currently: Mintlify routes to that\n * country's home page).\n *\n * Same-domain switches (IN â SG â US inside the main repo) are left to\n * Mintlify's built-in version switcher, which already retains the equivalent\n * page when it exists (verified locally) â we only piggyback to refresh the\n * preferred_country cookie, without preventing the default navigation.\n *\n * Plain browser JS only â Mintlify custom JS cannot import npm packages.\n */\n\n(function () {\n 'use strict';\n var COOKIE_NAME = 'preferred_country';\n var COOKIE_MAX_AGE = 60 * 60 * 24 * 365; // ~1 year\n // Env-aware host pair: tfs staging (tfs.np.razorpay.in) pairs with Curlec\n // staging; anywhere else (razorpay.com prod, previews) pairs with Curlec prod.\n // MAIN_HOST is always the current origin â this file only ships on the main site.\n var IS_STAGING =\n typeof window !== 'undefined' \u0026\u0026 window.location.hostname === 'tfs.np.razorpay.in';\n var MAIN_HOST = (typeof window !== 'undefined' \u0026\u0026 window.location.hostname) || 'tfs.np.razorpay.in';\n var MY_HOST = IS_STAGING ? 'curlec.np.razorpay.in' : 'curlec.com';\n\n // Country-neutral part of the current page's path: everything after /docs,\n // with any /sg or /us prefix stripped. Identical on both domains.\n function currentRestPath() {\n var m = window.location.pathname.match(/^\\/docs(?:\\/(?:sg|us))?(\\/.*)?$/);\n return (m \u0026\u0026 m[1]) || '';\n }\n\n // The country the reader is CURRENTLY in, derived from host + URL prefix.\n // On the Curlec domain the site is Malaysia (unprefixed /docs paths); on the\n // main domain a /sg or /us prefix means SG/US, and everything else is India.\n function currentCountry() {\n if (window.location.hostname === MY_HOST) return 'MY';\n var p = window.location.pathname;\n if (/^\\/docs\\/sg(\\/|$)/.test(p)) return 'SG';\n if (/^\\/docs\\/us(\\/|$)/.test(p)) return 'US';\n return 'IN';\n }\n\n // Home page for the current country, on the current origin. Built only from\n // fixed hosts + fixed paths (no URL-derived input) so it can never redirect\n // off-site. Fixes the logo, whose Mintlify `logo.href` is a single global\n // value hardcoded to the India home for every country in the main repo.\n function logoHomeTarget() {\n switch (currentCountry()) {\n case 'MY':\n return 'https://' + MY_HOST + '/docs/home';\n case 'SG':\n return 'https://' + MAIN_HOST + '/docs/sg/home';\n case 'US':\n return 'https://' + MAIN_HOST + '/docs/us/home';\n default: // 'IN'\n return 'https://' + MAIN_HOST + '/docs/home';\n }\n }\n\n function buildTarget(country) {\n var rest = currentRestPath();\n var base;
2049\n switch (country) {\n case 'MY':\n base = 'https://' + MY_HOST + '/docs' + rest;\n break;\n case 'SG':\n base = 'https://' + MAIN_HOST + '/docs/sg' + rest;\n break;\n case 'US':\n base = 'https://' + MAIN_HOST + '/docs/us' + rest;\n break;\n default: // 'IN'\n base = 'https://' + MAIN_HOST + '/docs' + rest;\n }\n // Cross-domain cookie handoff for the destination's edge worker (Logic 1).\n return base + '?' + COOKIE_NAME + '=' + country;\n }\n\n function setCookie(country) {\n document.cookie =\n COOKIE_NAME +\n '=' +\n country +\n '; Max-Age=' +\n COOKIE_MAX_AGE +\n '; Path=/; Secure; SameSite=Lax';\n }\n\n // Mintlify renders the version dropdown entries as \u003cdiv role=\"menuitem\"\n // data-component-part=\"version-select-item\"\u003e elements (NOT \u003ca href\u003e links),\n // so we identify the chosen country by the entry's visible label text.\n var VERSION_LABELS = {\n india: 'IN',\n malaysia: 'MY',\n singapore: 'SG',\n 'united states': 'US'\n };\n\n function handleCountry(event, country) {\n // Remember the explicit choice on the current domain either way â\n // \"cookie beats geo-IP\" needs this recorded where the user is NOW too,\n // so returning later doesn't re-trigger a geo redirect.\n setCookie(country);\n\n var target = new URL(buildTarget(country));\n if (target.hostname === window.location.hostname) {\n // IN â SG â US inside one repo: let Mintlify's built-in switcher do\n // its page-retaining navigation. Cookie is already refreshed above.\n return;\n }\n\n // Cross-domain hop (tfs â curlec): replace the static home link\n // with a path-preserving URL + cookie handoff param.\n event.preventDefault();\n event.stopPropagation();\n window.location.href = target.href;\n }\n\n // Capture phase so we run before Mintlify's own click handling.\n document.addEventListener(\n 'click',\n function (event) {\n if (!event.target || !event.target.closest) return;\n\n // Docs logo: Mintlify's logo.href is a single global value, hardcoded to\n // the India home (https://razorpay.com/docs/), so SG/US readers clicking\n // the logo get bounced to India. Reroute to the CURRENT country's home.\n // The logo is an \u003ca\u003e wrapping the .nav-logo \u003cimg\u003e(s); match either.\n var logoImg = event.target.closest('.nav-logo');\n var logoLink = event.target.closest('a');\n if (logoImg || (logoLink \u0026\u0026 logoLink.querySelector \u0026\u0026 logoLink.querySelector('.nav-logo'))) {\n var home = logoHomeTarget();\n // Only intervene when the default target differs from where we want to\n // land, and always same-origin here (no cross-domain hop for the logo).\n if (home !== window.location.href) {\n event.preventDefault();\n event.stopPropagation();\n window.location.href = home;\n }\n return;\n }\n\n // Home-page flag menu: the custom nav marks each entry with\n // data-country=\"IN|MY|SG|US\" (labels there are cc codes, so the\n // label lookup below would miss them).\n var flag = event.target.closest('[data-country]');\n if (flag) {\n handleCountry(event, flag.getAttribute('data-country'));\n return;\n }\n\n // Dropdown entries are rendered as menu items (not \u003ca href\u003e links) â\n // identify the country by the option's visible label.\n var option = event.target.closest(\n '[data-component-part=\"version-select-item\"], [role=\"option\"], [role=\"menuitem\"], [role=\"menuitemradio\"]'\n );\n if (!option) return;\n var label = (option.textContent || '').trim().toLowerCase();\n var labelCountry = VERSION_LABELS[label];\n if (!labelCountry) return;\n handleCountry(event, labelCountry);\n },\n true\n );\n})();\n"])</script>
2049<script>self.__next_f.push([1,"5b:Tc889,"])</script>
2049<script>self.__next_f.push([1,"/* =========================================================================\n Razorpay Docs homepage â v42 \"Ribbon\" (on the v41 \"Ascii sky\" chassis)\n Four independent pieces, all scoped to #page-rzpn:\n 1. parallax drift â writes --rzpn-par (photo) plus --rzpn-par-strip/\n -ascii/-doc-N (ribbon stage layers) as the page scrolls\n 2. cursor tilt â magnetic per-card hover on the floating Doc cards\n 3. generated ASCII field â one canvas per .rzpn-win, cursor-reactive\n (parked: SWIRL=false leaves only the cursor halo)\n 4. ribbon flow trail â characters set along the ribbon's Figma curves in\n the hero canvas, re-projected into every other window's peek canvas\n (The mobile nav menu and copy buttons are handled in snippets/home/*.jsx.)\n ========================================================================= */\n\n/* ---- v41: parallax drift + copy ---------------------------------------\n Every .rzpn-win paints the same background-attachment:fixed photo, so the\n windows are already registered to each other and already parallax (the\n layer holds still while the page scrolls). This just adds drift on top:\n the photo pans down as you scroll, so it travels slower than a purely\n fixed layer would and reads as further back. Capped at the slack built\n into the background-size, so an edge can never come into view. */\n(function () {\n // Mintlify renders the page as a React SPA: #page-rzpn does not exist yet\n // when this script first executes, and it is re-created on client-side\n // navigation. So everything is wrapped in init(), guarded per-node, and a\n // MutationObserver re-runs it whenever the element (re)appears.\n function init(page) {\n if (page.getAttribute('data-rzpn-init')) return;\n page.setAttribute('data-rzpn-init', '1');\n\n var reduced = window.matchMedia('(prefers-reduced-motion: reduce)');\n var ticking = false;\n\n // Left from the photo build: the ratio the drift was capped against. The\n // gradient has no intrinsic height, so the slack below always resolves to 0\n // on a normal desktop and the fixed attachment does the parallax on its own.\n var PHOTO_RATIO = 1439 / 718;\n\n // Each Doc's own footprint (its wrapper's own width x height from the\n // markup, in artboard px) mapped onto a 20..70px travel range â the\n // biggest card travels most, Doc 5 (redesigned smaller) the least.\n // Computed once here rather than measured at scroll time, since the\n // geometry is fixed in the markup, not the live DOM box (which already\n // carries this same transform, so measuring it would be circular). Doc 6\n // dropped out (redesigned to sit inside the ribbon strip instead of\n // floating).\n var DOC_MAG = (function () {\n var footprint = { 1: [137.102, 149.675], 2: [143.326, 153.335], 3: [116.283, 117.989],\n 4: [51.984, 52.733], 5: [80, 95.817], 7: [179, 173.441] };\n var areas = {}, max = 0;\n for (var k in footprint) { areas[k] = footprint[k][0] * footprint[k][1]; if (areas[k] \u003e max) max = areas[k]; }\n var mag = {};\n for (var k2 in areas) mag[k2] = 20 + (areas[k2] / max) * 50;\n return mag;\n })();\n\n function render() {\n ticking = false;\n if (page.hidden) return;\n // Shadow state is not motion, so it stays on under reduced-motion.\n page.classList.toggle('is-scrolled', window.scrollY \u003e 8);\n if (reduced.matches) return;\n var doc = document.documentElement;\n var scrollable = doc.scrollHeight - window.innerHeight;\n var progress = scrollable \u003e 0 ? Math.min(1, window.scrollY / scrollable) : 0;\n // Travel is capped at however much taller the painted photo is than the\n // viewport, so the bottom edge can never scroll into a window.\n // Fits the width, so there is only slack if the photo happens to be taller\n // than the viewport (narrow/tall windows). On a typical desktop it is not,\n // and the drift correctly resolves to zero â the fixed attachment still\n // holds the backdrop still while the page scrolls over it.\n var painted = window.innerWidth;\n var slack = Math.max(0, painted / PHOTO_RATIO - window.innerHeight);\n var travel = Math.min(window.innerHeight * 0.2, slack);\n document.documentElement.style.setProperty('--rzpn-par', (progress * travel).toFixed(1) + 'px');\n\n // The ribbon band, the ascii trail and every floating Doc card each drift\n // at their own rate as the hero scrolls by â same depth logic as the\n // photo drift above, just keyed to the hero's own scroll distance rather\n // than the whole page so it settles instead of drifting away once the\n // hero has scrolled past.\n var heroT = Math.min(1, window.scrollY / 420);\n heroT = heroT * heroT * (3 - 2 * heroT); // smoothstep\n document.documentElement.style.setProperty('--rzpn-par-strip', (-heroT * 25.5).toFixed(1) + 'px');\n document.documentElement.style.setProperty('--rzpn-par-ascii', (-heroT * 40.0).toFixed(1) + 'px');\n // Each Doc card moves on its own â bigger card, more travel, the usual\n // near-things-move-more parallax cue.\n for (var docId in DOC_MAG) {\n document.documentElement.style.setProperty('--rzpn-par-doc-' + docId, (-heroT * DOC_MAG[docId]).toFixed(1) + 'px');\n }\n }\n\n function onScroll() {\n if (ticking) return;\n ticking = true;\n window.requestAnimationFrame(render);\n }\n\n window.addEventListener('scroll', onScroll, { passive: true });\n window.addEventListener('resize', onScroll);\n render();\n\n // Cursor tilt on the floating Doc cards: a magnetic, per-card proximity\n // reaction rather than one shared cursor-position reading applied to\n // every card at once. Each card tracks the cursor's offset from ITS OWN\n // centre (not the hero box's), so only the card(s) the cursor is\n // actually near respond â the others sit still until the cursor comes\n // within their own radius. Still gated to .rzpn-hero (mousemove/\n // mouseleave scope + settle-to-0 on leave) so it only runs over the band\n // these cards live in.\n (function () {\n if (reduced.matches) return;\n var heroEl = page.querySelector('.rzpn-hero');\n if (!heroEl) return;\n var HOVER_PROFILE = {\n 1: { tx: 11, ty: 6, rot: 4 },\n 2: { tx: 7, ty: 13, rot: -6 },\n 3: { tx: 4.5, ty: 4.5, rot: -1.5 },\n 4: { tx: 2.5, ty: 1.5, rot: 3.5 },\n 5: { tx: 4, ty: 7, rot: -8 },\n 6: { tx: 6, ty: 10, rot: -5 },\n 7: { tx: 13, ty: 8, rot: 3 }\n };\n // Radius of influence, in viewport px, around each card's own centre â\n // beyond this the card is untouched. Falloff (not a hard cutoff) so a\n // card eases out of the effect as the cursor moves away.\n var RADIUS = 170;\n // .rzpn-doc-N wrappers are each a full 1440x448 stage-sized box (the\n // shared position:absolute;inset:0 rule in styles.css) â the card's\n // actual on-screen position/size lives on their one inline-positioned\n // child div instead (.rzpn-doc-6-badge is the exception, carrying its\n // own left/top/width/height directly with no wrapper). Measuring the\n // wrapper itself would put every card's centre at the same point.\n var cards = [];\n for (var docId in HOVER_PROFILE) {\n var sel = docId === '6' ? '.rzpn-doc-6-badge' : '.rzpn-doc-' + docId;\n var el = page.querySelector(sel);\n if (!el) continue;\n var measureEl = docId === '6' ? el : el.firstElementChild;\n if (measureEl) cards.push({ id: docId, el: measureEl, p: HOVER_PROFILE[docId] });\n }\n function apply(e) {\n for (var i = 0; i \u003c cards.length;
2049 i++) {\n var c = cards[i], r = c.el.getBoundingClientRect();\n var cx = r.left + r.width / 2, cy = r.top + r.height / 2;\n var dx = e ? e.clientX - cx : 0, dy = e ? e.clientY - cy : 0;\n var dist = Math.hypot(dx, dy);\n var influence = e ? Math.max(0, 1 - dist / RADIUS) : 0;\n var nx = Math.max(-1, Math.min(1, dx / RADIUS)) * influence;\n var ny = Math.max(-1, Math.min(1, dy / RADIUS)) * influence;\n document.documentElement.style.setProperty('--rzpn-hover-x-' + c.id, (nx * c.p.tx).toFixed(1) + 'px');\n document.documentElement.style.setProperty('--rzpn-hover-y-' + c.id, (ny * c.p.ty).toFixed(1) + 'px');\n document.documentElement.style.setProperty('--rzpn-hover-r-' + c.id, (nx * c.p.rot).toFixed(1) + 'deg');\n }\n }\n heroEl.addEventListener('mousemove', apply, { passive: true });\n heroEl.addEventListener('mouseleave', function () { apply(null); });\n })();\n\n /* ---- v41: generated ASCII sky --------------------------------------\n Same construction as v40 â one viewport-space cell grid, one canvas per\n window, each drawing only the cells over its own rect â so the field is\n continuous across the hero, the AI cards and the step rows exactly as the\n gradient behind it is. What changed is the SOURCE. v40 read density off\n the photo's luminance; there is no photo here, so the mass is generated â\n an open book, authored as canvas paths and filled into the cell grid, its\n covers and leaves moving on slow unrelated periods. v39's per-cell wob\n shimmers on top of that. */\n (function () {\n var wins = [].slice.call(page.querySelectorAll('.rzpn-win'));\n if (!wins.length) return;\n\n var CELL = 10; // big enough that a glyph reads as a mark\n // One mid-blue, painted normally: reads lighter than the deep top band of\n // the ramp and darker than the white it runs to, so a single ink works\n // across the whole gradient.\n var INK = 'rgb(72,124,224)';\n var HALO = 170; // cursor reveal radius, in viewport px\n var ready = true; // nothing to load â the ridge is generated\n\n // Shared coverage grid, sampled once per frame for the whole viewport.\n var grid = document.createElement('canvas');\n var gctx = grid.getContext('2d', { willReadFrequently: true });\n var cols = 0, rows = 0, lum = null, tmp = null, dpr = 1;\n\n var mx = -1e5, my = -1e5, influence = 0;\n var raf = 0, running = false, lastPaint = -1e9;\n\n var layers = wins.map(function (win) {\n var cv = document.createElement('canvas');\n cv.className = 'rzpn-win-glyphs';\n cv.setAttribute('aria-hidden', 'true');\n // Must sit above the step row's gradient tint but below its content.\n var tint = win.querySelector('.rzpn-win-tint');\n if (tint \u0026\u0026 tint.parentNode === win) win.insertBefore(cv, tint.nextSibling);\n else win.insertBefore(cv, win.firstChild);\n return {\n el: win,\n cv: cv,\n ctx: cv.getContext('2d')\n };\n });\n\n function resize() {\n dpr = Math.min(window.devicePixelRatio || 1, 2);\n cols = Math.ceil(window.innerWidth / CELL) + 1;\n rows = Math.ceil(window.innerHeight / CELL) + 1;\n if (!cols || !rows) return false;\n grid.width = cols;\n grid.height = rows;\n lum = new Float32Array(cols * rows);\n tmp = new Float32Array(cols * rows);\n return true;\n }\n\n // The swirl. v41 rastered an open book here; v42 has the ribbon asset in\n // the hero instead, so the field's job is to orbit it rather than be the\n // subject. Concentric ellipse arcs, tilted to the ribbon's own axis and\n // each turning at its own rate, stroked into the cell grid â so the marks\n // read as a current running around the artwork.\n // Parked for now: the swirl reads as competition next to the ribbon, so the\n // field rests empty and only the cursor raises it. Flip SWIRL back to true\n // to restore the arcs â nothing else was removed.\n var SWIRL = false;\n\n function sample(time) {\n if (!lum || !cols) return;\n if (!SWIRL) { lum.fill(0); return; }\n var vw = window.innerWidth, vh = window.innerHeight;\n var par = parseFloat(getComputedStyle(page).getPropertyValue('--rzpn-par')) || 0;\n\n // The ribbon's optical centre on the artboard (1030, 190 of 1440x448),\n // carried across to the live viewport so the two stay locked together.\n var cx = vw * 0.715;\n var cy = vw * (190 / 1440) + par;\n var unit = vw / 1440; // the artwork scales with the width\n\n gctx.clearRect(0, 0, cols, rows);\n gctx.save();\n gctx.scale(1 / CELL, 1 / CELL);\n gctx.strokeStyle = '#fff';\n gctx.lineCap = 'round';\n\n var TILT = -0.34; // radians, matching the ribbon's rake\n for (var k = 0; k \u003c 6; k++) {\n var rx = (150 + k * 78) * unit;\n var ry = rx * 0.46;\n // Alternating direction and unrelated periods, so the rings never line\n // up into a single rotating wheel.\n var dir = k % 2 ? -1 : 1;\n var a0 = time * (0.19 + k * 0.037) * dir + k * 1.7;\n var span = 1.9 + 0.55 * Math.sin(time * 0.23 + k);\n gctx.lineWidth = CELL * (3.1 - k * 0.22);\n gctx.beginPath();\n gctx.ellipse(cx, cy, rx, ry, TILT, a0, a0 + span);\n gctx.stroke();\n // A short counter-arc on the far side keeps the ring from reading as\n // one lonely stroke.\n gctx.lineWidth = CELL * 1.7;\n gctx.beginPath();\n gctx.ellipse(cx, cy, rx, ry, TILT, a0 + Math.PI + 0.4, a0 + Math.PI + 0.4 + span * 0.45);\n gctx.stroke();\n }
2049\n gctx.restore();\n\n var d = gctx.getImageData(0, 0, cols, rows).data;\n for (var i = 0, n = cols * rows; i \u003c n; i++) lum[i] = d[i * 4 + 3] / 255;\n\n // One pass, so the arcs stay legible as arcs.\n for (var pass = 0; pass \u003c 1; pass++) {\n for (var y = 0; y \u003c rows; y++) {\n for (var x = 0; x \u003c cols; x++) {\n var k2 = y * cols + x;\n var l = x \u003e 0 ? lum[k2 - 1] : lum[k2];\n var r = x \u003c cols - 1 ? lum[k2 + 1] : lum[k2];\n tmp[k2] = (l + lum[k2] + r) / 3;\n }\n }\n for (var y2 = 0; y2 \u003c rows; y2++) {\n for (var x2 = 0; x2 \u003c cols; x2++) {\n var k3 = y2 * cols + x2;\n var u2 = y2 \u003e 0 ? tmp[k3 - cols] : tmp[k3];\n var dn = y2 \u003c rows - 1 ? tmp[k3 + cols] : tmp[k3];\n lum[k3] = (u2 + tmp[k3] + dn) / 3;\n }\n }\n }\n }\n\n function level(gx, gy, time, still) {\n var v = lum[gy * cols + gx];\n\n // The cursor halo, computed BEFORE the empty-cell bail-out. That order is\n // the whole interaction: the field exists everywhere at zero density, and\n // the pointer is what raises it, so hovering bare gradient conjures a\n // patch of pattern instead of only thickening pattern already there.\n var halo = 0;\n if (influence \u003e 0.01) {\n var hx = gx * CELL + CELL * 0.5 - mx;\n var hy = gy * CELL + CELL * 0.5 - my;\n var d2 = hx * hx + hy * hy;\n if (d2 \u003c HALO * HALO) {\n var f = 1 - Math.sqrt(d2) / HALO;\n halo = f * f * 1.15 * influence;\n }\n }\n if (v \u003c= 0.004 \u0026\u0026 halo \u003c= 0.012) return 0;\n\n // Denser toward the right, so the mass has a light side and reads as a\n // silhouette rather than a block.\n var m = 0.55 + 0.45 * (gx / cols);\n // Per-cell dither: without it the faces paint as a solid wash of glyphs.\n // This punches holes in them so the fill scatters and the stroked\n // outline is what carries the shape.\n var s = Math.sin(gx * 12.9898 + gy * 78.233) * 43758.5453;\n var n = s - Math.floor(s);\n if (v \u003e 0.004) {\n v = v * v * (3 - 2 * v);\n v *= m * (0.58 + 0.72 * n);\n } else {\n v = 0;\n }\n\n // The shimmer: every cell breathes on a slow two-axis beat, so the\n // silhouette's edge is continually re-forming rather than sitting still.\n var wob = still ? 0\n : (Math.sin(gx * 0.28 + time * 1.7) + Math.sin(gy * 0.34 - time * 1.3)) * 0.07;\n var lv = v + wob * m;\n\n // The halo carries the same dither and a faster beat of its own, so the\n // revealed patch reads as pattern rather than as a plain disc.\n if (halo \u003e 0) {\n var pulse = still ? 1 : 0.82 + 0.18 * Math.sin(time * 3.1 + gx * 0.41 + gy * 0.29);\n lv += halo * (0.45 + 0.8 * n) * pulse;\n }\n return lv;\n }\n\n // The mark vocabulary, lifted from the Figma text-paths that run along the\n // ribbon. Seven density tiers, sparse -\u003e dense, several characters in\n // each: a flat one-character-per-level ramp reads as a screen door, so the\n // variant is picked from a stable per-cell hash â irregular texture that\n // does not flicker between frames.\n var GLYPHS = [\n ['\\u00b7', '.', '\\u02d9', \"'\", '`'],\n ['-', '\\u2013', ':'],\n ['\\u2014', ';', '\\u2022'],\n ['/', '\\\\'],\n ['|', '\\u00a6'],\n ['\\u25d6', '\\u25d7'],\n ['\\u25cf', '\\u258d']\n ];\n var FONT = CELL + 'px \"JetBrains Mono\", \"SF Mono\", Menlo, monospace';\n function glyph(ctx, x, y, lvl, a, gx, gy) {\n var set = GLYPHS[lvl - 1];\n var s = Math.sin(gx * 45.233 + gy * 91.7) * 24634.6345;\n var n = s - Math.floor(s);\n ctx.globalAlpha = a;\n ctx.fillText(set[(n * set.length) | 0], x + CELL * 0.5, y + CELL * 0.5);\n }\n\n // Split from the rAF loop so the field can paint synchronously. A\n // backgrounded page never fires rAF, and waiting on one leaves it blank.\n function paint(t) {\n if (page.hidden || !ready) return false;\n lastPaint = window.performance ? performance.now() : t;\n\n var still = reduced.matches;\n var time = still ? 0 : t * 0.0006;\n sample(time);\n // Ramps faster than v40's 0.08: this is a reveal the pointer drives, so\n // it has to be there almost as soon as the cursor is.\n influence += ((mx \u003e -1e4 ? 1 : 0) - influence) * 0.28;\n var vw = window.innerWidth, vh = window.innerHeight;\n var visible = 0;\n\n for (var li = 0; li \u003c layers.length;
2049 li++) {\n var L = layers[li], ctx = L.ctx, cv = L.cv;\n var r = L.el.getBoundingClientRect();\n if (!r.width || !r.height) continue;\n\n var w = Math.max(1, Math.round(r.width * dpr));\n var hgt = Math.max(1, Math.round(r.height * dpr));\n if (cv.width !== w || cv.height !== hgt) { cv.width = w; cv.height = hgt; }\n\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n ctx.clearRect(0, 0, r.width, r.height);\n if (r.bottom \u003c 0 || r.top \u003e vh || r.right \u003c 0 || r.left \u003e vw) continue;\n visible++;\n\n var curInk = null;\n // Canvas state resets whenever the backing store is resized, so the\n // text setup belongs here rather than at construction.\n ctx.font = FONT;\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n\n var gx0 = Math.max(0, Math.floor(r.left / CELL));\n var gx1 = Math.min(cols - 1, Math.ceil(r.right / CELL));\n var gy0 = Math.max(0, Math.floor(r.top / CELL));\n var gy1 = Math.min(rows - 1, Math.ceil(r.bottom / CELL));\n\n for (var gy = gy0; gy \u003c= gy1; gy++) {\n for (var gx = gx0; gx \u003c= gx1; gx++) {\n var lv = level(gx, gy, time, still);\n var step = Math.round(lv * 7);\n if (step \u003c 1) continue;\n if (step \u003e 7) step = 7;\n if (curInk !== INK) { ctx.fillStyle = INK; ctx.strokeStyle = INK; curInk = INK; }\n glyph(ctx, gx * CELL - r.left, gy * CELL - r.top, step, 0.42 + lv * 0.58, gx, gy);\n }\n }\n ctx.globalAlpha = 1;\n }\n // Reporting visibility lets the loop idle once every window has scrolled\n // past; `scroll` calls kick(), which restarts it.\n return visible \u003e 0;\n }\n\n function frame(t) {\n raf = 0;\n var alive = paint(t);\n if (alive \u0026\u0026 !reduced.matches) start(); else running = false;\n }\n function start() {\n if (raf) return;\n running = true;\n raf = window.requestAnimationFrame(frame);\n }\n // Gated on elapsed time rather than just the pending-frame flag. The flag\n // alone assumed rAF always fires, which is false in a backgrounded or\n // throttled tab: the loop would sit on a frame that never runs while\n // scroll kept arriving, and the field would freeze. This still collapses\n // a scroll burst to ~10 paints/sec while the loop is healthy.\n function kick() {\n var now = window.performance ? performance.now() : Date.now();\n if (raf \u0026\u0026 now - lastPaint \u003c 100) return;\n paint(now);\n start();\n }\n\n window.addEventListener('mousemove', function (e) {\n mx = e.clientX; my = e.clientY; kick();\n }, { passive: true });\n document.addEventListener('mouseleave', function () { mx = my = -1e5; kick(); });\n window.addEventListener('scroll', kick, { passive: true });\n window.addEventListener('resize', function () { if (resize()) kick(); });\n\n if (resize()) kick();\n })();\n\n /* ---- v42: ASCII flowing along the ribbon bands -------------------------\n The curves are Figma's own: the six \"Red N\" guide vectors from 1144
2049:89297,\n their path data transformed out of each export's viewBox into artboard\n space, so nothing here is eyeballed.\n\n Characters are set ON the curve rather than on a grid â each is placed at\n an arc-length step and rotated to that point's tangent, so a run reads as\n painted along the band. Advancing the arc-length offset with time is what\n makes it flow: no character moves relative to its neighbours. */\n (function () {\n var stage = page.querySelector('.rzpn-art');\n var cv = stage \u0026\u0026 stage.querySelector('.rzpn-flow');\n if (!cv) return;\n var ctx = cv.getContext('2d');\n var AW = 1440, AH = 448;\n\n // Let the trail read through every other window on the page too, not\n // just the hero â same \"one canvas per window, shared source sampled by\n // each window's own getBoundingClientRect()\" pattern .rzpn-win-glyphs\n // already uses for the halftone field (and v38/v39/v40/v41 before it).\n // The hero itself keeps its existing single 1440x448 canvas untouched;\n // this only ADDS a peek canvas to the other windows, so if anything here\n // fails, the hero trail and every window's existing gradient/photo are\n // unaffected â there is no shared code path that could regress them.\n var hero = page.querySelector('.rzpn-hero');\n var peekWins = [].slice.call(page.querySelectorAll('.rzpn-win')).filter(function (w) { return w !== hero; });\n // The footer's reveal strip isn't a .rzpn-win (the footer itself is a\n // SIBLING of #page-rzpn in the markup, like every version's footer, so\n // page.querySelectorAll above can't see into it at all) -- added here\n // explicitly instead of widening that selector, so this stays a single,\n // easy-to-remove addition rather than a change to how every other\n // window gets picked up.\n var footTrail = document.querySelector('.rzpn-foot-trail');\n if (footTrail) peekWins.push(footTrail);\n\n var peekLayers = peekWins.map(function (win) {\n var pcv = document.createElement('canvas');\n pcv.className = 'rzpn-trail-peek';\n pcv.setAttribute('aria-hidden', 'true');\n var tint = win.querySelector('.rzpn-win-tint');\n var glyphs = win.querySelector('.rzpn-win-glyphs');\n // Sit above the halftone field and the tint, below the window's real\n // content (photo/device/cards) â same insertion point .rzpn-win-glyphs\n // itself uses relative to the tint.\n var after = glyphs || tint;\n if (after \u0026\u0026 after.parentNode === win) win.insertBefore(pcv, after.nextSibling);\n else win.insertBefore(pcv, win.firstChild);\n return { el: win, cv: pcv, ctx: pcv.getContext('2d') };\n });\n // .rzpn-art's own fixed geometry (top:0; left:50%; margin-left:-688px on\n // desktop, -664px \u003c=600px â see styles.css; width:1440px) â the\n // artboard's left edge in viewport px, so an artboard-space point can\n // be placed on screen the same way .rzpn-art itself is, without needing\n // the stage element's own rect.\n function stageLeft() {\n return window.innerWidth / 2 - (isMobileArt() ? 664 : 688);\n }\n // .rzpn-art itself is scaled 0.6x \u003c=600px (styles.css, \"Mobile-only:\n // the hero illustration...\"), around transform-origin: top center --\n // scaling the whole stage but not this projection math would leave\n // every peek window (footer strip, AI cards, POS) showing the ribbon/\n // ascii/doc-card art at its old full size and old position while the\n // hero itself renders 40% smaller, a visible size/position mismatch\n // between the hero and every window \"looking into\" the same artwork.\n // Column-based, not window-based: shell.jsx's ResizeObserver mirrors the\n // #rzpn-home column width into rzpn-lte-* classes (the assistant panel\n // narrows the column without any window resize), so read that instead.\n function isMobileArt() {\n var home = document.getElementById('rzpn-home');\n return home ? home.classList.contains('rzpn-lte-600') : window.innerWidth \u003c= 600;\n }\n function artScale() { return isMobileArt() ? 0.6 : 1; }\n\n // PEEK_SCALE = 1: true 1:1 projection, same call made for the redbox in\n // v43 â a window is a real cutout onto the ribbon's own pixels at their\n // own position, not a shrunk reproduction of it. (A scaled-down version\n // was tried â 0.38, centred on each window â to soften the ribbon's\n // hero-scale geometry reading as a tight crop in small windows, but 1:1\n // is the confirmed direction: it's what makes the pass-through read as\n // one continuous shape sitting behind real holes in the page, edges\n // lining up window-to-window, rather than an independent miniature.)\n var PEEK_SCALE = 1;\n function projectToWindow(vx, vy, rect) {\n var wcx = rect.left + rect.width / 2, wcy = rect.top + rect.height / 2;\n return {\n x: (wcx + (vx - wcx) * PEEK_SCALE) - rect.left,\n y: (wcy + (vy - wcy) * PEEK_SCALE) - rect.top\n };\n }\n\n // All eight ribbon-strip pieces, projected into every peek canvas the\n // same way the trail characters are â geometry copied from their own\n // markup in .rzpn-art-strip (cx/cy is each piece's own rotation centre,\n // rot in degrees). A DOM clone was tried first and rejected: cloning a\n // position:fixed subtree into a window did NOT get clipped by that\n // window's overflow:hidden in testing â it painted as one continuous\n // strip over the whole page, covering real card content. Drawing the\n // same source \u003cimg\u003e via ctx.drawImage() is clipped correctly because\n // it's native canvas content, confined to that canvas's own box.\n // The four glow/highlight pieces (1e897b9e, 1092d80c, f52c9a7b, da7cac6a)\n // were missing from this list originally â they're softer accents easy to\n // miss next to the four large band pieces, but skipping them means a\n // window's peek is missing real strokes/highlights the hero itself shows\n // at that spot, so they're included on equal footing here.\n var STRIP_PIECES = [\n { src: '7a7e9fe7', cx: 882.452 + 488 / 2, cy: 119.0 + 330.5 / 2, w: 488, h: 330.5, rot: 0 },\n // Rotated wrapper's own box is centred (via flex) inside its outer,\n // unrotated positioning box â the centre point is the same either way.\n { src: '1e897b9e', cx: 1272.548 + 173.441 / 2, cy: 89.0 + 179 / 2, w: 136.553, h: 145, rot: -17.27 },\n { src: '1092d80c', cx: 862.742 + 191.794 / 2, cy: 139.0 + 293.283 / 2, w: 191.794, h: 293.283, rot: 0 },\n { src: 'f52c9a7b', cx: 855.952 + 128.5 / 2, cy: 235.0 + 132 / 2, w: 128.5, h: 132, rot: 0 },\n { src: 'e9111091', cx: 663.958 + 391.619 / 2, cy: 137.51 + 206.478 / 2, w: 391.619, h: 206.478, rot: 0 },\n // Highlight (Figma 1218:91756) -- new glow that came in
2049with the\n // ribbon redesign; wasn't part of the strip (or this peek trail)\n // before.\n { src: 'highlight-new2', cx: 700.61 + 113.228 / 2, cy: 174.716 + 128.569 / 2, w: 113.228, h: 128.569, rot: 40.51 },\n // Vector 23710 (Figma 1193:91277) -- redesigned artwork for the same\n // slot the old b46b52df asset held (same position/size), so it reads\n // clearly in the hero itself, same as before.\n { src: 'e417b2a6', cx: 662.548 + 889 / 2, cy: -13.66 + 333.162 / 2, w: 889, h: 333.162, rot: 0 },\n // Vector 23726, reverted to the deployed docs-v42-ribbon snapshot's\n // box AND artwork -- src key updated to match the v42-only asset\n // filename swapped in above (this string is matched against the\n // \u003cimg src\u003e below via querySelector, so it must track that rename or\n // this piece silently drops out of every window's peek canvas).\n { src: 'v42-strip-longest-v1', cx: -21.0 + 1537.928 / 2, cy: 233.788 + 726.691 / 2, w: 1537.928, h: 726.691, rot: 0 },\n { src: 'da7cac6a', cx: 983.548 + 131.5 / 2, cy: 245.5 + 139.5 / 2, w: 151.5, h: 159.5, rot: 0 }\n ];\n var stripImgs = STRIP_PIECES.map(function (P) {\n var img = stage.querySelector('.rzpn-art-strip img[src*=\"' + P.src + '\"]');\n return img ? { img: img, geo: P } : null;\n }).filter(Boolean);\n\n var PATHS = [\n // Red 1, 2, 5, 6 re-picked from Figma 1144:89508 (updated guide vectors,\n // node absolute x/y + the vector's own local path, since each export's\n // viewBox is local to that vector, not the artboard).\n { name: 'Red 1', segs: [[1043.57, 297.24, 1130.07, 261.74, 1182.57, 250.74, 1451.57, 65.23]] },\n { name: 'Red 2', segs: [[991.96, 364.73, 1075.46, 337.73, 1163.46, 309.73, 1444.96, 113.73]] },\n { name: 'Red 3', segs: [[733.76, 261.5, 768.23, 255.5, 785.71, 254.0, 863.64, 210.0], [863.64, 210.0, 941.57, 165.99, 995.03, 161.5, 1023.0, 172.5]] },\n { name: 'Red 4', segs: [[714.27, 295.0, 740.42, 299.84, 784.71, 299.0, 862.64, 255.0], [862.64, 255.0, 940.58, 211.0, 1021.01, 207.0, 1036.99, 221.5]] },\n { name: 'Red 5', segs: [[675.17, 212.50, 759.67, 107.00, 955.67, 5.50, 1262.17, -13.50]] },\n { name: 'Red 6', segs: [[695.16, 239.50, 781.66, 133.50, 975.66, 32.50, 1282.16, 13.50]] },\n // Red 7, 8 from Figma 1193:91454 / 1193:91456 -- the new, much taller\n // sweep that goes with the new strip asset (Vector 23726 below): both\n // extend far past the hero's own 448px band, so only their topmost arc\n // shows in the hero itself and the rest of the curve is only ever seen\n // through a window's peek canvas further down the page.\n { name: 'Red 7', segs: [[16.09, 910.24, 449.59, 817.74, 954.59, 675.74, 1458.59, 335.74]] },\n { name: 'Red 8', segs: [[16.09, 861.24, 449.59, 768.74, 954.59, 626.74, 1458.59, 286.74]] }\n ];\n // Load-in sweep direction, per path: true = left-to-right (s=0 -\u003e\n // P.len, every path's x rises monotonically so this is always low-x\n // to high-x); false = the original top-to-bottom-reading sweep\n // (s=P.len -\u003e 0, each path's higher/more-topright end first). Red 3/4\n // (\"the middle\" pair) and Red 1/2 (the bottom pair) sweep left-to-\n // right; Red 5/6/7/8 (top and the extended pair) keep the other\n // direction.\n var REVEAL_LTR = [true, true, true, true, false, false, false, false];\n // Unrelated drift rates, so the runs never lock into one moving comb.\n // Order is Red 1..8; Red 5/6 are the topmost of the original six and run\n // the other way, so the upper sweep counter-flows against the lower\n // bands; Red 7/8 (the new pair) get their own distinct rates too.\n var SPEED = [16.8, 14.28, 20.16, 15.12, -12.6, -18.48, 16.1, -17.5]; // 40% faster than the original [12, 10.2, 14.4, 10.8, -9, -13.2, 11.5, -12.5]\n // The trail's own vocabulary, taken verbatim from the design. Walking the\n // string in order (rather than picking at random) is what reproduces its\n // texture â the runs of blocks, the thin passages, and the spaces, which\n // are drawn as gaps and give the trail its dashed rhythm for free.\n var TRAIL = '@=!~:\\\\{@\u003e%}[$\\\\;{s\\\\*[x%%~s=x-^\u003c~[\\\\\\\\n*xx:[\u003c;~*@\u003c@\\\\:x=~};*n^x~\u003e=}% {{/;[s^*;#\u003e@:@\u003c[:[;s#\u003c;:@nn-=[-\u003c!%s=:~n{{**;{#==;$^/*:[~[%;@=:s% {;~!=^;!s{=[*\\\\#^$^@n%#-\\\\x#!%=[@:/^$=;%{$\u003cx=#^/$^:}s{*\\\\x#%:{\\\\~=*n \u003e\\\\\\\\^{\u003e%[{^\u003e=@^{*#-}/^$\u003e^:/\u003c{}\\\\~/$\u003e=/:\u003c/\u003e-[~@\\\\\u003en\\\\#\u003c\u003e!-\\\\!$n:\u003e~!;%% [n^:=[}\u003c#[!x:/{$-}\u003es\\\\s\u003c}[s~*}[@nn\u003es~=^@=#*{~\u003e:{\u003c:x\\\\n{~!\u003cs~:@[\u003e{- =x!@;;$%!;=~/xn\u003e}^=s*:~\u003e-\u003exsn/x%\u003e}^%}{$\u003e/^}\u003e:@[}-/=-}!#n^nn\u003e%\u003e{\u003e ^:-x-\u003e{^x#/!:s}/;^~\u003c$\u003c#%@#n[x:\u003c@*\\\\n/@s!#=\u003e%[s:{[sx}x~#%@{}/{*\u003c=; \u003e}-=xn;;=;/:;^/n{/\\\\%:{@$x/{:n-;n/;^/@!!\u003c=@=*\u003e{@-^%\\\\/%/%^{^\u003c;=[* }$xx{:\u003cs\u003c;};@[[;#=%:;#%\u003c$\u003c#nxn[~#xs\\\\s\u003e[n=#\u003c$}';\n // STEP is the arc-length between characters. The mono advance at 11
2049px is\n // ~6.6px, so anything above that opens a gap; 7 sets them nearly\n // shoulder-to-shoulder and the run reads as a continuous string.\n var STEP = 7, SIZE = 11, SAMPLES = 160;\n\n function at(s, t) {\n var u = 1 - t, a = u*u*u, b = 3*u*u*t, c = 3*u*t*t, d = t*t*t;\n return [a*s[0]+b*s[2]+c*s[4]+d*s[6], a*s[1]+b*s[3]+c*s[5]+d*s[7]];\n }\n function ang(s, t) {\n var u = 1 - t, a = 3*u*u, b = 6*u*t, c = 3*t*t;\n return Math.atan2(a*(s[3]-s[1]) + b*(s[5]-s[3]) + c*(s[7]-s[5]),\n a*(s[2]-s[0]) + b*(s[4]-s[2]) + c*(s[6]-s[4]));\n }\n // Flatten every segment of every path into one arc-length table, so\n // spacing is even in DISTANCE (even in t would bunch at the ends) and a\n // multi-segment path is walked as a single continuous run.\n PATHS.forEach(function (P) {\n var tb = [], acc = 0;\n P.segs.forEach(function (s, si) {\n var prev = at(s, 0);\n if (si === 0) tb.push({ seg: s, t: 0, s: 0 });\n for (var i = 1; i \u003c= SAMPLES; i++) {\n var t = i / SAMPLES, q = at(s, t);\n acc += Math.hypot(q[0]-prev[0], q[1]-prev[1]);\n tb.push({ seg: s, t: t, s: acc });\n prev = q;\n }\n });\n P.table = tb; P.len = acc;\n });\n function sample(P, s) {\n var tb = P.table, lo = 0, hi = tb.length - 1;\n while (lo \u003c hi - 1) { var m = (lo + hi) \u003e\u003e 1; if (tb[m].s \u003c s) lo = m; else hi = m; }\n return tb[hi];\n }\n\n var raf = 0, reduced = window.matchMedia('(prefers-reduced-motion: reduce)');\n\n // Scramble on hover: within HALO px of the cursor (in the canvas' own\n // artboard space, so it tracks correctly through the parallax transform),\n // glyphs have a rising chance of being swapped for a random character\n // instead of their normal trail one, re-rolled every frame. Probability\n // ramps with proximity rather than a hard radius cutoff, so the effect\n // reads as a sparkle gathering around the pointer, not a stamped disc.\n var SCRAMBLE_CHARS = Array.from(new Set(TRAIL.replace(/ /g, '').split(''))).join('');\n var HALO = 80;\n var mx = -1e5, my = -1e5;\n // Raw viewport position too (unlike mx/my, not relative to the hero\n // canvas) -- lets every peek window work out the cursor's position in\n // its OWN local space below, so each one gets its own independent\n // scramble/holo reaction instead of only reacting when the cursor\n // happens to be over the hero.\n var vmx = -1e5, vmy = -1e5;\n window.addEventListener('mousemove', function (e) {\n var r = cv.getBoundingClientRect();\n mx = e.clientX - r.left;\n my = e.clientY - r.top;\n vmx = e.clientX; vmy = e.clientY;\n }, { passive: true });\n document.addEventListener('mouseleave', function () { mx = my = vmx = vmy = -1e5; });\n\n // Bloom: a soft white halo behind every glyph -- shadowBlur is the cheap\n // canvas way to get a glow without a second blurred render pass. Kept to\n // ~5-10% of the glyph's own size (SIZE=11 -\u003e BLOOM_BLUR~1) and BLOOM_ALPHA\n // well under the glyph's own alpha, so it reads as a faint bloom around\n // the trail rather than a thick outline or a second, blurrier trail.\n var BLOOM_BLUR = SIZE * 0.9;\n var BLOOM_ALPHA = 0.45;\n\n // Holographic hover: reuses the same HALO proximity as the scramble\n // above (scrambleT, computed per-glyph below) -- as the cursor nears a\n // glyph its fill shifts from plain white into a hue that cycles with the\n // glyph's own position and time, so the sheen looks like it is travelling\n // across the letterforms rather than the whole trail flashing one colour\n // at once. Saturation/lightness are tuned to stay legible against the\n // ribbon rather than reading as a rainbow sticker. `amt` (0-1, scrambleT)\n // scales saturation/lightness towards white as amt-\u003e0, so the masked\n // reveal feathers in with proximity instead of snapping on at HALO's edge.\n function holoColor(x, y, t, amt) {\n var hue = (x * 0.6 + y * 0.9 + t * 90) % 360;\n if (hue \u003c 0) hue += 360;\n var sat = 85 * amt, light = 100 - 28 * amt;
2049\n return 'hsl(' + hue.toFixed(0) + ', ' + sat.toFixed(0) + '%, ' + light.toFixed(0) + '%)';\n }\n\n // Load-in reveal: top strip first, then the middle, then the bottom â\n // matching PATHS' own order in reverse (Red 5/6 are the topmost strips,\n // Red 3/4 the middle, Red 1/2 the bottom, per the comment above). Red 7/8\n // (the new pair) reveal last, after all six of the original band. Each\n // group's delay is offset from the first paint, not from page load, so a\n // slow-loading page doesn't lose the stagger before the canvas exists.\n var REVEAL_DELAY = [800, 850, 500, 550, 0, 150, 1200, 1250]; // ms, indexed like PATHS -- one delay per stream\n var REVEAL_DUR = [500, 500, 450, 450, 600, 600, 1200, 1200]; // ms per stream to sweep its own path -- also indexed like PATHS, no longer one shared value\n var loadT = null;\n function smoothstep(x) { return x \u003c= 0 ? 0 : x \u003e= 1 ? 1 : x * x * (3 - 2 * x); }\n // Cubic ease-out for the reveal sweep specifically: starts fast (steep\n // at x=0) and decelerates into the finish (flat at x=1), rather than\n // smoothstep's symmetric slow-fast-slow -- the stream now shoots out\n // and settles into place instead of easing into and out of its start.\n function easeOut(x) { x = x \u003c= 0 ? 0 : x \u003e= 1 ? 1 : x; return 1 - Math.pow(1 - x, 3); }\n\n function draw(now) {\n raf = 0;\n // Unlike the glyph field's scroll-kicked loop, this rAF loop is always\n // on â after SPA navigation the old page's canvas is detached and the\n // loop must die with it (init() builds a fresh one on return).\n if (!cv.isConnected) return;\n if (loadT === null) loadT = now;\n var dpr = Math.min(window.devicePixelRatio || 1, 2);\n var w = Math.round(AW * dpr), h = Math.round(AH * dpr);\n if (cv.width !== w || cv.height !== h) { cv.width = w; cv.height = h; }\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n ctx.clearRect(0, 0, AW, AH);\n ctx.fillStyle = '#fff';\n ctx.font = SIZE + 'px \"JetBrains Mono\", \"SF Mono\", Menlo, monospace';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n\n // One getBoundingClientRect() per peek window per frame (not per glyph\n // â that's the same per-frame measuring pass .rzpn-win-glyphs already\n // does), sized and cleared up front so the glyph loop below just tests\n // a plain rect and draws.\n var par = parseFloat(getComputedStyle(document.documentElement).getPropertyValue('--rzpn-par-ascii')) || 0;\n var sLeft = stageLeft();\n // \u003c=600px: .rzpn-art itself renders at artScale() (see the comment by\n // stageLeft() above) -- every peek-window projection below has to\n // convert an artboard-local point through that same scale-around-\n // top-center transform, or the \"cutout\" windows show the ribbon at\n // its old full size/position while the hero shows it 40% smaller.\n var scale = artScale();\n var originX = sLeft + 720;\n function stagePoint(localX, localY, parOffset) {\n return {\n x: originX + (localX - 720) * scale,\n y: (localY + parOffset) * scale\n };\n }\n var frames = peekLayers.map(function (L) {\n var r = L.el.getBoundingClientRect();\n if (!r.width || !r.height) return null;\n var pw = Math.max(1, Math.round(r.width * dpr)), ph = Math.max(1, Math.round(r.height * dpr));\n if (L.cv.width !== pw || L.cv.height !== ph) { L.cv.width = pw; L.cv.height = ph; }\n L.ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n L.ctx.clearRect(0, 0, r.width, r.height);\n L.ctx.fillStyle = '#fff';\n // Text shrinks by the same PEEK_SCALE as the ribbon geometry, so the\n // characters stay in proportion to the (also shrunk) facets they sit\n // on rather than reading oversized against them.\n L.ctx.font = (SIZE * PEEK_SCALE * scale) + 'px \"JetBrains Mono\", \"SF Mono\", Menlo, monospace';\n L.ctx.textAlign = 'center';\n L.ctx.textBaseline = 'middle';\n // Cursor position in THIS window's own local space (viewport\n // coords minus this rect's own offset) -- what makes the\n // scramble/holo hover below react independently per window\n // instead of only ever firing for the hero.\n return { ctx: L.ctx, rect: r, mx: vmx - r.left, my: vmy - r.top };\n });\n\n // Ribbon-band pieces first (bottom layer, same order as the real\n // .rzpn-art-strip paints before .rzpn-art-ascii), so the trail\n // characters drawn below land on top of them, matching the hero.\n if (stripImgs.length \u0026\u0026 frames.length) {\n var parStrip = parseFloat(getComputedStyle(document.documentElement).getPropertyValue('--rzpn-par-strip')) || 0;
2049\n for (var pi = 0; pi \u003c stripImgs.length; pi++) {\n var SP = stripImgs[pi].geo, SImg = stripImgs[pi].img;\n var sPt = stagePoint(SP.cx, SP.cy, parStrip);\n var svx = sPt.x, svy = sPt.y;\n for (var sfi = 0; sfi \u003c frames.length; sfi++) {\n var SF = frames[sfi];\n if (!SF) continue;\n var sp = projectToWindow(svx, svy, SF.rect);\n var sw = SP.w * PEEK_SCALE * scale, sh = SP.h * PEEK_SCALE * scale;\n var reach = Math.max(sw, sh) / 2;\n if (sp.x \u003c -reach || sp.y \u003c -reach || sp.x \u003e SF.rect.width + reach || sp.y \u003e SF.rect.height + reach) continue;\n SF.ctx.save();\n SF.ctx.translate(sp.x, sp.y);\n if (SP.rot) SF.ctx.rotate(SP.rot * Math.PI / 180);\n SF.ctx.drawImage(SImg, -sw / 2, -sh / 2, sw, sh);\n SF.ctx.restore();\n }\n }\n }\n\n var elapsed = now - loadT;\n var time = reduced.matches ? 0 : now * 0.001;\n for (var k = 0; k \u003c PATHS.length; k++) {\n // travel is unbounded arc-length distance covered since t=0. Positions\n // stay on a fixed grid (shiftPx only smooths the sub-step remainder,\n // same as before), but WHICH character sits at each position now comes\n // from travelIdx â the count of whole steps travelled â so the string\n // actually advances through the run over time instead of the old code,\n // where every frame restarted counting characters from n=0 at the run's\n // start and only the position jittered by less than one glyph width.\n // Indexing by (n - travelIdx) mod TRAIL.length is what makes it loop\n // seamlessly: the wrap from the string's last character back to its\n // first is invisible, there is no reset to spot.\n var P = PATHS[k], travel = time * SPEED[k];\n var shiftPx = (((travel % STEP) + STEP) % STEP);\n var travelIdx = Math.floor(travel / STEP);\n // Each run sits at a fixed span of the path regardless of shiftPx (it\n // only smooths sub-step motion), so fading by arc-length gives a stable\n // taper at the two tips instead of a flat cutoff â the trail reads as\n // fading into the ribbon rather than ending on a hard edge.\n var FADE = Math.min(90, P.len * 0.22);\n // Load-in reveal streams in along the path: Red 3/4 (REVEAL_LTR)\n // sweep left to right (s=0, always the lower-x end, growing\n // toward P.len); every other path sweeps the original way, from\n // its higher/more-topright end (s=P.len) down toward s=0 -- top\n // and bottom already read correctly that way and must not change.\n // revealFrac (0-\u003e1) is how much of the path the stream has swept;\n // revealFront is the arc-length position of the moving edge\n // itself. Characters don't fade in as a flat group alpha (the old\n // behaviour) -- each one turns visible only once the front has\n // swept past its own position, with a short soft ramp so it reads\n // as glyphs materialising into the stream rather than popping on.\n // The travel/shiftPx motion above never pauses for any of this --\n // only visibility changes -- so revealed characters are already\n // mid-flow, and once the front clears the whole path this is\n // indistinguishable from the plain continuous loop.\n var revealFrac = reduced.matches ? 1\n : easeOut((elapsed - REVEAL_DELAY[k]) / REVEAL_DUR[k]);\n if (revealFrac \u003c= 0.001) continue;\n var ltr = REVEAL_LTR[k];\n var revealFront = ltr ? P.len * revealFrac : P.len * (1 - revealFrac);\n var STREAM_RAMP = 60;\n var TIP_GLOW = 70; // px either side of the moving front that gets the holographic tip treatment below\n for (var s = shiftPx, n = 0; s \u003c P.len; s += STEP, n++) {\n var e = sample(P, s), q = at(e.seg, e.t);\n // Each path starts at a different offset into the string so the six\n // runs never read as the same phrase repeated.\n var idx = ((n - travelIdx + k * 47) % TRAIL.length + TRAIL.length) % TRAIL.length;\n var ch = TRAIL.charAt(idx);\n if (ch === ' ') continue; // spaces are gaps, not glyphs\n // Re-rolled every frame (not cached per glyph), so a scrambled\n // character keeps flickering rather than locking to one substitute.\n var scrambleT = 0;\n if (!reduced.matches) {\n scrambleT = 1 - Math.min(1, Math.hypot(q[0] - mx, q[1] - my) / HALO);\n if (scrambleT \u003e 0 \u0026\u0026 Math.random() \u003c scrambleT * scrambleT) {\n ch = SCRAMBLE_CHARS.charAt((Math.random() * SCRAMBLE_CHARS.length) | 0);\n }\n }\n var edge = Math.max(0, Math.min(1, s / FADE, (P.len - s) / FADE));\n var stream = reduced.matches ? 1\n : Math.max(0, Math.min(1, (ltr ? (revealFront - s) : (s - revealFront)) / STREAM_RAMP));\n var alpha = 0.8 * edge * stream;\n if (alpha \u003c= 0.015) continue;\n var rot = ang(e.seg, e.t);\n // Holographic tip glow: while this path's sweep is still running\n // (revealFrac \u003c 1), glyphs near the moving front carry the same\n // travelling-hue treatment as the cursor-hover effect below,\n // fading back to plain white within TIP_GLOW px either side of\n // it. So the stream reads as pulling a holographic glint along\n // its leading edge as it appears, settling to plain white once\n // the front has passed and stream has held it at full alpha for\n // a while -- not just fading up to opaque white at the tip.\n // Gated off once the sweep finishes (revealFrac hits 1) so it\n // doesn't linger as a permanent recolour of the settled trail.\n var tipAmt = (!reduced.matches \u0026\u0026 revealFrac \u003c 1)\n ? Math.max(0, 1 - Math.abs(s - revealFront) / TIP_GLOW) : 0;\n // Holographic hover overrides the plain white fill/bloom with a\n // travelling hue once the cursor is close enough to matter\n // (scrambleT \u003e 0, the same gate the character-scramble above\n // uses) OR the tip glow above is active, and rides the bloom\n // glow up with it so the shimmer reads as lit rather than just\n // recoloured.\n var holoAmt = Math.max(scrambleT, tipAmt);\n var fillColor = holoColor(q[0], q[1], time, holoAmt);\n var glowBlur = BLOOM_BLUR * (1 + holoAmt);\n var glowAlpha = BLOOM_ALPHA * alpha * (1 + holoAmt);\n var glowColor = holoAmt \u003e 0 ? fillColor : ('rgba(255,255,255,' + glowAlpha.toFixed(3) + ')');\n ctx.save();\n ctx.globalAlpha = alpha;\n ctx.translate(q[0], q[1]);\n ctx.rotate(rot);\n ctx.fillStyle = fillColor;\n ctx.shadowColor = glowColor;\n ctx.shadowBlur = glowBlur;
2049\n ctx.fillText(ch, 0, 0);\n ctx.restore();\n\n // Re-project the same character into viewport space and offer it\n // to every other window's peek layer â whichever one currently\n // overlaps this exact point on screen draws it, so the trail reads\n // as one continuous thing passing through every window rather than\n // something confined to the hero.\n if (frames.length) {\n var vPt = stagePoint(q[0], q[1], par);\n var vx = vPt.x, vy = vPt.y;\n var peekSize = SIZE * PEEK_SCALE * scale;\n for (var fi = 0; fi \u003c frames.length; fi++) {\n var F = frames[fi];\n if (!F) continue;\n var fp = projectToWindow(vx, vy, F.rect);\n if (fp.x \u003c -peekSize || fp.y \u003c -peekSize || fp.x \u003e F.rect.width + peekSize || fp.y \u003e F.rect.height + peekSize) continue;\n // Independent scramble/holo for THIS window, using its own\n // local cursor position (F.mx/F.my) rather than the hero's\n // scrambleT/fillColor above -- so each peek window (including\n // the footer strip) reacts to the cursor only when it's\n // actually hovering that window, not just whenever it's near\n // the hero canvas.\n var pCh = ch;\n var pScrambleT = 0;\n if (!reduced.matches) {\n pScrambleT = 1 - Math.min(1, Math.hypot(fp.x - F.mx, fp.y - F.my) / HALO);\n if (pScrambleT \u003e 0 \u0026\u0026 Math.random() \u003c pScrambleT * pScrambleT) {\n pCh = SCRAMBLE_CHARS.charAt((Math.random() * SCRAMBLE_CHARS.length) | 0);\n }\n }\n var pHoloAmt = Math.max(pScrambleT, tipAmt);\n var pFill = holoColor(fp.x, fp.y, time, pHoloAmt);\n var pGlowBlur = BLOOM_BLUR * (1 + pHoloAmt);\n var pGlowAlpha = BLOOM_ALPHA * alpha * (1 + pHoloAmt);\n var pGlowColor = pHoloAmt \u003e 0 ? pFill : ('rgba(255,255,255,' + pGlowAlpha.toFixed(3) + ')');\n F.ctx.save();\n F.ctx.globalAlpha = alpha;\n F.ctx.translate(fp.x, fp.y);\n F.ctx.rotate(rot);\n F.ctx.fillStyle = pFill;\n F.ctx.shadowColor = pGlowColor;\n F.ctx.shadowBlur = pGlowBlur;\n F.ctx.fillText(pCh, 0, 0);\n F.ctx.restore();\n }\n }\n }\n }\n if (!reduced.matches) raf = requestAnimationFrame(draw);\n }\n function kick() { if (!raf) raf = requestAnimationFrame(draw); }\n draw(performance.now());\n kick();\n window.addEventListener('resize', kick);\n })();\n\n }\n\n function boot() {\n var page = document.getElementById('page-rzpn');\n if (page) init(page);\n }\n\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', boot);\n } else {\n boot();\n }\n new MutationObserver(boot).observe(document.documentElement, { childList: true, subtree: true });\n})();\n"])</script>
2049<script>self.__next_f.push([1,"47:[\"$\",\"$L59\",null,{\"customJsDisabled\":false,\"jsFiles\":[{\"_id\":\"6a7e1f64f5b36d40d3545418\",\"filePath\":\"country-switcher.js\",\"subdomain\":\"razorpay-881012b3\",\"__v\":0,\"content\":\"$5a\"},{\"_id\":\"6a7e267ef5b36d40d35b37b6\",\"subdomain\":\"razorpay-881012b3\",\"filePath\":\"static/docs-home/script.js\",\"__v\":0,\"content\":\"$5b\"},{\"_id\":\"6a8546c0f5b36d40d38adf9e\",\"filePath\":\"ga4.js\",\"subdomain\":\"razorpay-881012b3\",\"__v\":0,\"content\":\"(function () {\\n var GA_MEASUREMENT_ID = 'G-8HTFJ5WZ20';\\n\\n var script = document.createElement('script');\\n script.async = true;\\n script.src = 'https://www.googletagmanager.com/gtag/js?id=' + GA_MEASUREMENT_ID;\\n document.head.appendChild(script);\\n\\n window.dataLayer = window.dataLayer || [];\\n function gtag() {\\n dataLayer.push(arguments);\\n }\\n gtag('js', new Date());\\n // docs_platform distinguishes Mintlify traffic from the old docs site,\\n // which shares this measurement ID.\\n gtag('config', GA_MEASUREMENT_ID, { docs_platform: 'mintlify' });\\n})();\\n\"}]}]\n"])</script>
2049<script>self.__next_f.push([1,"5e:T1d86,"])</script>
2049<script>self.__next_f.push([1,"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const VideoCard=props=\u003e{const _components={a:`a`,..._provideComponents()};const{title,href,videoUrl,children}=props;const css=`\n.rzp-vcard {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 0.75rem;\n background: #fff;\n height: 100%;\n}\n.rzp-vcard-video {\n position: relative;\n width: 100%;\n aspect-ratio: 16 / 9;\n background: #000;\n}\n.rzp-vcard-video iframe {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n border: 0;\n display: block;\n}\n.rzp-vcard-body { padding: 1rem 1.15rem 1.15rem; }\n.rzp-vcard-title {\n margin: 0 0 0.4rem;\n font-size: 1rem;\n font-weight: 600;\n line-height: 1.4;\n color: #0f172a;\n}\n.rzp-vcard-title a { color: inherit; text-decoration: none; }\n.rzp-vcard-title a:hover { color: #3395ff; }\n.rzp-vcard-desc { font-size: 0.875rem; line-height: 1.6; color: #475569; }\n.rzp-vcard-desc \u003e :first-child { margin-top: 0; }\n.rzp-vcard-desc \u003e :last-child { margin-bottom: 0; }\n:where(.dark) .rzp-vcard {\n border-color: rgba(255, 255, 255, 0.12);\n background: rgba(255, 255, 255, 0.03);\n}\n:where(.dark) .rzp-vcard-title { color: #f1f5f9; }\n:where(.dark) .rzp-vcard-desc { color: #94a3b8; }\n`;return _jsxs(`div`,{className:`rzp-vcard`,children:[_jsx(`style`,{children:css}),videoUrl?_jsx(`div`,{className:`rzp-vcard-video`,children:_jsx(`iframe`,{src:videoUrl,title:title||`Video`,loading:`lazy`,referrerPolicy:`strict-origin-when-cross-origin`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share`,allowFullScreen:true})}):null,_jsxs(`div`,{className:`rzp-vcard-body`,children:[title?_jsx(`p`,{className:`rzp-vcard-title`,children:href?_jsx(_components.a,{href,children:title}):title}):null,_jsx(`div`,{className:`rzp-vcard-desc`,children})]})]})};function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,CardGroup,Heading,Info,_MdxComponentBoundary}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsxs(`div`,{style:{display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:`0.35rem 0.9rem`,border:`1px solid rgba(128,128,128,0.28)`,borderRadius:`0.5rem`,padding:`0.45rem 0.75rem`,margin:`0 0 1.25rem`,fontSize:`0.875rem`},children:[_jsx(`span`,{style:{fontWeight:600},children:`Available in`}),_jsx(`span`,{children:`ð®ð³ India`}),_jsx(`span`,{children:`ð²ð¾ Malaysia`}),_jsx(`span`,{children:`ð¸ð¬ Singapore`}),_jsx(`span`,{children:`ðºð¸ United States`})]}),`\n`,_jsx(_components.p,{children:`Razorpay APIs are completely RESTful, and all our responses are returned in JSON.`}),`\n`,_jsxs(Info,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Integrations`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Looking to integrate your website, ecommerce store or mobile app with Razorpay Payment Gateway? Find the `,_jsx(_components.a,{href:`/docs/payments/payment-gateway#integration-types`,children:`right integration method`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Accept payments `,_jsxs(_components.a,{href:`/docs/payments#accept-payments`,children:[_jsx(_components.strong,{children:`without`}),` a website or app`]}),` using other Razorpay products, such as Payment Links, Payment Pages, Subscription Links, Invoices and Smart Collect.`]}),`\n`,_jsxs(_components.li,{children:[`For S2S integration, contact the `,_jsx(_components.a,{href:`https://razorpay.com/support/#request`,children:`Support team`}),` with your requirements.`]}),`\n`]})]}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(_MdxComponentBoundary,{name:`VideoCard`,children:_jsx(VideoCard,{title:`Razorpay Postman Public Workspace`,href:`https://www.postman.com/razorpaydev/workspace/razorpay-public-workspace/collection/12492020-952c7295-118c-400f-8f2c-5266ef6f689a`,videoUrl:`https://www.youtube.com/embed/0k5NpkMgUWQ?si=qZcBE8alhTN7b4_-`,children:_jsxs(_components.p,{children:[`Our APIs are present on the Razorpay `,_jsx(_components.a,{href:`https://www.postman.com/razorpaydev/workspace/razorpay-public-workspace/collection/12492020-952c7295-118c-400f-8f2c-5266ef6f689a`,children:`Postman Public Workspace`}),`. Watch the video to know how to fork APIs and save them to your private workspace for testing.`]}
2049)})}),_jsx(_MdxComponentBoundary,{name:`VideoCard`,children:_jsxs(VideoCard,{title:`Try Razorpay APIs on Postman`,videoUrl:`https://www.youtube.com/embed/TExjOlOCxTw?si=cS9MlY6_cm4tPGWq`,children:[_jsx(_components.p,{children:`Test Razorpay APIs using Postman. Watch the video to know how to get started.`}),_jsxs(_components.p,{children:[`All Razorpay APIs are authenticated using Basic Authentication. You must `,_jsx(_components.a,{href:`/docs/api/authentication`,children:`generate test API keys`}),` on the Dashboard before trying the APIs.`]})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`api-gateway-url`,children:`API Gateway URL`}),`\n`,_jsxs(_components.p,{children:[`For most of the Razorpay APIs, the Gateway URL is `,_jsx(_components.code,{children:`https://api.razorpay.com/v1`}),`. You need to include this before each API endpoint to make API calls. However, certain APIs are on V2. Hence, the gateway URL may differ for certain APIs.`]}),`\n`,_jsx(AccordionGroup,{children:_jsx(Accordion,{title:`Example`,id:`example`,children:_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Use the URL `,_jsx(_components.code,{children:`https://api.razorpay.com/v1/payments`}),` to access payment resources.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Use the URL `,_jsx(_components.code,{children:`https://api.razorpay.com/v2/accounts`}),` to access Route (Linked Account)-related resources.`]}),`\n`]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`related-information`,children:`Related Information`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/understand`,children:`Understand Razorpay APIs`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/authentication`,children:`API Authentication`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/sandbox-setup`,children:`Sandbox Setup`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/errors`,children:`Errors`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/best-practices`,children:`API Best Practices`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/glossary`,children:`API Glossary`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{VideoCard,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}"])</script>
2049<script>self.__next_f.push([1,"5f:T1687,"])</script>
2049<script>self.__next_f.push([1,"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const VideoCard=()=\u003enull;function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,CardGroup,Heading,Info,_MdxComponentBoundary}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsxs(`div`,{style:{display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:`0.35rem 0.9rem`,border:`1px solid rgba(128,128,128,0.28)`,borderRadius:`0.5rem`,padding:`0.45rem 0.75rem`,margin:`0 0 1.25rem`,fontSize:`0.875rem`},children:[_jsx(`span`,{style:{fontWeight:600},children:`Available in`}),_jsx(`span`,{children:`ð®ð³ India`}),_jsx(`span`,{children:`ð²ð¾ Malaysia`}),_jsx(`span`,{children:`ð¸ð¬ Singapore`}),_jsx(`span`,{children:`ðºð¸ United States`})]}),`\n`,_jsx(_components.p,{children:`Razorpay APIs are completely RESTful, and all our responses are returned in JSON.`}),`\n`,_jsxs(Info,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Integrations`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Looking to integrate your website, ecommerce store or mobile app with Razorpay Payment Gateway? Find the `,_jsx(_components.a,{href:`/docs/payments/payment-gateway#integration-types`,children:`right integration method`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Accept payments `,_jsxs(_components.a,{href:`/docs/payments#accept-payments`,children:[_jsx(_components.strong,{children:`without`}),` a website or app`]}),` using other Razorpay products, such as Payment Links, Payment Pages, Subscription Links, Invoices and Smart Collect.`]}),`\n`,_jsxs(_components.li,{children:[`For S2S integration, contact the `,_jsx(_components.a,{href:`https://razorpay.com/support/#request`,children:`Support team`}),` with your requirements.`]}),`\n`]})]}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(_MdxComponentBoundary,{name:`VideoCard`,children:_jsx(VideoCard,{title:`Razorpay Postman Public Workspace`,href:`https://www.postman.com/razorpaydev/workspace/razorpay-public-workspace/collection/12492020-952c7295-118c-400f-8f2c-5266ef6f689a`,videoUrl:`https://www.youtube.com/embed/0k5NpkMgUWQ?si=qZcBE8alhTN7b4_-`,children:_jsxs(_components.p,{children:[`Our APIs are present on the Razorpay `,_jsx(_components.a,{href:`https://www.postman.com/razorpaydev/workspace/razorpay-public-workspace/collection/12492020-952c7295-118c-400f-8f2c-5266ef6f689a`,children:`Postman Public Workspace`}),`. Watch the video to know how to fork APIs and save them to your private workspace for testing.`]})})}),_jsx(_MdxComponentBoundary,{name:`VideoCard`,children:_jsxs(VideoCard,{title:`Try Razorpay APIs on Postman`,videoUrl:`https://www.youtube.com/embed/TExjOlOCxTw?si=cS9MlY6_cm4tPGWq`,children:[_jsx(_components.p,{children:`Test Razorpay APIs using Postman. Watch the video to know how to get started.`}),_jsxs(_components.p,{children:[`All Razorpay APIs are authenticated using Basic Authentication. You must `,_jsx(_components.a,{href:`/docs/api/authentication`,children:`generate test API keys`}),` on the Dashboard before trying the APIs.`]})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`api-gateway-url`,children:`API Gateway URL`}),`\n`,_jsxs(_components.p,{children:[`For most of the Razorpay APIs, the Gateway URL is `,_jsx(_components.code,{children:`https://api.razorpay.com/v1`}),`. You need to include this before each API endpoint to make API calls. However, certain APIs are on V2. Hence, the gateway URL may differ for certain APIs.`]}),`\n`,_jsx(AccordionGroup,{children:_jsx(Accordion,{title:`Example`,id:`example`,children:_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Use the URL `,_jsx(_components.c
2049ode,{children:`https://api.razorpay.com/v1/payments`}),` to access payment resources.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Use the URL `,_jsx(_components.code,{children:`https://api.razorpay.com/v2/accounts`}),` to access Route (Linked Account)-related resources.`]}),`\n`]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`related-information`,children:`Related Information`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/understand`,children:`Understand Razorpay APIs`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/authentication`,children:`API Authentication`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/sandbox-setup`,children:`Sandbox Setup`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/errors`,children:`Errors`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/best-practices`,children:`API Best Practices`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/glossary`,children:`API Glossary`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{VideoCard,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}"])</script>
2049<script>self.__next_f.push([1,"48:[\"$\",\"$L5c\",null,{\"slug\":\"docs/api\",\"pageMetadata\":\"$31:props:pageMetadata\",\"theme\":\"mint\",\"children\":[\"$\",\"$L5d\",null,{\"mdxSource\":{\"compiledSource\":\"$5e\",\"frontmatter\":{},\"scope\":{\"config\":{},\"pageMetadata\":{\"title\":\"API Reference Guide\",\"description\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\",\"href\":\"/docs/api\"}}},\"mdxSourceWithNoJs\":{\"compiledSource\":\"$5f\",\"frontmatter\":{},\"scope\":{\"config\":{},\"pageMetadata\":{\"title\":\"API Reference Guide\",\"description\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\",\"href\":\"/docs/api\"}}},\"displayDomain\":\"razorpay-881012b3.mintlify.site\"}]}]\n"])</script>
2049<script>self.__next_f.push([1,"60:I[118717,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/62a5f408cd23c089.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"NotFoundHydrator\"]\n"])</script>
2049<script>self.__next_f.push([1,"53:[\"$\",\"$L60\",null,{\"source\":\"multitenant\"}]\n"])</script>
2049<script>self.__next_f.push([1,"57:[\"$\",\"style\",\"1\",{\"data-custom-css-index\":1,\"data-custom-css-path\":\"static/docs-home/hide-navbar-on-home.css\",\"dangerouslySetInnerHTML\":{\"__html\":\"/* Hide the Mintlify top navbar on custom-mode pages (home, home-old, home-my, home-sg, home-us).\\n Loaded before the JSX snippet mounts, so there's no flash-of-navbar on refresh.\\n Mintlify sets data-page-mode=\\\"custom\\\" on \u003chtml\u003e via an inline script for these pages. */\\nhtml[data-page-mode=\\\"custom\\\"] header#navbar {\\n display: none !important;\\n}\\n\\n/* Kill the mobile 120px top-padding wrapper Mintlify reserves for the (now-hidden) navbar */\\nhtml[data-page-mode=\\\"custom\\\"] .pt-\\\\[120px\\\\] {\\n padding-top: 0 !important;\\n}\\n\"}}]\n"])</script>
2049<script>self.__next_f.push([1,"61:T11913,"])</script>
2049<script>self.__next_f.push([1,"/* =========================================================================\n Razorpay Docs homepage â v41 \"Ascii sky\"\n Handoff build: v41 only. Class names keep their rzpn- prefix so every rule\n traces back to the prototype; rename at will.\n ========================================================================= */\n\n:root {\n --ink: #192839;\n --ink-soft: #4b5563;\n --ink-faint: #9ca3af;\n --border: #e5e7eb;\n --border-muted: rgba(67,75,81,0.12);\n --accent: #305eff;\n --accent-hover: #244bd6;\n --accent-soft-bg: #eef2ff;\n --teal: #0f6b63;\n --teal-soft-bg: #e6f5f3;\n --success-bg: #d9f5e0;\n --success-ink: #1c7340;\n --dark-bg: #002a29;\n --dark-card-bg: rgba(255,255,255,0.04);\n --dark-card-border: rgba(209,213,219,0.1);\n --dark-icon-bg: #145252;\n --radius-card: 12px;\n --radius-pill: 8px;\n --radius-btn: 6px;\n --ease: cubic-bezier(0.22, 1, 0.36, 1);\n --font-display: 'TASA Orbiter', 'Inter', system-ui, sans-serif;\n --font-body: 'Inter', system-ui, sans-serif;\n --font-mono: 'JetBrains Mono', 'SF Mono', Menlo, monospace;\n}\n\n/* Mintlify injects every repo CSS file into EVERY page, and unlayered rules\n beat Mintlify's layered Tailwind utilities regardless of specificity (a bare\n `img { display: block }` forced both the light AND dark navbar logos visible\n on all docs pages). So every reset here must stay scoped to the home page:\n #rzpn-home for the page tree, html[data-page-mode=\"custom\"] for html/body. */\n#rzpn-home, #rzpn-home * { box-sizing: border-box; }\nhtml[data-page-mode=\"custom\"] { scroll-behavior: smooth; }\nhtml[data-page-mode=\"custom\"], html[data-page-mode=\"custom\"] body { margin: 0; padding: 0; }\n#rzpn-home {\n font-family: var(--font-body);\n color: var(--ink);\n background: #fff;\n -webkit-font-smoothing: antialiased;\n}\n#rzpn-home a { text-decoration: none; color: inherit; }\n#rzpn-home img { display: block; max-width: 100%; }\n#rzpn-home h1, #rzpn-home h2, #rzpn-home h3, #rzpn-home h4 { margin: 0; font-family: var(--font-display); }\n#rzpn-home p { margin: 0; }\n\n/* ==========================================================================\n v41 â v40 with the photo swapped for a gradient sky + a generated ASCII\n field. Structure, spacing and every component are v40's; only the backdrop\n layer differs, so this block is a copy with the .rzpn-win rules rewritten.\n ========================================================================== */\n\n/* The drift is written to :root, not to the page: the footer is a SIBLING of\n #page-rzpn and is a window onto the same layer, so it has to read the same\n value. Declared on the page too it would shadow the root value. */\n:root { --rzpn-par: 0px; }\n#page-rzpn {\n --rzpn-pad: 64px;\n --rzpn-max: 1440px;\n background: #fff;\n}\n\n#page-rzpn .rzpn-wrap {\n max-width: var(--rzpn-max);\n margin: 0 auto;\n padding: 0 var(--rzpn-pad);\n}\n\n/* --- The shared photo window -------------------------------------------\n Every element that shows the grass photo uses this. `fixed` anchors the\n background to the viewport, so separate windows scattered down the page\n all sample one continuous image and stay registered to each other â the\n same construction as the Figma Subtract shape, and the parallax itself.\n Sized taller than the viewport so --rzpn-par has room to travel without\n ever exposing an edge. */\n#page-rzpn .rzpn-win {\n /* No photo: a sky gradient painted at a fixed viewport size. Fixed\n attachment is still what registers the windows to each other â every one\n samples the same 100vw x 1180px ramp, so the crops line up and the whole\n page reads as one backdrop seen through holes, exactly as v40's photo did. */\n /* Figma 1050:201408 â two stops, the first held until 22.856%, over a 368px\n band on a #e8eefe page. */\n background-image: linear-gradient(180deg, #5498f2 22.856%, #e8eefe 100%);\n background-attachment: fixed;\n background-repeat: no-repeat;\n /* The artboard's band height, so the ramp is spent at the foot of the hero\n and every window below it samples the flat tail. */\n background-size: 100vw 368px;\n background-position: center calc(0px + var(--rzpn-par));\n background-color: #e8eefe;\n}\n\n/* Where the photo sits behind content rather than standing alone, Figma fades\n it back so type stays legible. Sampling the frame, the card interiors read\n ~rgb(131,153,122) against the photo's raw rgb(88,107,58) â a light veil over\n a desaturated, slightly brightened blur. The
2049se values reproduce that. */\n#page-rzpn .rzpn-win--soft { position: relative; }\n#page-rzpn .rzpn-win--soft::before {\n content: '';\n position: absolute; inset: 0;\n border-radius: inherit;\n background: rgba(255,255,255,.22);\n -webkit-backdrop-filter: blur(8px) saturate(.7) brightness(1.15);\n backdrop-filter: blur(8px) saturate(.7) brightness(1.15);\n pointer-events: none;\n}\n/* Without backdrop-filter the veil alone has to do the work. */\n@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {\n #page-rzpn .rzpn-win--soft::before { background: rgba(233,240,232,.55); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n #page-rzpn { --rzpn-par: 0px !important; }\n}\n\n/* iOS Safari ignores background-attachment: fixed, and small screens don't\n have the height for the drift to read. Fall back to per-window crops.\n Width breakpoints are .rzpn-lte-* classes on #rzpn-home, set from the\n content column's width by home.jsx â Mintlify's assistant panel narrows\n the column without a window resize, so @media (max-width) can't see it. */\n#rzpn-home.rzpn-lte-900 #page-rzpn .rzpn-win {\n background-attachment: scroll;\n background-size: 100% 368px;\n background-position: center top;\n}\n@media (hover: none) and (pointer: coarse) {\n #page-rzpn .rzpn-win {\n background-attachment: scroll;\n background-size: 100% 368px;\n background-position: center top;\n }\n}\n\n/* ---------------------------------------------------------------- nav --- */\n/* Sticks as a floating pill for the whole page, not just the hero. Fixed\n rather than sticky because the artboard insets it 12px from the top and\n 50px from each side â it never spans the full width, so there is no edge\n for `position: sticky` to sit flush against. */\n#page-rzpn .rzpn-nav-wrap {\n position: fixed;\n top: 12px; left: 0; right: 0;\n z-index: 50;\n /* Tracks the content gutter rather than its own 50px, so the bar's edges\n line up with the sections (and with the hero headline) at every\n breakpoint â --rzpn-pad is what .rzpn-wrap uses. */\n padding: 0 var(--rzpn-pad);\n pointer-events: none;\n}\n#page-rzpn .rzpn-nav {\n pointer-events: auto;\n white-space: nowrap;\n /* 1440 - 2x64 = 1312, i.e. the same content box as .rzpn-wrap. */\n max-width: calc(var(--rzpn-max) - var(--rzpn-pad) * 2);\n margin: 0 auto;\n height: 58px;\n display: flex;\n align-items: center;\n gap: 24px;\n padding: 0 21px;\n border-radius: 8px;\n /* Figma 1157:90026 -- the pill is translucent (bg opacity .8) with a 4px\n backdrop blur, so whatever scrolls behind it (the ribbon/ascii trail)\n shows through softened rather than being fully hidden by a solid pill. */\n background: rgba(255,255,255,.8);\n transition: box-shadow .22s ease;\n -webkit-backdrop-filter: blur(4px);\n backdrop-filter: blur(4px);\n}\n/* Without backdrop-filter the 80% tint alone would show whatever's behind it\n unblurred through the pill â fall back to solid instead. */\n@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {\n #page-rzpn .rzpn-nav { background: #fff; }\n}\n/* On the hero the photo separates the pill from the page; once it is over\n white content it needs a shadow to stay distinct. */\n#page-rzpn.is-scrolled .rzpn-nav { box-shadow: 0 6px 24px rgba(5, 5, 5, .10); }\n#page-rzpn .rzpn-nav-logo { display: flex; align-items: center; gap: 8px; height: 32px; }\n#page-rzpn .rzpn-nav-logo img { display: block; height: 21px; width: auto; }\n#page-rzpn .rzpn-nav-logo-docs { height: 13px !important; }\n#page-rzpn .rzpn-nav-rule { width: 1px; height: 15px; background: #c8cdd0; }\n\n#page-rzpn .rzpn-nav-links { display: flex; align-items: center; gap: 18px; margin-left: 20px; }\n#page-rzpn .rzpn-nav-links a,\n#page-rzpn .rzpn-nav-meta a {\n display: inline-flex; align-items: center; gap: 4px;\n font-family: var(--font-body);\n font-weight: 500; font-size: 12px; line-height: 17px;\n letter-spacing: -0.156px; color: #050505; text-decoration: none;\n}\n#page-rzpn .rzpn-nav-links a:hover,\n#page-rzpn .rzpn-nav-meta a:hover { color: #1566f1; }\n\n#page-rzpn .rzpn-nav-right { display: flex; align-items: center; gap: 18px; margin-left: auto; }\n#page-rzpn .rzpn-nav-icobtn,\n#page-rzpn .rzpn-nav-assistant {\n display: inline-flex; align-items: center; gap: 6px;\n height: 36px; padding: 8px 12px;\n border: 1px solid #c8cdd0; border-radius: 8px;\n background: #fff; cursor: pointer;\n font-family: var(--font-body);\n font-weight: 500; font-size: 14px; line-height: 20px;\n letter-spacing: -0.182px; color: #616d75;\n}\n#page-rzpn .rzpn-nav-icobtn { width: 36px; justify-content: center; padding: 8px; }\n#page-rzpn .rzpn-nav-assistant:hover,\n#page-rzpn .rzpn-nav-icobtn:hover { border-color: #9aa3a9; }\n#page-rzpn .rzpn-nav-prefs { position: relative; display: flex; align-items: center; gap: 16px; }\n#page-rzpn .rzpn-nav-flag { border: 1px solid rgba(0,0,0,.1); border-radius: 1px; display: block; }\n#page-rzpn .rzpn-nav-prefs-btn {\n display: inline-flex; align-items: center; gap: 4px;\n padding: 0; border: 0; background: none; cursor: pointer;
2049\n color: #616d75;\n}\n#page-rzpn .rzpn-nav-prefs-btn:hover,\n#page-rzpn .rzpn-nav-prefs-btn.is-open { color: #1566f1; }\n#page-rzpn .rzpn-nav-prefs-chev { transition: transform .18s ease; }\n#page-rzpn .rzpn-nav-prefs-btn.is-open .rzpn-nav-prefs-chev { transform: rotate(180deg); }\n/* Right-aligned so the panel can't overflow the viewport edge. */\n#page-rzpn .rzpn-nav-prefs-menu {\n position: absolute;\n top: calc(100% + 8px); right: 0;\n z-index: 5;\n min-width: 96px;\n padding: 8px;\n display: flex; flex-direction: column;\n border-radius: 8px;\n background: #fff;\n box-shadow: 0 8px 28px rgba(5,5,5,.14);\n}\n#page-rzpn .rzpn-nav-prefs-menu[hidden] { display: none; }\n#page-rzpn .rzpn-nav-prefs-menu a {\n display: flex; align-items: center; gap: 8px;\n padding: 8px 12px;\n border-radius: 6px;\n font-family: var(--font-body);\n font-weight: 500; font-size: 12px; line-height: 17px;\n letter-spacing: -0.156px; color: #050505; text-decoration: none;\n white-space: nowrap;\n}\n#page-rzpn .rzpn-nav-prefs-menu a:hover { background: #f3f5f7; color: #1566f1; }\n#page-rzpn .rzpn-nav-meta { display: flex; align-items: center; gap: 18px; white-space: nowrap; }\n\n/* Burger + its panel: desktop shows neither, the 900px block turns them on. */\n#page-rzpn .rzpn-nav-burger { display: none; }\n#page-rzpn .rzpn-nav-burger-ico {\n position: relative;\n width: 16px; height: 2px; border-radius: 2px;\n background: currentColor;\n}\n#page-rzpn .rzpn-nav-burger-ico::before,\n#page-rzpn .rzpn-nav-burger-ico::after {\n content: '';\n position: absolute; left: 0;\n width: 16px; height: 2px; border-radius: 2px;\n background: currentColor;\n transition: transform .18s ease, opacity .18s ease;\n}\n#page-rzpn .rzpn-nav-burger-ico::before { top: -5px; }\n#page-rzpn .rzpn-nav-burger-ico::after { top: 5px; }\n/* Collapses to an X while the panel is open. */\n#page-rzpn .rzpn-nav-burger.is-open .rzpn-nav-burger-ico { background: transparent; }\n#page-rzpn .rzpn-nav-burger.is-open .rzpn-nav-burger-ico::before { transform: translateY(5px) rotate(45deg); }\n#page-rzpn .rzpn-nav-burger.is-open .rzpn-nav-burger-ico::after { transform: translateY(-5px) rotate(-45deg); }\n\n#page-rzpn .rzpn-nav-menu {\n pointer-events: auto;\n max-width: calc(var(--rzpn-max) - var(--rzpn-pad) * 2);\n margin: 8px auto 0;\n padding: 8px;\n display: flex; flex-direction: column;\n border-radius: 8px;\n background: #fff;\n box-shadow: 0 8px 28px rgba(5,5,5,.14);\n}\n#page-rzpn .rzpn-nav-menu[hidden] { display: none; }\n#page-rzpn .rzpn-nav-menu a {\n padding: 11px 12px;\n border-radius: 6px;\n font-family: var(--font-body);\n font-weight: 500; font-size: 15px; line-height: 20px;\n letter-spacing: -0.182px; color: #050505; text-decoration: none;\n}\n#page-rzpn .rzpn-nav-menu a:hover { background: #f3f5f7; color: #1566f1; }\n#page-rzpn .rzpn-nav-menu-rule { height: 0; margin: 6px 12px; border: 0; border-top: 1px solid #e4e4e4; }\n\n/* \"More\" dropdown: between 901px and 1129px the row can't fit all eight\n product links, so Payroll â API Reference collapse behind it. Desktop\n (â¥1130px) shows the full row and hides the button; at â¤900px the whole\n links row is gone and the burger panel takes over instead. The 1129px\n block in the responsive section flips the two on. */\n#page-rzpn .rzpn-nav-more { position: relative; display: none; align-self: stretch; align-items: center; }\n#page-rzpn .rzpn-nav-more-btn {\n display: inline-flex; align-items: center; gap: 4px;\n padding: 0; border: 0; background: none; cursor: pointer;\n font-family: var(--font-body);\n font-weight: 500; font-size: 12px; line-height: 17px;\n letter-spacing: -0.156px; color: #050505;\n}\n#page-rzpn .rzpn-nav-more-btn:hover,\n#page-rzpn .rzpn-nav-more-btn.is-open { color: #1566f1; }\n#page-rzpn .rzpn-nav-more-chev { transition: transform .18s ease; }\n#page-rzpn .rzpn-nav-more-btn.is-open .rzpn-nav-more-chev { transform: rotate(180deg); }\n/* The wrapper stretches to the pill's full 58px, so 100% + 8px lands the\n panel 8px under the pill edge â same offset the burger panel uses. */\n#page-rzpn .rzpn-nav-more-menu {\n position: absolute;\n top: calc(100% + 8px); left: 0;\n z-index: 5;\n min-width: 148px;\n padding: 8px;\n display: flex; flex-direction: column;\n border-radius: 8px;\n background: #fff;\n box-shadow: 0 8px 28px rgba(5,5,5,.14);\n}\n#page-rzpn .rzpn-nav-more-menu[hidden] { display: none; }\n#page-rzpn .rzpn-nav-more-menu a {\n display: block;\n padding: 8px 12px;\n border-radius: 6px;\n font-family: var(--font-body);\n font-weight: 500; font-size: 12px; line-height: 17px;\n letter-spacing: -0.156px; color: #050505; text-decoration: none;\n white-space: nowrap;\n}\n#page-rzpn .rzpn-nav-more-menu a:hover { background: #f3f5f7; color: #1566f1; }\n\n/* Developer Tools dropdown (v42): inline in the links row at all widths the\n row is visible; the burger panel lists its items instead at â¤900px. */\n#page-rzpn .rzpn-nav-dd { position: relative; display: inline-flex; }\n#page-rzpn .rzpn-nav-dd-btn {\n display: inline-flex; align-items: center; gap: 4px;\n padding: 0; border: 0; background: none; cursor: pointer;\n font-family: var(--font-body);\n font-weight: 500; font-size: 12px; line-height: 17px;\n letter-spacing: -0.156px; color: #050505;\n}\n#page-rzpn .rzpn-nav-dd-btn:hover,\n#page-rzpn .rzpn-nav-dd-btn.is-open { color: #1566f1; }\n#page-rzpn .rzpn-nav-dd-chev { transition: transform .18s ease; }\n#page-rzpn .rzpn-nav-dd-btn.is-open .rzpn-nav-dd-chev { transform: rotate(180deg); }\n#page-rzpn .rzpn-nav-dd-menu {\n position: absolute;\n top: calc(100% + 14px); left: -12px;\n z-index: 5;\n min-width: 208px;\n padding: 8px;\n display: flex; flex-direction: column;\n border: 1px solid #e4e4e4;\n border-radius: 10px;\n background: #fff;\n box-shadow: 0 12px 32px rgba(5,5,5,.12);\n}\n#page-rzpn .rzpn-nav-dd-menu[hidden] { display: none; }\n/* Invisible bridge over the 14px gap so the pointer can travel from the\n button into the panel without leaving the dropdown's hit area. */\n#page-rzpn .rzpn-nav-dd-menu::before {\n content: '';\n position: absolute; left: 0; right: 0; top: -14px; height: 14px;\n}\n#page-rzpn .rzpn-nav-dd-menu a {\n display: flex; align-items: center; gap: 10px;\n padding: 9px 10px;\n border-radius: 6px;\n font-family: var(--font-body);\n font-weight: 500; font-size: 13px; line-height: 18px;\n letter-spacing: -0.156px; color: #050505; text-decoration: none;\n white-space: nowrap;\n}\n#page-rzpn .rzpn-nav-dd-menu a:hover { background: #f3f5f7; color: #1566f1; }\n#page-rzpn .rzpn-nav-dd-ico {\n width: 16px; height: 16px; flex: none;\n color: #616d75;\n fill: none; stroke: currentColor; stroke-width: 1.7;\n stroke-linecap: round; stroke-linejoin: round;\n}\n#page-rzpn .rzpn-nav-dd-menu a:hover .rzpn-nav-dd-ico { color: #1566f1; }\n/* Burger panel: indented icon rows under the plain Developer Tools link. */\n#page-rzpn .rzpn-nav-menu a.rzpn-nav-menu-sub {\n display: flex; align-items: center; gap: 10px;\n padding: 9px 12px 9px 24px;\n font-size: 14px; line-height: 20px; color: #4b5563;\n}\n#page-rzpn .rzpn-nav-menu a.rzpn-nav-menu-sub:hover { color: #1566f1; }\n\n/* --------------------------------------------------------------- hero --- */\n#page-rzpn .rzpn-hero {\n position: relative;\n height: 366px;\n}\n/* ------------------------------------------------ v42 ribbon artwork ---- */\n/* The artwork is a 1440x448 stage pinned to the top of the viewport, not to\n the hero â fixed, so the page scrolls over it while it holds
2049still. Children\n keep Figma's own coordinates, so the stage stays exactly 1440 wide. */\n#page-rzpn .rzpn-art {\n position: fixed;\n top: 0; left: 50%;\n width: 1440px; height: 448px;\n margin-left: -688px; /* -720px stage half-width + 32px rightward shift */\n transform-origin: top center;\n pointer-events: none;\n z-index: 0;\n /* Several strips are laid out past the artboard's left and right edges on\n purpose, so the clip is vertical only. */\n overflow: visible;\n clip-path: inset(0 -100vw);\n}\n#page-rzpn .rzpn-art img { max-width: none; }\n\n/* Trail peek canvases: one per non-hero window, sized to that window's own\n box (see the trail IIFE in script.js) â same \"one canvas per window, shared\n viewport-space source\" pattern already used by .rzpn-win-glyphs. */\n#page-rzpn .rzpn-trail-peek {\n position: absolute;\n inset: 0;\n /* A \u003ccanvas\u003e is a replaced element â inset:0 alone anchors it at the\n window's top-left but does NOT stretch it to fill; without an explicit\n width/height it falls back to its intrinsic size (the dpr-scaled pixel\n buffer). width/height:100% forces the CSS box to match the window. */\n width: 100%; height: 100%;\n pointer-events: none;\n /* Every ribbon piece carries its own Figma \"background blur\" (radius\n 5.48px, i.e. blur(2.74px)) baked into its raster; once drawImage()\n copies that raster into a window's peek canvas nothing blurs the canvas\n itself the way a glass panel should â so blur its rendered output. */\n filter: blur(2.74px);\n}\n\n/* Independent parallax layers inside the fixed 1440x448 stage. Each wrapper\n exactly overlays .rzpn-art's own box (inset:0 at the same size), so every\n child's existing `position:absolute; left/top: Npx` still resolves against\n the same artboard origin â only a translateY moves per layer. The ribbon\n band (background) travels least; each floating Doc card is its own layer,\n scaled by --rzpn-par-doc-N (bigger card, more travel); the ascii trail\n sits between the two. --rzpn-par-* are all set by the scroll handler. */\n#page-rzpn .rzpn-art-strip,\n#page-rzpn .rzpn-art-ascii,\n#page-rzpn .rzpn-doc {\n position: absolute;\n inset: 0;\n width: 1440px; height: 448px;\n}\n#page-rzpn .rzpn-art-strip { transform: translateY(var(--rzpn-par-strip, 0px)); }\n#page-rzpn .rzpn-art-ascii { transform: translateY(var(--rzpn-par-ascii, 0px)); }\n/* Per-card motion, three independent channels: scroll parallax + curs
2049or tilt\n share `transform` (both JS-driven), the levitate drift animates the\n standalone `translate` property, and the hover rotation uses standalone\n `rotate` â so none of the three fight over one transform value. Durations,\n delays and phases differ per card so the seven drift out of lockstep. */\n#page-rzpn .rzpn-doc-1 {\n transform: translate(var(--rzpn-hover-x-1, 0px), calc(var(--rzpn-par-doc-1, 0px) + var(--rzpn-hover-y-1, 0px))); rotate: var(--rzpn-hover-r-1, 0deg); transition: transform .42s cubic-bezier(.22,1,.36,1), rotate .42s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 7.2s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -1.1s, 1000ms;\n}\n#page-rzpn .rzpn-doc-2 {\n transform: translate(var(--rzpn-hover-x-2, 0px), calc(var(--rzpn-par-doc-2, 0px) + var(--rzpn-hover-y-2, 0px))); rotate: var(--rzpn-hover-r-2, 0deg); transition: transform .61s cubic-bezier(.22,1,.36,1), rotate .61s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 6.4s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -3.6s, 600ms;\n}\n#page-rzpn .rzpn-doc-3 {\n transform: translate(var(--rzpn-hover-x-3, 0px), calc(var(--rzpn-par-doc-3, 0px) + var(--rzpn-hover-y-3, 0px))); rotate: var(--rzpn-hover-r-3, 0deg); transition: transform .34s cubic-bezier(.22,1,.36,1), rotate .34s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 8.1s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -0.4s, 300ms;\n}\n#page-rzpn .rzpn-doc-4 {\n transform: translate(var(--rzpn-hover-x-4, 0px), calc(var(--rzpn-par-doc-4, 0px) + var(--rzpn-hover-y-4, 0px))); rotate: var(--rzpn-hover-r-4, 0deg); transition: transform .53s cubic-bezier(.22,1,.36,1), rotate .53s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate-sm 5.8s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -2.2s, 240ms;\n}\n#page-rzpn .rzpn-doc-5 {\n transform: translate(var(--rzpn-hover-x-5, 0px), calc(var(--rzpn-par-doc-5, 0px) + var(--rzpn-hover-y-5, 0px))); rotate: var(--rzpn-hover-r-5, 0deg); transition: transform .39s cubic-bezier(.22,1,.36,1), rotate .39s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate-sm 6.9s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -4.5s, 800ms;\n}\n#page-rzpn .rzpn-doc-7 {\n transform: translate(var(--rzpn-hover-x-7, 0px), calc(var(--rzpn-par-doc-7, 0px) + var(--rzpn-hover-y-7, 0px))); rotate: var(--rzpn-hover-r-7, 0deg); transition: transform .48s cubic-bezier(.22,1,.36,1), rotate .48s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate-sm 6.1s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -1.8s, 300ms;\n}\n/* The Doc 6 badge sits inside .rzpn-art-strip (it has to paint behind the top\n ribbon strip for z-order), so it can't pick up a shared .rzpn-doc-N rule.\n No scroll parallax â it isn't in the DOC_MAG footprint table â but it gets\n the same cursor tilt as the other six (key '6' is otherwise unused). */\n#page-rzpn .rzpn-doc-6-badge {\n transform: translate(var(--rzpn-hover-x-6, 0px), var(--rzpn-hover-y-6, 0px)); rotate: var(--rzpn-hover-r-6, 0deg); transition: transform .56s cubic-bezier(.22,1,.36,1), rotate .56s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 7.7s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -5.2s, 300ms;\n}\n@keyframes rzpn-doc-levitate {\n 0%, 100% { translate: 0 0; }\n 50% { translate: 0 -14px; }\n}\n@keyframes rzpn-doc-levitate-sm {\n 0%, 100% { translate: 0 0; }\n 50% { translate: 0 -9px; }\n}\n@keyframes rzpn-doc-appear {\n from { opacity: 0; scale: 0.94; }\n to { opacity: 1; scale: 1; }\n}\n@media (prefers-reduced-motion: reduce) {\n #page-rzpn .rzpn-art-strip,\n #page-rzpn .rzpn-art-ascii,\n #page-rzpn .rzpn-doc,\n #page-rzpn .rzpn-doc-6-badge { transform: none !important; animation: none !important; }\n}\n\n/* The flowing characters share the stage's artboard box, so they travel with\n the ribbon and need no separate positioning. No z-index: the canvas sits\n between the strips and the Doc panels in DOM order, so plain paint order\n puts the trail over the bands and under the docs. */\n#page-rzpn .rzpn-flow {\n position: absolute;\n left: 0; top: 0;\n width: 1440px; height: 448px;\n pointer-events: none;\n}\n\n/* Everything after the hero scrolls over the fixed artwork, so each section is\n a positioned, opaque surface. */\n#page-rzpn \u003e section:not(.rzpn-hero) {\n position: relative; z-index: 1; background: #fff;\n}\n\n/* Halftone glyph field. One canvas per window, all drawing from a single\n viewport-space grid (see the v41 glyph IIFE), so the pattern is continuous\n across the hero, the AI cards and the Payments step rows. */\n#page-rzpn .rzpn-win-glyphs {\n position: absolute;\n inset: 0;\n display: block;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n/* The new photo is light throughout â sky in the hero band, meadow in the\n windows below â so a single dark ink over multiply works everywhere. The\n previous photo needed light ink and screen in the hero, where it was dark. */\n#page-rzpn .rzpn-win-glyphs {\n mix-blend-mode: normal;\n}\n/* Bright-is-dense makes the veiled windows busier than the hero, since they\n crop the sunlit meadow and a strip of horizon â so they carry less. */\n/* Lower than the windows below: the hero carries the headline and the ask\n bar, and the cloud band is the brightest ground on the page, so the same\n dark ink lands much harder here. */\n/* One white ink everywhere now, so every window blends normally â white under\n multiply is a no-op. */\n#page-rzpn .rzpn-win-glyphs { mix-blend-mode: normal; }\n#page-rzpn .rzpn-hero \u003e .rzpn-win-glyphs { opacity: .85; }\n#page-rzpn .rzpn-win--soft \u003e .rzpn-win-glyphs { opacity: .7; }\n\n#page-rzpn .rzpn-hero-inner {\n max-width: var(--rzpn-max);\n margin: 0 auto;
2049\n padding: 0 var(--rzpn-pad);\n height: 100%;\n position: relative;\n}\n#page-rzpn .rzpn-hero-h1 {\n position: absolute; top: 122px; left: var(--rzpn-pad);\n margin: 0;\n font-family: 'Inter Tight', var(--font-body);\n font-weight: 200; font-size: 80px; line-height: 1.1;\n /* Figma tracks the glyphs at -4.8px but loosens the word spaces to -1.76px;\n word-spacing makes up the 3.04px difference rather than needing a span\n around every gap. */\n letter-spacing: -4.8px; word-spacing: 3.04px; color: #fff;\n}\n#page-rzpn .rzpn-ask {\n position: absolute; top: 236px; left: var(--rzpn-pad);\n display: flex; align-items: center; gap: 12px;\n width: 636px; max-width: calc(100% - var(--rzpn-pad) * 2);\n height: 72px; padding: 0 20px 0 24px;\n border: 0; border-radius: 12px;\n background: #fff;\n}\n#page-rzpn .rzpn-ask-spark { display: block; flex: none; }\n#page-rzpn .rzpn-ask-input {\n flex: 1; min-width: 0; border: 0; background: none; outline: none;\n font-family: var(--font-display);\n font-size: 20px; letter-spacing: -0.4px; color: #2f404c;\n}\n/* background-clip: text cannot reach ::placeholder, so the real placeholder is\n painted out and .rzpn-ask-ph draws the same string with a sheen sweeping\n across it. The twin is inside .rzpn-ask-field so it lines up with the input\n at every breakpoint without restating the bar's padding and gap. */\n#page-rzpn .rzpn-ask-field { position: relative; flex: 1; min-width: 0; display: flex; }\n#page-rzpn .rzpn-ask-input::placeholder { color: transparent; }\n#page-rzpn .rzpn-ask-ph {\n position: absolute; inset: 0;\n display: flex; align-items: center;\n pointer-events: none;\n white-space: nowrap; overflow: hidden;\n font-family: var(--font-display);\n font-size: 20px; letter-spacing: -0.4px;\n opacity: 0.6;\n /* Figma 1218:91805 â placeholder text is a static #2f404c at 60% opacity.\n The sheen is a proper light highlight sweeping over a lighter base tone\n (not a darker gray/black peak within the same hue â that read as a dark\n smudge, not a shimmer): base a muted mid-blue-gray, peak a pale cyan\n core (#B5EDEE) flanked by #5E9EF1 either side so the sweep reads as a\n bright cyan-with-a-blue-glow highlight rather than one flat colour. */\n background-image: linear-gradient(100deg, rgba(100,124,148,.55) 0%, rgba(100,124,148,.55) 35%, #5E9EF1 46%, #B5EDEE 50%, #5E9EF1 54%, rgba(100,124,148,.55) 65%, rgba(100,124,148,.55) 100%);\n background-size: 200% 100%;\n -webkit-background-clip: text; background-clip: text;\n -webkit-text-fill-color: transparent; color: transparent;\n /* 100% -\u003e 0% sweeps the highlight left to right; both ends of the gradient\n are the base colour, so the wrap is seamless. */\n animation: rzpn-ask-shimmer 2.8s linear infinite;\n}\n#page-rzpn .rzpn-ask-input:not(:placeholder-shown) ~ .rzpn-ask-ph { opacity: 0; }\n@keyframes rzpn-ask-shimmer {\n from { background-position: 100% 0; }\n to { background-position: 0% 0; }\n}\n@media (prefers-reduced-motion: reduce) {\n #page-rzpn .rzpn-ask-ph { animation: none; }\n}\n#page-rzpn .rzpn-ask-go { flex: none; border: 0; background: none; padding: 0; cursor: pointer; line-height: 0; }\n#page-rzpn .rzpn-ask-go img,\n#page-rzpn .rzpn-ask-go svg { display: block; }\n\n/* ------------------------------------------------- AI prompt cards ------ */\n#page-rzpn .rzpn-ai { padding: 37px 0 0; background: #fff; }\n#page-rzpn .rzpn-ai-head { display: flex; align-items: center; gap: 12px; }\n\n#page-rzpn .rzpn-eyebrow {\n margin: 0;\n font-family: var(--font-display);\n font-weight: 500; font-size: 24px; line-height: .9;\n letter-spacing: -0.48px; color: #000; opacity: .8;\n}\n#page-rzpn .rzpn-ai-agents { display: inline-flex; align-items: center; }\n#page-rzpn .rzpn-ai-agent { width: 24px; height: 24px; display: grid; place-items: center; overflow: hidden; }\n#page-rzpn .rzpn-ai-agent img { display: block; width: 21.6px; height: 21.6px; object-fit: contain; }\n/* Cursor ships as a full lockup (mark + wordmark, 960x234). The mark is\n cropped to its own file (201x229) rather than clipped in CSS, which was\n slicing it mid-glyph. It is taller than it is wide, so height drives it. */\n#page-rzpn .rzpn-ai-agent--3 img {\n width: auto;\n height: 19.2px;\n}\n\n#page-rzpn .rzpn-ai-cards {\n display: grid;\n grid-template-columns: repeat(5, 1fr);\n align-items: start;\n gap: 24px;\n margin-top: 29px;\n}\n/* No card chrome in this version: the rounded media block sits directly on\n the page with the title and CTA beneath it, so there is no plate, border,\n shadow or fixed card ratio â the media carries its own ratio instead. */\n#page-rzpn .rzpn-pcard {\n position: relative;\n display: flex;\n flex-direction: column;\n}\n#page-rzpn .rzpn-pcard-media {\n position: relative;\n aspect-ratio: 242 / 182;\n border-radius: 12px;\n overflow: hidden;\n}\n#page-rzpn .rzpn-pcard-body {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 0;\n}\n/* Figma 824:8477. Carries more of the gradient than the step rows do:\n rgba(...,.5) -\u003e rgba(...,.2) against their .4 -\u003e .08. */\n#page-rzpn .rzpn-pcard-tint {\n background: linear-gradient(205.78deg, rgba(132,175,250,.5) 25.575%, rgba(159,255,159,.2) 97.045%);\n border-radius: inherit;\n}\n/* Real artwork now (Figma 936:9032 â one 242x182 frame per card), replacing\n the white pane wireframes. Each export carries its own internal margins, so\n it fills the well edge-to-edge rather than sitting inside a 16px inset. */\n#page-rzpn .rzpn-pcard-shot {\n position: absolute;\n inset: 0;\n}\n#page-rzpn .rzpn-pcard-shot img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: contain;\n transition: transform .35s cubic-bezier(.22,.61,.36,1);\n}\n#page-rzpn .rzpn-pcard:hover .rzpn-pcard-shot img { transform: scale(1.03); }\n@media (prefers-reduced-motion: reduce) {\n #page-rzpn .rzpn-pcard-shot img { transition: none; }\n}\n/* Figma 889:14565: TASA Orbiter Display Medium 16/20, -0.32px, #000828.\n Was Inter Regular 16/24 â a different family, weight and leading. The 4px\n left inset is the artboard's (title x=68 against the card's x=64). */\n#page-rzpn .rzpn-pcard-title {\n margin: 16px 0 0 4px;\n font-family: var(--font-display);\n font-weight: 500;\n font-size: 15px;\n line-height: 20px;\n letter-spacing: -0.32px;\n color: #000828;\n}\n/* Figma 889:14568 â the Link component: Inter Medium in #0e54cc with a 4px\n gap and a 12px icon. 14px is the page's link size â .rzpn-agents-link and\n the section leads already sit here, so these come up to match rather than\n reading as fine print under 16/18px card titles. */\n#page-rzpn .rzpn-pcard-pill {\n margin: 12px 0 0 4px;\n align-self: flex-start;\n display: inline-flex; align-items: center; gap: 4px;\n padding: 0; border: 0; background: none; cursor: pointer;\n font-family: var(--font-body);\n font-weight: 500; font-size: 14px; line-height: 20px;\n letter-spacing: -0.182px; color: #0e54cc;\n}\n/* Masked so the glyph takes the link colour, rather than shipping a second\n blue copy of the same file. */\n#page-rzpn .rzpn-copy-ico {\n width: 12px; height: 12px; flex: none;\n background: currentColor;\n -webkit-mask: url('/static/docs-home/assets/copy.svg') center / contain no-repeat;\n mask: url('/static/docs-home/assets/copy.svg') center / contain no-repeat;\n}\n#page-rzpn .rzpn-pcard-pill:hover { color: #0a3f9c; }\n#page-rzpn .rzpn-pcard-pill.is-copied { color: #128f5c; }\n\n/* ------------------------------------- developer tools + credentials ---- */\n/* Figma Vector 5045 at y=751 â 48px under the CTA baseline (y=703), with the\n Developer tools block at y=803. */\n#page-rzpn hr.rzpn-ai-rule { margin-top: 48px; }
2049\n/* Pill cards hug their content rather than sharing the row equally, so the\n row is left-packed and runs out before the gutter â that ragged right edge\n is the design, not a bug. */\n#page-rzpn .rzpn-devrow { margin-top: 52px; }\n/* Label sits inline with the pills, not stacked above them â matches the\n \"Integrate Razorpay using AI\" row's own head+content layout above it. */\n#page-rzpn .rzpn-devtools {\n display: flex; align-items: center; flex-wrap: wrap; gap: 24px;\n}\n#page-rzpn .rzpn-devcards {\n display: flex; flex-wrap: wrap; align-items: flex-start;\n gap: 20px;\n}\n#page-rzpn .rzpn-devcard {\n flex: none;\n display: inline-flex; align-items: center; gap: 8px;\n padding: 12px 24px 12px 20px;\n border-radius: 58px;\n background: #ddefff;\n transition: background-color .18s var(--ease);\n}\n#page-rzpn .rzpn-devcard:hover { background: #c8e3ff; }\n/* Same sprite the cards draw from â see .rzpn-dot-ico for why fill/stroke sit\n on the \u003csvg\u003e host rather than the \u003csymbol\u003e. */\n#page-rzpn .rzpn-devcard-ico {\n width: 20px; height: 20px; flex: none;\n color: #000828;\n fill: none;\n stroke: currentColor;\n stroke-width: 1.7;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n#page-rzpn .rzpn-devcard .rzpn-u {\n font-family: var(--font-display);\n font-weight: 500; font-size: 16px; line-height: 24px;\n letter-spacing: -0.32px; color: #000828;\n white-space: nowrap;\n}\n\n#page-rzpn .rzpn-creds-row { display: flex; gap: 24px; margin-top: 20px; }\n#page-rzpn .rzpn-cred {\n position: relative; flex: 1 1 0; min-width: 0;\n height: 108px; padding: 15.5px;\n border: .5px solid #e4e4e4; border-radius: 12px;\n background: #fff;\n box-shadow: 0 2px 4px rgba(80,168,212,.08);\n overflow: hidden;\n display: flex; flex-direction: column; justify-content: space-between;\n}\n/* The dotted texture bleeding out of the card's top-right corner. */\n#page-rzpn .rzpn-cred::after {\n content: ''; position: absolute;\n top: -35.5px; left: 50%; margin-left: -61px;\n width: 231px; height: 157px;\n background: url('/static/docs-home/assets/cred-noise.png') center / cover no-repeat;\n mix-blend-mode: hard-light;\n pointer-events: none;\n}\n#page-rzpn .rzpn-cred-label {\n position: relative; z-index: 1;\n font-family: var(--font-display);\n font-weight: 500; font-size: 14px; color: #292f32;\n}\n#page-rzpn .rzpn-cred-key {\n position: relative; z-index: 1;\n align-self: flex-start;\n display: inline-flex; align-items: center; gap: 12px;\n border: 0; background: none; padding: 0; cursor: pointer;\n}\n#page-rzpn .rzpn-cred-key code {\n font-family: var(--font-mono); font-size: 13px; line-height: 17px; color: #1566f1;\n}\n#page-rzpn .rzpn-cred-key img { display: block; opacity: .55; }\n#page-rzpn .rzpn-cred-key:hover img { opacity: 1; }\n\n#page-rzpn .rzpn-link {\n display: inline-flex; align-items: center; gap: 4px;\n position: relative; z-index: 1;\n font-family: var(--font-body);\n /* 14px is the page's link size â the prompt-card pills sit here too. */\n font-weight: 500; font-size: 14px; line-height: 20px;\n letter-spacing: -0.182px; color: #0e54cc; text-decoration: none;\n}\n#page-rzpn .rzpn-link img { display: block; }\n#page-rzpn .rzpn-link:hover { text-decoration: underline; }\n\n/* ------------------------------------------------ section scaffolding --- */\n#page-rzpn .rzpn-section { background: #fff; }\n/* The artboard draws these at full black; at 1px across a 1312px span that\n reads as a hard edge and competes with the headings, so they sit back. */\n#page-rzpn .rzpn-rule { height: 0; margin: 0; border: 0; border-top: 1px solid rgba(5,5,5,.14); }\n#page-rzpn .rzpn-block {\n display: flex; align-items: flex-end; justify-content: space-between; gap: 40px;\n margin-top: 32px;\n}\n#page-rzpn .rzpn-h2 {\n margin: 0;\n font-family: var(--font-display);\n font-weight: 400; font-size: 64px; line-height: 1.15;\n letter-spacing: -3.2px; color: #050505;\n}\n#page-rzpn .rzpn-block-aside {\n display: flex; flex-direction: column; align-items: flex-end; gap: 8px;\n width: 404px; flex: none;\n}\n#page-rzpn .rzpn-block-aside p {\n margin: 0; text-align: right;\n font-family: var(--font-body);\n font-size: 14px; line-height: 20px; letter-spacing: -0.182px; color: #4b5563;\n}\n\n/* ------------------------------------------------------ payment steps --- */\n#page-rzpn .rzpn-steps-lead {\n margin: 36px 0 0;\n font-family: var(--font-body);\n font-size: 14px; line-height: 20px; letter-spacing: -0.182px; color: #616d75;\n}\n#page-rzpn .rzpn-steps { display: flex; flex-direction: column; gap: 32px; margin-top: 15px; }\n#page-rzpn .rzpn-step {\n position: relative;\n isolation: isolate;\n border-radius: 12px;\n padding: 24px 24px 24px 22px;\n display: grid;\n grid-template-columns: 288px 1fr;\n gap: 24px;\n overflow: hidden;\n}\n/* Figma's Rectangle 1891601137 gradient, laid over the photo. */\n/* Figma's gradient fills on these windows carry a Noise fill on top â the\n exported rects measure a residual std of ~4.4 (cards) and ~3.2 (POS) after\n blurring, i.e. real per-pixel grain, near-monochrome (channel correlation\n 0.93). Generated as a fixed-seed PNG rather than feTurbulence: that filter\n randomises the ALPHA channel as well as RGB, so its composited amplitude is\n not predictable, and a measured tile can be matched to Figma exactly.\n Tile is mean 128 / std 48; `overlay` is neutral at 128 so the grain adds no\n tonal shift, and 0.24 opacity lands the result at ~4.4 on a card. */\n#page-rzpn .rzpn-win-tint {\n position: absolute;\n inset: 0;\n pointer-events: none;\n}
2049\n#page-rzpn .rzpn-win-tint::after {\n content: '';\n position: absolute;\n inset: 0;\n background-image: url('/static/docs-home/assets/grain.png');\n background-repeat: repeat;\n background-size: 256px 256px;\n mix-blend-mode: overlay;\n opacity: .24;\n border-radius: inherit;\n}\n\n#page-rzpn .rzpn-step-tint {\n background: linear-gradient(183.64deg, rgba(132,175,250,.4) 25.575%, rgba(159,255,159,.08) 97.045%);\n}\n#page-rzpn .rzpn-step-label {\n position: relative;\n display: flex; flex-direction: column;\n font-family: var(--font-display);\n color: #9e9e9e;\n /* Blends against the row, so one grey reads on both the photo and the tint. */\n mix-blend-mode: difference;\n}\n/* Difference blend is what makes the label read against both the photo and\n the gradient without a second colour token. */\n#page-rzpn .rzpn-step-num { font-size: 20px; line-height: 23px; letter-spacing: -1px; }\n#page-rzpn .rzpn-step-name { font-size: 48px; line-height: 56px; letter-spacing: -2.4px; }\n\n#page-rzpn .rzpn-step-cards { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }\n\n/* ------------------------------------------------------- generic card --- */\n#page-rzpn .rzpn-card {\n display: flex; flex-direction: column; gap: 8px;\n padding: 20px;\n border: .5px solid #e4e4e4; border-radius: 12px;\n background: #fff;\n box-shadow: 0 2px 4px rgba(80,168,212,.08);\n}\n/* Figma 889:14389 groups the title and body into one stack that sits 12px\n below the dot. Rather than wrapping the copy in every card, the card keeps\n the title-to-body gap and the dot carries the remaining 4px. */\n#page-rzpn .rzpn-card .rzpn-dot { margin-bottom: 4px; }\n#page-rzpn .rzpn-card h3 {\n margin: 0;\n font-family: var(--font-display);\n font-weight: 500; font-size: 18px; line-height: 24px;\n letter-spacing: -0.18px; color: #292f32;\n}\n#page-rzpn .rzpn-card p {\n margin: 0;\n font-family: var(--font-body);\n font-weight: 400; font-size: 14px; line-height: 20px;\n letter-spacing: -0.182px; color: #616d75;\n}\n#page-rzpn .rzpn-dot { width: 40px; height: 40px; border-radius: 50%; background: #ddefff; flex: none; }\n\n/* ------------------------------------------------------------ POS ------- */\n#page-rzpn .rzpn-pos {\n position: relative;\n min-height: 474px;\n padding: 26px 0 0;\n display: grid;\n grid-template-columns: 1fr 1fr;\n align-items: start;\n}\n#page-rzpn .rzpn-pos-copy { position: relative; z-index: 2; }\n#page-rzpn .rzpn-pos-sub {\n margin: 8px 0 0;\n font-family: var(--font-display);\n font-weight: 400; font-size: 28px; line-height: 34px;\n letter-spacing: -0.56px; color: #9aa3a9;\n}\n/* Bottom-aligns the aside with the mask's own bottom edge, on request,\n rather than centring it in the row. Percentage padding-top resolves\n against the containing block's WIDTH (the classic aspect-ratio padding\n hack) â so with height:0 this anchor's border-box bottom lands exactly\n at .rzpn-pos-window's bottom (top:70px + width-relative height, 45.96% *\n 258/603 = 19.665%) at any viewport width, no JS needed. .rzpn-pos-aside is\n then an absolutely-positioned child of it, anchored to that edge. */\n#page-rzpn .rzpn-pos-aside-anchor {\n position: absolute;\n left: 0; top: 0;\n width: 100%; height: 0;\n padding-top: calc(70px + 19.665%);\n pointer-events: none;\n}\n#page-rzpn .rzpn-pos-aside {\n position: absolute; z-index: 2;\n bottom: 0; right: 0;\n pointer-events: auto;\n display: flex; flex-direction: column; gap: 12px;\n width: 266px;\n}\n#page-rzpn .rzpn-pos-aside p {\n margin: 0;\n font-family: var(--font-body);\n font-size: 14px; line-height: 20px; letter-spacing: -0.182px; color: #4b5563;\n}\n#page-rzpn .rzpn-pos-art {\n position: absolute; inset: 0;\n pointer-events: none;\n z-index: 1;\n}\n/* POS artwork (Figma 827:8785 + 827:8780). Coordinates are the artboard's,\n expressed as percentages of the 1312 content width so they hold as it\n scales: the v42 window is a wide landscape band (603x258) rather than the\n old portrait card; device at x=362 y=2139 (668x624), both measured from\n the section's top rule at y=2182. */\n#page-rzpn .rzpn-pos-window {\n position: absolute;\n left: 26.98%;\n top: 70px;\n width: 45.96%;\n aspect-ratio: 603 / 258;\n border-radius: 12px;\n overflow: hidden;\n}\n#page-rzpn .rzpn-pos-tint {\n background: linear-gradient(189.75deg, rgba(132,175,250,.4) 25.575%, rgba(159,255,159,.08) 97.045%);\n}\n#page-rzpn .rzpn-pos-device {\n position: absolute;\n left: 22.75%;\n /* The node sits at y=-43, but its PNG carries transparent padding (opaque\n from 13.5% to 87.2% of its height), which puts the visible device at\n 41..501 and crosses the section's bottom rule at 474. Raised so the\n device reads inside the section, as it does in the reference frame. */\n top: -78px;\n width: 50.95%;\n height: auto;\n display: block;\n}\n\n/* ----------------------------------------------------- card grids ------- */\n/* Section gaps are the artboard's: dev-tools block ends 953 -\u003e rule 1125,\n steps end 1990 -\u003e rule 2182, rule 2656 -\u003e Banking 2746, banking cards end\n 3212 -\u003e rule 3408, rule -\u003e Partners 3452, partner cards end 3758 -\u003e dark 3856.\n payments' own top gap (artboard 172px) is overridden to 52px on request, to\n match .rzpn-devrow's own margin-top above the dev-tools heading â the two\n gaps around that block now read as even. */\n#page-rzpn .rzpn-section--payments { padding-top: 52px; }\n/* Doubled the base .rzpn-block margin-top (32px), then +16px more on request,\n for this section's own rule -\u003e \"Payments\" heading gap only. */\n#page-rzpn .rzpn-section--payments .rzpn-block { margin-top: 80px; }\n#page-rzpn .rzpn-section--pos { padding-top: 192px; }\n/* Banking's padding-bottom is new: with none, the last row's :hover\n box-shadow had to render in the gap-before-the-rule space, which actually\n belongs to .rzpn-section--partners (its own padding-top) â a later\n sibling's opaque #fff background paints over anything sitting there,\n clipping the shadow with a hard edge. Moving 32px of that gap from\n Partners' padding-top to Banking's own padding-bottom keeps the rule's\n position and the total gap identical, but now the first 32px belongs to\n Banking's own box, painted before Partners, so the shadow has room to\n render unclipped. Partners' padding-bottom (the artboard's 98px cards -\u003e\n dark-band gap) moves into its own box for the same reason â the agents\n band no longer carries a margin-top. */\n#page-rzpn .rzpn-section--banking { padding-top: 90px; padding-bottom: 32px; }\n#page-rzpn .rzpn-section--partners { padding-top: 164px; padding-bottom: 98px; }\n#page-rzpn .rzpn-section--banking .rzpn-block { margin-top: 0; }\n#page-rzpn .rzpn-section--partners .rzpn-block { margin-top: 43px; }\n#page-rzpn .rzpn-grid {\n position: relative;\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 24px;\n margin-top: 48px;\n}\n#page-rzpn .rzpn-grid--green .rzpn-dot { background: #e6faf2; }\n#page-rzpn .rzpn-grid--peach .rzpn-dot { background: #faf2e5; }\n\n/* --------------------------------------------------- build with agents --\n Figma 955:21750. The band is 1440x423 on the artboard and every piece is\n placed against that box â the terminal has to sit at a fixed offset inside\n the punched photo window, which no flow layout reproduces â so the stage\n positions its parts absolutely. The band is taller than the 423px artboard,\n so every offset carries --rzpn-agents-lift, which recentres the composition\n without disturbing the artboard spacing between its pieces. The window is\n the tallest piece (256px, artboard y 89) and so is what gets centred â the\n artboard itself was 11px off centre. Below 1180px the band unwinds into a\n stack and the window re-anchors to the terminal. */\n#page-rzpn section.rzpn-agents {\n --rzpn-agents-tall: 480px;\n --rzpn-agents-lift: calc((var(--rzpn-agents-tall) - 434px) / 2);\n /* Same specificity as the `section:not(.rzpn-hero)` catch-all above (which\n also sets background), so cascade order â this rule comes later â is\n what makes the dark background win instead of white. */\n background: #022929;\n /* No margin-top: Figma's own frame (955:21750) already puts the heading\n 139px below the frame's top edge, and the 98px gap above the band now\n lives in Partners' own padding-bottom â carrying both doubled the gap.\n The dark background itself still needs to be an opaque box (not a\n margin) so the fixed ribbon artwork (.rzpn-art, z
2049-index:0) can't show\n through between this section and the one above it. */\n}\n#page-rzpn .rzpn-agents-stage {\n position: relative;\n max-width: var(--rzpn-max);\n height: var(--rzpn-agents-tall);\n margin: 0 auto;\n padding: 0 var(--rzpn-pad);\n}\n#page-rzpn .rzpn-agents-h {\n position: absolute; left: var(--rzpn-pad); top: calc(139px + var(--rzpn-agents-lift));\n margin: 0; width: 292px;\n font-family: var(--font-display);\n font-weight: 400; font-size: 64px; line-height: 1.156;\n letter-spacing: -2.56px; color: #fff;\n}\n\n/* Desktop: static, so the window and terminal inside resolve against the\n stage and keep their artboard coordinates. */\n#page-rzpn .rzpn-agents-panel { position: static; }\n\n#page-rzpn .rzpn-agents-term {\n position: absolute; top: calc(121px + var(--rzpn-agents-lift)); left: 50%;\n width: 521px; margin-left: -258px;\n border: 1px solid rgba(121,135,156,.18);\n border-radius: 12px;\n background: #0c3131;\n overflow: hidden;\n}\n#page-rzpn .rzpn-agents-term-head {\n display: flex; align-items: center; justify-content: space-between;\n padding: 13px 16px;\n border-bottom: 1px solid rgba(121,135,156,.18);\n background: rgba(255,255,255,.04);\n}\n#page-rzpn .rzpn-agents-term-head span {\n font-family: var(--font-mono);\n font-size: 11px; line-height: 14px; color: #fff; opacity: .8;\n}\n#page-rzpn .rzpn-agents-term-body { position: relative; padding: 16px; }\n/* The blurred blob is exported with its blur padding baked in, so it is\n larger than its Figma box (338.97x264 at 91,18) by the blur radius. */\n#page-rzpn .rzpn-agents-glow {\n position: absolute; left: 50%; top: -102px;\n width: 578.97px; height: 504px;\n transform: translateX(-50%);\n pointer-events: none;\n}\n#page-rzpn .rzpn-agents-row {\n position: relative;\n display: flex; align-items: center; gap: 20px;\n padding-left: 8px;\n}\n#page-rzpn .rzpn-agents-cmdwrap {\n display: flex; align-items: center; gap: 16px;\n flex: 1; min-width: 0;\n}\n#page-rzpn .rzpn-agents-key {\n width: 36px; flex: none;\n font-family: var(--font-display);\n font-weight: 500; font-size: 14px; line-height: 16px; color: #fff;\n}\n#page-rzpn .rzpn-agents-cmd {\n flex: 1; min-width: 0;\n font-family: var(--font-mono);\n font-size: 12px; line-height: 18px; color: #c6f076;\n overflow-wrap: anywhere;\n /* Mintlify styles inline \u003ccode\u003e as a grey pill (2px 8px padding, light\n background, 6px radius) on every page; the handoff has no such rule.\n The padding alone re-wraps the CLI command to a third line. */\n padding: 0;\n background: none;\n border-radius: 0;\n}\n#page-rzpn .rzpn-agents-copy {\n display: inline-flex; align-items: center; gap: 4px; flex: none;\n height: 36px; padding: 0 16px 0 12px;\n border: 1px solid rgba(229,231,235,.1); border-radius: 8px;\n background: #fff; cursor: pointer;\n font-family: var(--font-display);\n font-weight: 600; font-size: 14px; line-height: 16px; color: #000;\n}\n#page-rzpn .rzpn-agents-copy:hover { background: #eef1f4; }\n#page-rzpn .rzpn-agents-copy img { display: block; }\n#page-rzpn .rzpn-agents-line {\n height: 0; margin: 19.5px 0;\n border: 0; border-top: 1px solid rgba(255,255,255,.1);\n}\n\n#page-rzpn .rzpn-agents-aside {\n position: absolute; right: var(--rzpn-pad); top: calc(149px + var(--rzpn-agents-lift));\n width: 174px;\n display: flex; flex-direction: column; align-items: flex-start; gap: 32px;\n}\n#page-rzpn .rzpn-agents-aside-item {\n display: flex; flex-direction: column; align-items: flex-start; gap: 8px;\n}\n#page-rzpn .rzpn-agents-aside p {\n margin: 0;\n font-family: var(--font-body);\n font-size: 14px; line-height: 20px; letter-spacing: -0.182px;\n color: #fff; text-align: left;\n}\n#page-rzpn .rzpn-agents-link {\n display: inline-flex; align-items: center; gap: 4px;\n font-family: var(--font-body);\n font-weight: 500; font-size: 14px; line-height: 20px; letter-spacing: -0.182px;\n color: #75a9ff; text-decoration: none;\n}\n#page-rzpn .rzpn-agents-link:hover { text-decoration: underline; }\n/* Masked rather than \u003cimg\u003e so the shared icons can carry the Blade link\n colour (interactive.text.primary.normal) on this dark surface. */\n#page-rzpn .rzpn-agents-ico {\n width: 16px; height: 16px; flex: none;\n background: #75a9ff;\n -webkit-mask: center / contain no-repeat;\n mask: center / contain no-repeat;\n}\n#page-rzpn .rzpn-agents-ico--arrow {\n -webkit-mask-image: url('/static/docs-home/assets/link-arrow.svg');\n mask-image: url('/static/docs-home/assets/link-arrow.svg');\n}\n#page-rzpn .rzpn-agents-ico--doc {\n -webkit-mask-image: url('/static/docs-home/assets/file-code.svg');\n mask-image: url('/static/docs-home/assets/file-code.svg');\n}\n\n/* Below the artboard width the aside would collide with the terminal, so the\n band unwinds into a stack. The window re-anchors to the terminal itself and\n keeps the same 32px reveal above / 39px below that the punch-out gives. */\n#rzpn-home.rzpn-lte-1180 {\n #page-rzpn .rzpn-agents-stage {\n height: auto;\n display: flex; flex-direction: column; align-items: center; gap: 40px;\n padding-top: 72px; padding-bottom: 72px;\n }\n #page-rzpn .rzpn-agents-h,\n #page-rzpn .rzpn-agents-aside { position: static; width: 100%; max-width: 521px; }\n #page-rzpn .rzpn-agents-h { font-size: 48px; letter-spacing: -1.92px; }\n #page-rzpn .rzpn-agents-panel { position: relative; width: 100%; max-width: 521px; }\n #page-rzpn .rzpn-agents-term { position: relative; top: auto; left: auto; width: 100%; margin-left: 0; }\n #page-rzpn .rzpn-agents-aside {\n flex-direction: row; flex-wrap: wrap; align-items: flex-start;\n justify-content: space-between; gap: 32px;\n }\n}\n#rzpn-home.rzpn-lte-620 {\n #page-rzpn .rzpn-agents-h { font-size: 40px; letter-spacing: -1.6px; }\n /* The row turns into a stacked block â label over command â with the copy\n control reduced to a square icon button held at the right, centred against\n the whole block. Side by side the label ate a third of the width and the\n command wrapped to four lines; the button's label went with it. */\n #page-rzpn .rzpn-agents-row { flex-wrap: nowrap; padding-left: 0; gap: 16px; align-items: center; }\n #page-rzpn .rzpn-agents-cmdwrap {\n flex-direction: column; align-items: flex-start; gap: 6px;\n flex: 1; min-width: 0;\n }\n #page-rzpn .rzpn-agents-key { width: auto; line-height: 18px; }\n #page-rzpn .rzpn-agents-copy {\n width: 44px; height: 44px; flex: none;\n padding: 0; justify-content: center;\n border-radius: 12px;\n }\n /* Icon only. The label is what the copy script flips to \"Copied\", so the\n button tints instead â otherwise the tap has no feedback at all. */\n #page-rzpn .rzpn-agents-copy [data-rzpn-copy-label] { display: none; }\n #page-rzpn .rzpn-agents-copy.is-copied { background: #c6f076; }\n}\n\n/* ---------------------------------------------------------- responsive -- */\n#rzpn-home.rzpn-lte-1280 {\n #page-rzpn { --rzpn-pa
2049d: 40px; }\n #page-rzpn .rzpn-nav-meta { display: none; }\n #page-rzpn .rzpn-ai-cards { grid-template-columns: repeat(3, 1fr); }\n #page-rzpn .rzpn-devrow { padding-bottom: 96px; }\n #page-rzpn .rzpn-devcards { gap: 16px; }\n}\n#rzpn-home.rzpn-lte-1129 {\n #page-rzpn .rzpn-nav-links a.rzpn-nav-overflow { display: none; }\n #page-rzpn .rzpn-nav-more { display: flex; }\n}\n#rzpn-home.rzpn-lte-900 {\n #page-rzpn { --rzpn-pad: 20px; overflow-x: hidden; }\n /* The section rhythm is the 1440 artboard's â 171/192/196px of air above\n each rule. At phone widths that reads as the page having ended. Scaled\n down together so the spacing stays even between sections. */\n #page-rzpn .rzpn-devrow { padding-bottom: 48px; }\n /* Inline label+pills only reads at desktop widths â a 6-pill row next to a\n 24px heading has nowhere to go on a phone, so this drops back to the\n stacked layout (label above, pills below). */\n #page-rzpn .rzpn-devtools {\n flex-direction: column; align-items: flex-start; gap: 16px;\n }\n #page-rzpn .rzpn-section--payments { padding-top: 64px; }\n #page-rzpn .rzpn-section--pos { padding-top: 64px; }\n #page-rzpn .rzpn-section--banking { padding-top: 48px; }\n #page-rzpn .rzpn-section--partners { padding-top: 64px; padding-bottom: 64px; }\n #page-rzpn .rzpn-agents { margin-top: 0; }\n /* The nav is a single non-wrapping row at desktop widths; below that it\n collapses to logo + search + assistant + burger so it can't force a\n sideways scroll (which would also drag the photo layer out of register).\n Everything it drops moves into the burger's panel. */\n #page-rzpn .rzpn-nav { gap: 12px; padding: 0 12px; }\n #page-rzpn .rzpn-nav-links,\n #page-rzpn .rzpn-nav-icobtn,\n #page-rzpn .rzpn-nav-meta { display: none; }\n #page-rzpn .rzpn-nav-prefs { gap: 8px; }\n #page-rzpn .rzpn-nav-assistant { padding: 8px 10px; font-size: 13px; }\n #page-rzpn .rzpn-nav-burger {\n display: inline-flex; align-items: center; justify-content: center;\n width: 36px; height: 36px; padding: 0;\n border: 1px solid #c8cdd0; border-radius: 8px;\n background: #fff; color: #616d75; cursor: pointer;\n }\n #page-rzpn .rzpn-nav-burger:hover { border-color: #9aa3a9; }\n /* Drop the fixed ratio so the title and pill are never clipped. */\n #page-rzpn .rzpn-pcard { aspect-ratio: auto; }\n #page-rzpn .rzpn-pcard-media { aspect-ratio: 242 / 182; }\n #page-rzpn .rzpn-hero { height: 320px; }\n #page-rzpn .rzpn-hero-h1 { font-size: 48px; top: 108px; }\n #page-rzpn .rzpn-ask { top: 200px; height: 60px; }\n #page-rzpn .rzpn-h2 { font-size: 40px; letter-spacing: -2px; }\n /* 01/Build and friends are a step label, not a section heading â at desktop\n the 48px reads as a caption beside 64px headings, but once .rzpn-h2 comes\n down to 40px it outranks them. */\n #page-rzpn .rzpn-step-num { font-size: 14px; line-height: 18px; letter-spacing: -0.7px; }\n #page-rzpn .rzpn-step-name { font-size: 28px; line-height: 34px; letter-spacing: -1.4px; }\n #page-rzpn .rzpn-block { flex-direction: column; align-items: flex-start; gap: 16px; }\n #page-rzpn .rzpn-block-aside { width: 100%; align-items: flex-start; }\n #page-rzpn .rzpn-block-aside p { text-align: left; }\n #page-rzpn .rzpn-ai-cards { grid-template-columns: repeat(2, 1fr); }\n #page-rzpn .rzpn-step { grid-template-columns: 1fr; }\n #page-rzpn .rzpn-step-cards { grid-template-columns: 1fr; }\n #page-rzpn .rzpn-grid { grid-template-columns: repeat(2, 1fr); }\n /* padding-bottom added: stacked, .rzpn-pos-aside (the \"Know more\" link) is\n the last thing in this grid and had nothing after it but its own\n content â the closing \u003chr\u003e sat flush against the link's own bottom\n edge (0px gap). 48px matches the gap the AI cards use before their own\n divider above. */\n #page-rzpn .rzpn-pos { grid-template-columns: 1fr; min-height: 0; padding-bottom: 48px; }\n /* The artwork is absolutely placed against a two-column section that no\n longer exists here, so it becomes a block of its own between the copy and\n the aside. It breaks out of the page gutter to sit 24px from each screen\n edge, and everything inside is a percentage of that box rather than a\n fixed px size â so the device fills the width at any phone, and the window\n and the offsets keep their artboard ratios (367:668 wide, 117px apart)\n while they scale. */\n #page-rzpn .rzpn-pos-art {\n position: relative; inset: auto;\n display: block;\n height: auto;\n aspect-ratio: 327 / 262;
2049\n margin: 28px calc(24px - var(--rzpn-pad)) 0;\n }\n #page-rzpn .rzpn-pos-window {\n left: 50%; margin-left: 0; transform: translateX(-50%);\n top: 15.27%; /* 40 / 262 */\n width: 55.05%; /* 367 / 668 */\n }\n /* The device sits 11px left of the window's centre on the artboard â 3.35%\n of its own width, which survives the scaling. */\n #page-rzpn .rzpn-pos-device {\n left: 50%; margin-left: 0;\n transform: translateX(-53.35%);\n top: -6.49%; /* -17 / 262 */\n width: 100%;\n }\n #page-rzpn .rzpn-pos-aside-anchor { position: static; height: auto; padding-top: 0; }\n #page-rzpn .rzpn-pos-aside { position: static; justify-self: start; margin-top: 32px; width: 100%; }\n}\n\n/* ------------------------------------------------------------ mweb ------ */\n#rzpn-home.rzpn-lte-600 {\n #page-rzpn .rzpn-grid { grid-template-columns: 1fr; gap: 16px; }\n #page-rzpn .rzpn-creds-row { flex-direction: column; gap: 16px; }\n #page-rzpn .rzpn-cred { height: auto; min-height: 96px; gap: 20px; }\n\n /* Developer tools divider spacing: the gap above the top divider (AI cards\n -\u003e divider, 48px) didn't match the gap below it (divider -\u003e \"Developer\n tools\" heading, 52px from .rzpn-devrow's own margin-top) â brought down\n to 48 to match. The gap below the cards (before the Payments divider) was\n 112px â .rzpn-devrow's own 48px padding-bottom PLUS the payments\n section's 64px padding-top stacking. Zeroing the latter for specifically\n this pair of sections leaves devrow's own 48px as the only source, so all\n three gaps read as the same 48px. */\n #page-rzpn .rzpn-devrow { margin-top: 48px; }\n #page-rzpn .rzpn-ai + .rzpn-section--payments { padding-top: 0; }\n\n /* The POS window (the rounded highlight behind the device) was 55.05% of\n its already-inset .rzpn-pos-art box, reading as a small cutout adrift in\n the middle of the card rather than a band that fills the same\n horizontal space as the rest of the page's content. Full width of its\n container instead, edge to edge with the page's own gutter. */\n #page-rzpn .rzpn-pos-window {\n left: 0; margin-left: 0; transform: none;\n width: 100%;\n }\n\n /* Stacked, a card is wide enough to read as a row, so it takes the\n affordance a row carries: a chevron in the top-right corner. Drawn as a\n mask over the shared chevron asset so it inherits the card's ink. */\n #page-rzpn .rzpn-grid .rzpn-card { position: relative; padding-right: 44px; }\n #page-rzpn .rzpn-grid .rzpn-card::after {\n content: '';\n position: absolute; top: 29px; right: 20px;\n /* The asset is preserveAspectRatio=\"none\", so the box has to carry the\n glyph's own 5.92:10.36 ratio or the chevron stretches. */\n width: 8px; height: 14px;\n background: #9aa3a9;\n -webkit-mask: url('/static/docs-home/assets/chevron-right.svg') center / 8px 14px no-repeat;\n mask: url('/static/docs-home/assets/chevron-right.svg') center / 8px 14px no-repeat;\n }\n\n /* The ribbon artwork is one fixed 1440x448 stage, scaled as a single group\n via transform rather than resizing each piece â transform-origin: top\n center (set unconditionally in the base rule) keeps the composition\n anchored, just 40% smaller as a whole. margin-left is nudged +24px (from\n the desktop -688px) to shift the scaled composition 24px right. */\n #page-rzpn .rzpn-art { transform: scale(0.6); margin-left: -664px; }\n\n /* The ask bar was sized for a 636px field; at phone widths the placeholder\n ran past the arrow, so type, icons and the box all come down together. */\n #page-rzpn .rzpn-hero { height: 300px; }\n #page-rzpn .rzpn-hero-h1 { font-size: 40px; top: 100px; }\n #page-rzpn .rzpn-ask {\n top: 176px;\n height: 52px;\n gap: 8px;\n padding: 0 12px 0 14px;\n border-radius: 10px;\n }\n #page-rzpn .rzpn-ask-spark { width: 18px; height: 18px; }\n #page-rzpn .rzpn-ask-input,\n #page-rzpn .rzpn-ask-ph { font-size: 15px; letter-spacing: -0.3px; }\n #page-rzpn .rzpn-ask-go img,\n #page-rzpn .rzpn-ask-go svg { width: 22px; height: 22px; }\n\n}\n#rzpn-home.rzpn-lte-420 {\n #page-rzpn .rzpn-nav-assistant span { display: none; }\n #page-rzpn .rzpn-nav-assistant { padding: 8px; }\n}\n\n\n/* ---------------------------------------------------- v41 light / dark ---\n Toggled from the sun/moon control in the top nav (see the v41 theme IIFE),\n which sets data-theme on the page. Overrides are grouped here rather than\n tokenising all ~200 v41 rules: the light theme stays the default and dark\n restates only the surfaces, text and borders that actually flip. The hero\n photo, its white glyph field and the always-dark \"Integrate in minutes\"\n section read correctly in both, so they are left alone. */\n/* Segmented theme control, now in the footer. Icons are masks so they take\n currentColor and follow the selected/dark states without extra files. */\n\n\n/* --- surfaces ------------------------------------------------------------ */\n\n\n/* --- nav ----------------------------------------------------------------- */\n\n\n/* The wordmark is dark-on-light artwork. A plain invert turns its blue mark\n yellow, so knock it to a white silhouette instead â the usual dark-mode\n treatment when there is no white lockup to swap in. */\n\n/* Only the greyscale glyphs get inverted. */\n\n/* Two of the three agent marks are solid black; the third is coral and would\n go teal if inverted, so it is left as it is. */\n\n\n/* --- headings and body --------------------------------------------------- */\n\n\n/* --- cards, chips, credentials ------------------------------------------- */\n\n\n/* --- prompt c
2049ards -------------------------------------------------------- */\n\n/* The asset plates read as blank UI, so they follow the surface, not paper. */\n\n/* The veil lightens the photo for light type; in dark it has to darken it. */\n\n\n/* --- hero ask bar -------------------------------------------------------- */\n\n\n/* Left uninverted on purpose: the arrow is brand blue and the spark is\n green â both read fine on the dark bar, and inverting turned them yellow. */\n\n/* The credential cards' dotted texture is a hard-light overlay tuned for a\n white card; on a dark one it blows out to a bright patch. */\n\n\n/* ------------------------------------------- v41 card icons + hover ------\n The circles are empty placeholders in the artboard, so these glyphs are\n authored rather than exported â a plain 1.5px stroke set matching the nav\n icons. Swap them for the real set when it exists. Drawn as one inline\n \u003csymbol\u003e sprite so 20 cards cost no extra requests, and stroked in\n currentColor so each section can tint its own. */\n#page-rzpn .rzpn-icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }\n#page-rzpn .rzpn-dot { display: grid; place-items: center; }\n/* fill/stroke live on the \u003csvg\u003e host, not the \u003csymbol\u003e: a rule matching the\n symbol in the source tree never reaches the cloned \u003cuse\u003e shadow content, so\n the paths rendered filled-black. These are inherited SVG properties, so\n setting them here does carry through. */\n#page-rzpn .rzpn-dot-ico {\n /* 17/32 of the old 32px dot, kept proportional on the new 40px size. */\n width: 21.25px; height: 21.25px;\n color: #2f5bbd;\n fill: none;\n stroke: currentColor;\n stroke-width: 1.8;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n#page-rzpn .rzpn-grid--green .rzpn-dot-ico { color: #2f7d55; }\n#page-rzpn .rzpn-grid--peach .rzpn-dot-ico { color: #a86427; }\n\n/* Clickable affordance: a dotted underline at rest says \"this goes somewhere\",\n and the card lifts on hover. */\n#page-rzpn .rzpn-card {\n cursor: pointer;\n transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;\n}\n/* Hover-only underline that wipes in left-to-right. text-decoration cannot\n animate its extent, so the rule is a repeating-gradient background on an\n inline span whose background-size grows 0 -\u003e 100%. `box-decoration-break:\n clone` gives each wrapped line its own background box, so two-line titles\n get a full underline on both lines rather than one line spanning the block. */\n#page-rzpn .rzpn-card h3,\n#page-rzpn .rzpn-pcard-title { text-decoration: none; }\n#page-rzpn .rzpn-u {\n --rzpn-u-col: #4b5563;\n background-image: repeating-linear-gradient(to right,\n var(--rzpn-u-col) 0 1.5px, transparent 1.5px 4px);\n background-repeat: no-repeat;\n background-position: 0 100%;\n background-size: 0% 1px;\n padding-bottom: 3px;\n -webkit-box-decoration-break: clone;\n box-decoration-break: clone;\n transition: background-size .18s cubic-bezier(.4, 0, .2, 1);\n}
2049\n/* The whole prompt card is the trigger, so hovering the masked image fires it\n too â not just the title. */\n#page-rzpn .rzpn-card:hover h3 .rzpn-u,\n#page-rzpn .rzpn-devcard:hover .rzpn-u,\n#page-rzpn .rzpn-pcard:hover .rzpn-u { background-size: 100% 1px; }\n#page-rzpn .rzpn-pcard { cursor: pointer; }\n/* The title link stretches over the whole prompt card so the artwork and the\n title both navigate; the Copy prompt pill sits above the overlay so it keeps\n copying instead of following the link. The link must stay static â the theme\n positions anchors, which would trap the ::after inside the title's line box. */\n#page-rzpn .rzpn-pcard-link { position: static; }\n#page-rzpn .rzpn-pcard-link::after { content: \"\"; position: absolute; inset: 0; }\n#page-rzpn .rzpn-pcard-pill { position: relative; z-index: 1; }\n@media (prefers-reduced-motion: reduce) {\n #page-rzpn .rzpn-u { transition-duration: .01ms; }\n}\n#page-rzpn .rzpn-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 8px 20px rgba(80,168,212,.18);\n border-color: #d2d8dd;\n}\n\n\n/* dark mode */\n\n\n/* ------------------------------------------------------- v41 footer -----\n Sign-off band: the page's own meadow photo full-bleed, carrying an\n oversized Razorpay Docs lockup, with the link columns on white beneath.\n The lockup reuses the nav's two SVGs knocked to white â same treatment as\n the dark-mode nav, since there is no white lockup asset to swap in. */\n#page-rzpn-scope { }\n/* The footer is a sibling of #page-rzpn, so the \"sections scroll over the\n fixed artwork\" rule in the hero block can't reach it â same stacking fix\n applied here directly. */\n.rzpn-footer { position: relative; z-index: 1; background: #fff; }\n/* The lockup used to sit on a full-bleed band of the shared photo. That band\n is gone; it now heads the About column at nav scale, in its own ink. */\n.rzpn-foot-lockup { display: flex; align-items: center; gap: 10px; }\n.rzpn-foot-logo { display: block; height: 26px; width: auto; }\n.rzpn-foot-docs { display: block; height: 17px; width: auto; }\n\n.rzpn-foot-body {\n max-width: 1440px;\n margin: 0 auto;\n padding: 72px 64px 40px;\n}\n.rzpn-foot-cols {\n display: grid;\n grid-template-columns: 1.35fr 1fr 1fr 1fr;\n gap: 48px;\n}\n/* razorpay.com stacks several groups inside each column rather than giving\n every group its own column â same here, two per column. */\n.rzpn-foot-col { display: flex; flex-direction: column; gap: 40px; }\n.rzpn-foot-about { display: flex; flex-direction: column; gap: 24px; }\n\n.rzpn-foot-legalese { display: flex; flex-direction: column; gap: 4px; }\n\n.rzpn-foot-blurb {\n margin: 0;\n max-width: 380px;\n font-family: var(--font-body);\n font-size: 15px; line-height: 26px; letter-spacing: -0.2px; color: #4b5563;\n}\n.rzpn-foot-links { display: flex; flex-direction: column; gap: 14px; }\n.rzpn-foot-col-title {\n margin: 0 0 2px;\n font-family: var(--font-body);\n font-weight: 700; font-size: 12px; line-height: 16px;\n letter-spacing: .06em; text-transform: uppercase; color: #050505;\n}\n/* #rzpn-home prefix for specificity: the page reset `#rzpn-home a\n { color: inherit }` (1,0,1) outranks a bare `.rzpn-foot-links a` (0,1,1),\n so without it every footer anchor inherits the page's --ink instead. */\n#rzpn-home .rzpn-foot-links a {\n font-family: var(--font-body);\n font-size: 15px; line-height: 20px; letter-spacing: -0.2px;\n color: #3f4a55; text-decoration: none;\n}\n#rzpn-home .rzpn-foot-links a:hover { color: #0e54cc; }\n\n.rzpn-foot-bottom {\n margin-top: 64px;\n padding-top: 22px;\n border-top: 1px solid #e4e7ea;\n display: flex; align-items: center; justify-content: space-between; gap: 24px;\n}\n.rzpn-foot-bottom p {\n margin: 0;\n font-family: var(--font-body);\n font-size: 14px; line-height: 20px; letter-spacing: -0.18px; color: #7d868e;\n}\n/* The RBI legalese drops below the shared bottom-bar text â smaller and\n lighter. #rzpn-home prefix so this beats `.rzpn-foot-bottom p` above\n (v42 reaches for !important instead; the id scope does the same job). */\n#rzpn-home .rzpn-foot-rbi { font-size: 13px; color: #9aa3ab; }\n.rzpn-foot-legal { display: flex; gap: 28px; }\n/* Same specificity story as .rzpn-foot-links a above. */\n#rzpn-home .rzpn-foot-legal a {\n font-family: var(--font-body);\n font-size: 14px; line-height: 20px; letter-spacing: -0.18px;\n color: #7d868e; text-decoration: none;\n}\n#rzpn-home .rzpn-foot-legal a:hover { color: #0e54cc; }\n\n/* dark mode follows the page's theme attribute, which lives on #page-rzpn */\n\n\n#rzpn-home.rzpn-lte-1280 {\n .rzpn-foot-body { padding-left: 40px; padding-right: 40px; }\n}\n#rzpn-home.rzpn-lte-900 {\n .rzpn-foot-body { padding-left: 20px; padding-right: 20px; }\n .rzpn-foot-cols { grid-template-columns: 1fr 1fr; gap: 32px; }\n .rzpn-foot-about { grid-column: 1 / -1; }\n .rzpn-foot-body { padding-top: 44px; }\n .rzpn-foot-bottom { flex-direction: column; align-items: flex-start; gap: 14px; }\n}\n"])</script>
2049<script>self.__next_f.push([1,"58:[\"$\",\"style\",\"2\",{\"data-custom-css-index\":2,\"data-custom-css-path\":\"static/docs-home/styles.css\",\"dangerouslySetInnerHTML\":{\"__html\":\"$61\"}}]\n"])</script>
2049</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.