Sends a card request that Browser Pay paused in the buyer’s browser on to the payment provider. The request carries the transaction’s placeholder card; the card provider replaces it with the real card, at most once per placeholder. The response is the payment provider’s answer, or a typed refusal. Requires a buyer key.
Repeating a relay with the same key returns its first result.
Maximum string length: 255
Response
200
relayed, refused with a reason, or unknown
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Sapiom Pay","description":"Let your AI agent buy for each of your users with their own saved card. Sapiom vaults each user's card, authorizes every transaction against real checkout facts, and fills the card into checkout without your agent ever seeing it.","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/sapiom-1f975ca2/K4zW5IjQAMJutZvi/logo/light.svg?fit=max\u0026auto=format\u0026n=K4zW5IjQAMJutZvi\u0026q=85\u0026s=37d04ab53c9792ff376364fd56a2799e","dark":"https://mintcdn.com/sapiom-1f975ca2/K4zW5IjQAMJutZvi/logo/dark.svg?fit=max\u0026auto=format\u0026n=K4zW5IjQAMJutZvi\u0026q=85\u0026s=bee7a03b976b9be9e5944daf9ca380ba"},"favicon":"https://mintcdn.com/sapiom-1f975ca2/7k2CTIHfQZNyln5W/favicon.svg?fit=max\u0026auto=format\u0026n=7k2CTIHfQZNyln5W\u0026q=85\u0026s=ffac7db148c05d663b25d3e420b2a24d","api":{"playground":{"display":"simple"}},"navbar":{"primary":{"type":"button","label":"Request access","href":"/request-access"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"markdown":{"instructions":["Sapiom Pay is for platforms whose agent shops for many end users. Each end user is a buyer with their own Sapiom key and saved cards.","Use the buyer's key for every call made on that buyer's behalf. Never use one buyer's key for another user, and never give the agent the platform key.","Agents call the hosted MCP tools at https://api.sapiom.ai/v1/mcp. Backends call the REST API at https://api.sapiom.ai/v1. Both take the key in an x-api-key header.","Never ask a buyer for a card number, expiry date or CVV in chat. Buyers enter card details only on Sapiom's hosted pages.","Follow the nextAction in each transaction result. Action links are secrets for the intended buyer only.","Use one idempotencyKey per transaction. After a timeout, retry with the same key. Never start a new transaction to escape an uncertain outcome.","Report an order as placed only when order.outcome is confirmed. If it is unknown, stop and hand off to a person."]},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"sapiom-1f975ca2","hasAudioNarration":false,"actualSubdomain":"sapiom-1f975ca2","customDomains":["docs.sapiom.ai"],"gitSource":{"type":"github","owner":"sapiom","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6adc09fb88e4302084f07b26","collectionId":"63ee2a9b-edcc-4ec4-bdef-e6e8dece8b95","liveDeploymentHistoryId":"6adc09fb88e4302084f07b26","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adc2ddc1885992e09c7803b","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"default","tag":"API reference","count":26},{"language":"default","tag":"REST API","count":22},{"language":"default","tag":"Docs","count":14},{"language":"default","tag":"Transactions","count":9},{"language":"default","tag":"Cards","count":8},{"language":"default","tag":"Buyers","count":6},{"language":"default","tag":"Get started","count":3},{"language":"default","tag":"Browser checkout","count":3},{"language":"default","tag":"MCP and SDK","count":2},{"language":"default","tag":"Early access","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"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":"workos-onboarding","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":"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":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/browser-checkout/relay-a-card-request","slug":"/api-reference/browser-checkout/relay-a-card-request","pageMetadata":{"title":"Relay a card request","description":"Sends a card request that Browser Pay paused in the buyer's browser on to the payment provider. The request carries the transaction's placeholder card; the card provider replaces it with the real card, at most once per placeholder. The response is the payment provider's answer, or a typed refusal. Requires a [buyer key](/api-reference/overview#authentication).","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/transactions/{transactionId}/payment/relay","href":"/api-reference/browser-checkout/relay-a-card-request","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Sends a card request that Browser Pay paused in the buyer’s browser on to the payment provider. The request carries the transaction’s placeholder card; the card provider replaces it with the real card, at most once per placeholder. The response is the payment provider’s answer, or a typed refusal. Requires a \", _jsx(_components.a, {\n href: \"/api-reference/overview#authentication\",\n children: \"buyer key\"\n }), \".\"]\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":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Relay a card request","description":"Sends a card request that Browser Pay paused in the buyer's browser on to the payment provider. The request carries the transaction's placeholder card; the card provider replaces it with the real card, at most once per placeholder. The response is the payment provider's answer, or a typed refusal. Requires a [buyer key](/api-reference/overview#authentication).","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/transactions/{transactionId}/payment/relay","href":"/api-reference/browser-checkout/relay-a-card-request","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Sends a card request that Browser Pay paused in the buyer's browser on to the payment provider. The request carries the transaction's placeholder card; the card provider replaces it with the real card, at most once per placeholder. The response is the payment provider's answer, or a typed refusal. Requires a [buyer key](/api-reference/overview#authentication).","operationId":"CardRelayController_relay","parameters":["83c44c30-a767-4859-8f47-9be3812ba0ec"],"requestBody":"a77accf5-5a9c-4112-a3ad-de587276cffb","responses":{"200":"fdd10864-4465-4d99-ad3e-473b4e5add8b"},"security":["60e0d336-b185-4c38-940c-85ed9af87ceb"],"summary":"Relay a card request","tags":["Browser checkout"],"method":"post","type":"path","servers":["129d4bde-9564-498b-9b32-242ff84fee16"],"path":"/v1/transactions/{transactionId}/payment/relay","baseUrlOptions":["https://api.sapiom.ai"],"title":"Relay a card request","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"83c44c30-a767-4859-8f47-9be3812ba0ec":{"name":"transactionId","required":true,"in":"path","schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"injectionRef":{"type":"string","format":"uuid","description":"The placeholder's `injectionRef`.","isRequired":true,"uniqueKey":"injectionRef","typeLabel":"string\u003cuuid>"},"profileId":{"type":"string","maxLength":64,"example":"shopify-card-vault","isRequired":true,"uniqueKey":"profileId","typeLabel":"string"},"pageOrigin":{"type":"string","maxLength":200,"example":"https://store.myshopify.com","description":"The top-level page's origin.","isRequired":true,"uniqueKey":"pageOrigin","typeLabel":"string"},"request":{"type":"object","properties":{"method":{"type":"string","maxLength":16,"example":"POST","isRequired":true,"uniqueKey":"request.method","typeLabel":"string"},"url":{"type":"string","maxLength":2048,"example":"https://checkout.pci.shopifyinc.com/sessions","isRequired":true,"uniqueKey":"request.url","typeLabel":"string"},"headers":{"type":"object","description":"Only the profile's forwarded headers, names in lower case.","isRequired":true,"uniqueKey":"request.headers","typeLabel":"object"},"body":{"type":"string","maxLength":65536,"description":"The paused body as the form wrote it, placeholder included.","isRequired":true,"uniqueKey":"request.body","typeLabel":"string"}},"required":["method","url","headers","body"],"isRequired":true,"uniqueKey":"request","typeLabel":"object"},"idempotencyKey":{"type":"string","maxLength":255,"description":"Repeating a relay with the same key returns its first result.","isRequired":true,"uniqueKey":"idempotencyKey","typeLabel":"string"}},"required":["injectionRef","profileId","pageOrigin","request","idempotencyKey"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"injectionRef":"3c90c3cc-0d44-4b50-8888-8dd25736052a","profileId":"shopify-card-vault","pageOrigin":"https://store.myshopify.com","request":{"method":"POST","url":"https://checkout.pci.shopifyinc.com/sessions","headers":{},"body":"\u003cstring>"},"idempotencyKey":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"fdd10864-4465-4d99-ad3e-473b4e5add8b":{"description":"`relayed`, `refused` with a reason, or `unknown`","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"60e0d336-b185-4c38-940c-85ed9af87ceb":{"api-key":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your platform key for buyer management, or a buyer key for everything else.","scopes":[],"schemeName":"api-key"}}},"servers":{"129d4bde-9564-498b-9b32-242ff84fee16":{"url":"https://api.sapiom.ai","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your platform key for buyer management, or a buyer key for everything else.","scopes":[],"schemeName":"api-key"},"schema":{"title":"x-api-key","type":"string","description":"Your platform key for buyer management, or a buyer key for everything else.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"api-key","name":"x-api-key"}],"title":"api-key"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"sapiom-1f975ca2","siteName":"Sapiom Pay","title":"Relay a card request - Sapiom Pay","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-24T01:29:35.552Z","originalFileLocation":"api-reference/browser-checkout/relay-a-card-request.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Sends a card request that Browser Pay paused in the buyer\u0026#x27;s browser on to the payment provider. The request carries the transaction\u0026#x27;s placeholder card; the card provider replaces it with the real card, at most once per placeholder. The response is the payment provider\u0026#x27;s answer, or a typed refusal. Requires a buyer key.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Sapiom Pay\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sapiom-1f975ca2/YgmZC92WGBAfsBaa/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/sapiom-1f975ca2/YgmZC92WGBAfsBaa/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sapiom-1f975ca2/YgmZC92WGBAfsBaa/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sapiom-1f975ca2/YgmZC92WGBAfsBaa/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sapiom-1f975ca2/YgmZC92WGBAfsBaa/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sapiom-1f975ca2/YgmZC92WGBAfsBaa/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sapiom-1f975ca2/YgmZC92WGBAfsBaa/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sapiom-1f975ca2/YgmZC92WGBAfsBaa/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sapiom-1f975ca2/YgmZC92WGBAfsBaa/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Relay a card request - Sapiom Pay\">\u003cmeta data-mint-head property=\"og:description\" content=\"Sends a card request that Browser Pay paused in the buyer\u0026#x27;s browser on to the payment provider. The request carries the transaction\u0026#x27;s placeholder card; the card provider replaces it with the real card, at most once per placeholder. The response is the payment provider\u0026#x27;s answer, or a typed refusal. Requires a buyer key.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Sapiom Pay\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sapiom.ai/api-reference/browser-checkout/relay-a-card-request\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://sapiom-1f975ca2.mintlify.app/_mintlify/api/og/v2?division=Browser+checkout\u0026amp;title=Relay+a+card+request\u0026amp;description=Sends+a+card+request+that+Browser+Pay+paused+in+the+buyer%27s+browser+on+to+the+payment+provider.+The+request+carries+the+transaction%27s+placeholder+card%3B+the+card\u0026amp;theme=094d3944263395c13d2c9b53\u0026amp;signature=04105059034152a845aebbd5b1ba86edff393880aa417cc8f40747d8d57cb65c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Relay a card request - Sapiom Pay\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Sends a card request that Browser Pay paused in the buyer\u0026#x27;s browser on to the payment provider. The request carries the transaction\u0026#x27;s placeholder card; the card provider replaces it with the real card, at most once per placeholder. The response is the payment provider\u0026#x27;s answer, or a typed refusal. Requires a buyer key.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://sapiom-1f975ca2.mintlify.app/_mintlify/api/og/v2?division=Browser+checkout\u0026amp;title=Relay+a+card+request\u0026amp;description=Sends+a+card+request+that+Browser+Pay+paused+in+the+buyer%27s+browser+on+to+the+payment+provider.+The+request+carries+the+transaction%27s+placeholder+card%3B+the+card\u0026amp;theme=094d3944263395c13d2c9b53\u0026amp;signature=04105059034152a845aebbd5b1ba86edff393880aa417cc8f40747d8d57cb65c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/sapiom-1f975ca2/YgmZC92WGBAfsBaa/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Sapiom Pay\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sapiom.ai/api-reference/browser-checkout/relay-a-card-request\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/browser-checkout/relay-a-card-request.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sapiom.ai/#organization\",\"name\":\"Sapiom Pay\",\"url\":\"https://docs.sapiom.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/sapiom-1f975ca2/K4zW5IjQAMJutZvi/logo/light.svg?fit=max\u0026auto=format\u0026n=K4zW5IjQAMJutZvi\u0026q=85\u0026s=37d04ab53c9792ff376364fd56a2799e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sapiom.ai#website\",\"name\":\"Sapiom Pay\",\"url\":\"https://docs.sapiom.ai\",\"publisher\":{\"@id\":\"https://docs.sapiom.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sapiom.ai/api-reference/browser-checkout/relay-a-card-request#webpage\",\"url\":\"https://docs.sapiom.ai/api-reference/browser-checkout/relay-a-card-request\",\"name\":\"Relay a card request\",\"description\":\"Sends a card request that Browser Pay paused in the buyer's browser on to the payment provider. The request carries the transaction's placeholder card; the card provider replaces it with the real card, at most once per placeholder. The response is the payment provider's answer, or a typed refusal. Requires a buyer key.\",\"dateModified\":\"2026-10-24T01:29:35.552Z\",\"isPartOf\":{\"@id\":\"https://docs.sapiom.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sapiom.ai/api-reference/browser-checkout/relay-a-card-request#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sapiom.ai/api-reference/browser-checkout/relay-a-card-request#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"REST API\",\"item\":\"https://docs.sapiom.ai/api-reference/buyers/create-a-buyer\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Browser checkout\",\"item\":\"https://docs.sapiom.ai/api-reference/browser-checkout/list-placeholder-cards\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Relay a card request\",\"item\":\"https://docs.sapiom.ai/api-reference/browser-checkout/relay-a-card-request\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.sapiom.ai/api-reference/browser-checkout/relay-a-card-request#apireference\",\"headline\":\"Relay a card request\",\"name\":\"Relay a card request\",\"description\":\"Sends a card request that Browser Pay paused in the buyer's browser on to the payment provider. The request carries the transaction's placeholder card; the card provider replaces it with the real card, at most once per placeholder. The response is the payment provider's answer, or a typed refusal. Requires a buyer key.\",\"url\":\"https://docs.sapiom.ai/api-reference/browser-checkout/relay-a-card-request\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sapiom.ai/api-reference/browser-checkout/relay-a-card-request#webpage\"},\"dateModified\":\"2026-10-24T01:29:35.552Z\",\"publisher\":{\"@id\":\"https://docs.sapiom.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sapiom.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Sapiom Pay\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Sapiom Pay","nav":{"global":null,"tabs":[{"tab":"Docs","pages":[{"title":"Docs","href":""}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"Sapiom Pay API overview","sidebarTitle":"Overview","href":"/api-reference/overview"}]},{"group":"REST API","pages":[{"group":"Buyers","pages":[{"title":"Create a buyer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tenants","href":"/api-reference/buyers/create-a-buyer"},{"title":"List buyers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tenants","href":"/api-reference/buyers/list-buyers"},{"title":"Delete a buyer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/tenants/{tenantId}","href":"/api-reference/buyers/delete-a-buyer"},{"title":"Create a buyer key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tenants/{tenantId}/api-keys","href":"/api-reference/buyers/create-a-buyer-key"}]},{"group":"Cards","pages":[{"title":"Create a setup link","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/payment-cards/setup-links","href":"/api-reference/cards/create-a-setup-link"},{"title":"Get a setup link","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/payment-cards/setup-links/{linkId}","href":"/api-reference/cards/get-a-setup-link"},{"title":"List cards","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/payment-cards","href":"/api-reference/cards/list-cards"},{"title":"Get a card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/payment-cards/{cardId}","href":"/api-reference/cards/get-a-card"},{"title":"Set the default card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/payment-cards/{cardId}/default","href":"/api-reference/cards/set-the-default-card"},{"title":"Remove a card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/payment-cards/{cardId}","href":"/api-reference/cards/remove-a-card"}]},{"group":"Spending limits","pages":[{"title":"Get spending limits","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/payment-cards/{cardId}/spending-limits","href":"/api-reference/spending-limits/get-spending-limits"},{"title":"Set spending limits","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/payment-cards/{cardId}/spending-limits","href":"/api-reference/spending-limits/set-spending-limits"}]},{"group":"Merchants","pages":[{"title":"Check a merchant","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/transaction-compatibility","href":"/api-reference/merchants/check-a-merchant"}]},{"group":"Transactions","pages":[{"title":"Create a transaction","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/transactions","href":"/api-reference/transactions/create-a-transaction"},{"title":"Open the checkout","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/transactions/{transactionId}/ucp/checkout","href":"/api-reference/transactions/open-the-checkout"},{"title":"Get the checkout","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/transactions/{transactionId}/ucp/checkout","href":"/api-reference/transactions/get-the-checkout"},{"title":"Replace the checkout","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/transactions/{transactionId}/ucp/checkout","href":"/api-reference/transactions/replace-the-checkout"},{"title":"Cancel the checkout","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/transactions/{transactionId}/ucp/checkout/cancel","href":"/api-reference/transactions/cancel-the-checkout"},{"title":"Refresh the checkout","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/transactions/{transactionId}/ucp/checkout/refresh","href":"/api-reference/transactions/refresh-the-checkout"}]},{"group":"Browser checkout","pages":[{"title":"List placeholder cards","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/card-placeholders","href":"/api-reference/browser-checkout/list-placeholder-cards"},{"title":"List relay profiles","description":"Each profile names its destinations (exact method and URL), a JSON Pointer to each card field, the headers the relay forwards, and where the request names its merchant. A request no profile matches is never paused. Requires a [buyer key](/api-reference/overview#authentication).","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/injection-profiles","href":"/api-reference/browser-checkout/list-relay-profiles"},{"title":"Relay a card request","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/transactions/{transactionId}/payment/relay","href":"/api-reference/browser-checkout/relay-a-card-request"}]}]},{"group":"MCP and SDK","pages":[{"title":"Sapiom Pay MCP tools reference","sidebarTitle":"MCP tools","description":null,"href":"/api-reference/mcp-tools"},{"title":"Browser Pay SDK reference","sidebarTitle":"Browser Pay SDK","href":"/api-reference/browser-pay-sdk"}]},{"group":"Errors","pages":[{"title":"Sapiom Pay errors and how to handle them","sidebarTitle":"Errors","href":"/api-reference/errors"}]}]}]},"title":"Relay a card request - Sapiom Pay","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-BRm_l__d.js","utils-f1l1Oc-G.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BlhqDhJO.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DHCB7rsC.js","snippetPresets-CYXLx6Hv.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-B78P2dEq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C4YLPVAh.js","shallow-vlLnTDkQ.js","getApiPlaygroundDisplay-D_98hhvf.js","CodeSnippet-DtnZHGqq.js","CodeSnippets-CLFb8KJt.js","Page-kQh739Uz.js","getPastedJson-Cq-zlbnU.js","icon-sN3t983t.js","MethodPill-P_YQ2s09.js","DuplicateIcon-BVzyNsGJ.js","createIcon-B3jqgqC6.js","DynamicMarkdown-Crwq6WG_.js","SectionHeading-C7pGS2Bb.js","axios-vUo_bRtp.js","Markdown-BuPH8yuW.js","clsx-CCOYKgaU.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BnkC_6oA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BM4S31-f.js"]}