Xcode 16.4+. Each release is built with Xcode 16.4. Swift’s module interface format is not backward compatible across toolchains, so an older Xcode cannot load the prebuilt framework.
iOS 14.0+ deployment target.
Swift 5.0+.
A Payrails merchant account and a backend that can fetch an init payload.
The SDK ships as a prebuilt, signed XCFramework. Swift Package Manager is the only supported installation method.In Xcode, click File → Add Package Dependencies and enter the package URL:
https://github.com/payrails/ios-sdk.git
Select the Payrails product and add it to your app target.To declare the dependency in a Package.swift instead:
Swift Package Manager downloads the framework and verifies it against the checksum published in the package manifest. Resolution also pulls in PayrailsCSE and PayPalCheckout, so three packages appear in your project, not one.
The SDK requires an init payload that your backend fetches from the Payrails API. This payload is a base64-encoded JSON string along with a version string.
// Your backend call — implementation depends on your networking layerfunc fetchInitPayload() async throws -> (data: String, version: String) { // Call your backend, which calls the Payrails /checkout/initialize endpoint // Returns the `data` and `version` fields from the Payrails response}
import Payrailslet initData = Payrails.InitData( version: "2", // version returned from your backend data: "<base64-payload>" // data returned from your backend)let configuration = Payrails.Configuration( initData: initData, option: Payrails.Options(env: .production) // use .test for sandbox)do { let session = try await Payrails.createSession( with: configuration, onSessionExpired: { completion in // Re-run your backend's init flow (authentication + initSdk) and hand // the fresh InitData back. The SDK swaps its internal config in place — // your `session` reference and any cached buttons / forms keep working. fetchFreshPayrailsInitData { result in completion(result) } } ) // session is ready; store it or proceed to build your UI} catch { print("SDK initialization failed:", error.localizedDescription)}
Recommendedsupply onSessionExpired at createSession time. The SDK invokes it when it detects the current execution is no longer reusable (most commonly: the user abandoned a 3DS challenge). Without it, the next payment attempt against the poisoned Session fails naturally and the SDK logs a warning at init.
Payrails.createSession(with: configuration) { result in switch result { case .success(let session): // session is ready case .failure(let error): print("SDK initialization failed:", error.localizedDescription) }}
extension CheckoutViewController: PayrailsCardPaymentButtonDelegate { func onPaymentButtonClicked(_ button: Payrails.CardPaymentButton) { // Notification only — the SDK does not wait for this. Use it for analytics or a // loading indicator. To make the payment conditional on your own check, see // How to Run a Merchant Check Before Authorization. } func onAuthorizeSuccess(_ button: Payrails.CardPaymentButton) { // Payment succeeded — navigate to confirmation screen } func onAuthorizeFailed(_ button: Payrails.CardPaymentButton, failure: AuthorizationFailure) { switch failure.code { case .userCancelled: // User dismissed the 3DS sheet or otherwise abandoned the flow. // The SDK has already triggered the `onSessionExpired` refresh closure // (supplied at `createSession`) so retries continue to work against // the same `Session` reference. statusLabel.text = "Payment cancelled." case .authorizationError: // Issuer declined / 3DS rejected. `failure.message` is the backend's // extracted failure reason (e.g. "Insufficient funds") with a generic // fallback — never nil. statusLabel.text = "Declined: \(failure.message)" case .authenticationError: // Session token rejected (401 / 403). The SDK fires `onSessionExpired` // in the background; ask the user to retry. statusLabel.text = "Session expired. Please retry." case .unknownError: // Network, SDK, or other unexpected error. `failure.rawError` carries // the underlying error when one exists. statusLabel.text = "Payment failed: \(failure.rawError?.localizedDescription ?? failure.message)." } } func onThreeDSecureChallenge(_ button: Payrails.CardPaymentButton) { // 3DS challenge is being presented — optional hook }}
{"docsConfig":{"theme":"palm","$schema":"https://mintlify.com/docs.json","name":"Payrails Docs","description":"Developer and operator documentation for Payrails, the payment operating system for global enterprises: payment orchestration across providers, PCI-compliant tokenization, analytics and reporting, Chargebacks, and the Payrails REST API.","colors":{"primary":"#D63D00","light":"#E4853A"},"logo":{"light":"https://mintcdn.com/payrails-42074109/knNnlxc2J__TB9tW/logo/light.svg?fit=max\u0026auto=format\u0026n=knNnlxc2J__TB9tW\u0026q=85\u0026s=2692c29175ef45b637b4e2df6e2da330","dark":"https://mintcdn.com/payrails-42074109/knNnlxc2J__TB9tW/logo/dark.svg?fit=max\u0026auto=format\u0026n=knNnlxc2J__TB9tW\u0026q=85\u0026s=651119b7fb40dda938e2f9a7a276ee1c"},"favicon":"https://mintcdn.com/payrails-42074109/zqk7oWHZbW3YniA1/favicon.png?fit=max\u0026auto=format\u0026n=zqk7oWHZbW3YniA1\u0026q=85\u0026s=70b0991c3a7ad3c2faa4530e27040cf8","api":{"params":{"expanded":"all","post":["nullable","x-internal"]},"playground":{"display":"simple"},"examples":{"defaults":"required","prefill":true,"autogenerate":true},"url":"full"},"appearance":{"default":"light"},"navbar":{"links":[{"href":"https://www.payrails.com","label":"Go to payrails.com"}],"primary":{"type":"button","label":"Book a demo","href":"https://www.payrails.com/contact"}},"footer":{"socials":{"x":"https://x.com/Payrails_com","github":"https://github.com/payrails","linkedin":"https://www.linkedin.com/company/payrails"},"links":[{"header":"Company","items":[{"label":"payrails.com","href":"https://www.payrails.com"}]}]},"seo":{"metatags":{"og:locale":"en_US","twitter:site":"@Payrails_com","msvalidate.01":"7723ABF900EAD08F0500790E9BFC62E7"},"organization":{"id":"https://www.payrails.com#organization","name":"Payrails","legalName":"Payrails GmbH","url":"https://www.payrails.com/","logo":"https://www.payrails.com/payrails-logo.svg","sameAs":["https://www.linkedin.com/company/payrails/","https://www.crunchbase.com/organization/payrails","https://www.wikidata.org/wiki/Q137211152","https://x.com/Payrails_com"]}},"styling":{"eyebrows":"breadcrumbs","latex":false},"integrations":{"cookies":{"key":"mintlify_telemetry_enabled","value":"true"}},"contextual":{"options":["copy","view","download-spec","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"thumbnails":{"appearance":"dark","background":"https://mintcdn.com/payrails-42074109/_AaiU-jGVknFpls9/images/common/og-thumbnail-bg-v5.png?fit=max\u0026auto=format\u0026n=_AaiU-jGVknFpls9\u0026q=85\u0026s=b08b137c9aa7638918675c41a07b33c6"},"interaction":{"drilldown":true},"metadata":{"timestamp":true},"markdown":{"instructions":["Use the Payrails Web SDK v6 for new browser integrations. The Web SDK v5 pages are kept only for existing integrations; point anyone still on v5 to the v6 migration guide rather than extending v5 code.","Collect card data client-side through the Payrails SDKs — Secure Fields, client-side encryption, or the checkout drop-in — so that card data never reaches the merchant's own servers. Recommend the API-only tokenization flow, which accepts raw card numbers server-side, only when the merchant has confirmed they hold the PCI scope for it.","Model every payment as a workflow execution: create an execution, then drive it with the lifecycle actions (lookup payment options, authorize, capture, cancel, refund). Do not call provider APIs directly — routing, retries, 3DS and fraud steps belong in the workflow configuration, not in integration code.","Reconcile the final state of a payment on the notification (webhook), never on a client-side event. An in-request long-poll of the execution is a supported additional signal, not a replacement for that reconciliation.","Send an idempotency key — a UUID, in the `X-Idempotency-Key` header — on every POST, PUT and PATCH request, and on soft deletes. GET requests need none, and hard deletes cannot be idempotent.","Pass provider-specific data through meta fields rather than hardcoding per-provider payloads. Payrails translates meta fields into each provider's own format.","Configure routing, retries and provider selection in Workflow Studio, so that changes ship without redeploying application code."]},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"payrails-42074109","hasAudioNarration":false,"actualSubdomain":"payrails-42074109","customDomains":["docs.payrails.com"],"gitSource":{"type":"github","owner":"payrails","repo":"docs-payrails-com","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af1e9cae98b92f8731755f4","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Guides","count":367},{"language":"default","tag":"Payment Orchestration","count":282},{"language":"default","tag":"API Reference","count":185},{"language":"default","tag":"Payment Methods","count":145},{"language":"default","tag":"Integrations","count":64},{"language":"default","tag":"Dispute","count":56},{"language":"default","tag":"Disputes","count":56},{"language":"default","tag":"Payrails Checkout SDKs","count":39},{"language":"default","tag":"Getting Started","count":30},{"language":"default","tag":"Payment","count":28}],"searchSettings":{"showContentSnippets":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"type":"link","url":"https://www.payrails.com/contact"}},"basePath":"","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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"workos-sso-scim","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},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":false}},"googleFontsInlined":false},"customCss":[{"filePath":"css/styles.css","content":"*,:before,:after{box-sizing:border-box}:before,:after{--tw-content: \"\"}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,\n system-ui,\n sans-serif,\n Apple Color Emoji,\n Segoe UI Emoji,\n Segoe UI Symbol,\n Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n Liberation Mono,\n Courier New,\n monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,select{text-transform:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}#page-context-menu-button{border-radius:var(--border-radius-sm) 0 0 var(--border-radius-sm)}#page-context-menu-button+button,#page-context-menu-button+*+button{border-left:none;border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0}.peer:not(.is-custom) [data-docs-theme] header+div,header#navbar>div.mx-auto{margin:0 auto;max-width:100rem}[data-active-nav-item=\"true\"]>button,[data-active-nav-item=\"true\"]>a{color:var(--accent)}#navbar>div.mx-auto div.h-16{height:calc(var(--spacing) * 13)}#navbar>div.mx-auto div.h-12{height:calc(var(--spacing) * 8)}@media (min-width: 1024px){#sidebar-content{margin-top:calc(var(--mintlify-slot-header-height, 7rem) - var(--spacing) * 21)}}#navbar>div.mx-auto button.h-9{height:calc(var(--spacing) * 8)}#topbar-cta-button a>div{height:calc(var(--spacing) * 8);padding:0 calc(var(--spacing) * 3.5);border:1px solid rgb(var(--gray-400) / 0.3);border-radius:8px;background:rgb(var(--background-light));color:rgb(var(--gray-500))}#topbar-cta-button a svg{display:none}#topbar-cta-button a:hover>div{color:rgb(var(--gray-800))}html.dark #topbar-cta-button a>div{border-color:rgb(var(--gray-600) / 0.3);background:rgb(var(--background-dark));color:rgb(var(--gray-300))}html.dark #topbar-cta-button a:hover>div{color:rgb(var(--gray-100))}#navbar.peer.is-not-custom.is-not-wide.is-not-center+div,#navbar+div .page-content{max-width:100rem;margin:0 auto}#content-container>div.max-w-5xl{max-width:70rem}.mdx-content a{color:var(--accent);text-decoration:none;\u0026:hover,\u0026:focus{color:var(--link-hover)}\u0026:active,\u0026:active:hover{color:var(--link-active)}}.mdx-content a.link:not(:has(div,img,picture)):not(.not-prose *){border-bottom:0;text-decoration-line:underline;text-decoration-thickness:max(1px, 0.0625rem);text-underline-offset:0.2em;text-decoration-skip-ink:auto;text-decoration-color:color-mix(in srgb, currentColor 70%, transparent);\u0026:hover,\u0026:focus,\u0026:has(>code){text-decoration-color:currentColor}}.callout .prose :where(h1,h2,h3,h4):not(:where([class~=\"not-prose\"],[class~=\"not-prose\"] *)){margin-top:0}#content-area>#content{margin-bottom:calc(var(--spacing) * 8)}#content-area>:is(#content,[id^=\"api-playground\"])+div:not([id]){padding-bottom:calc(var(--spacing) * 6)}#footer.advanced-footer>div{padding-bottom:calc(var(--spacing) * 8);padding-top:calc(var(--spacing) * 8);gap:calc(var(--spacing) * 4)}#footer [data-testid=\"mode-switch-light\"],#footer [data-testid=\"mode-switch-dark\"],#footer [data-testid=\"mode-switch-system\"]{display:none}@media (min-width: 1024px){[data-theme-preference-switch=\"pill\"]{width:fit-content;gap:2px;padding:1px}[data-theme-preference-switch=\"pill\"]>[data-theme-preference-value]{width:1.5rem;height:1.5rem}}html:not(.dark) #sidebar-content a.text-gray-700{color:rgb(var(--gray-700))}html:not(.dark) #sidebar-content a.text-gray-700:hover{color:rgb(var(--gray-950))}html.dark :is(#content,#header>.prose,#table-of-contents),html.dark :is(#navbar,#sidebar-content,#content-area) .dark\\:text-gray-400,html.dark #footer a.dark\\:text-white\\/50{color:rgb(var(--gray-300))}html.dark :is(#navbar,#sidebar-content,#content-area) .dark\\:text-gray-400:hover,html.dark #footer a.dark\\:text-white\\/50:hover,html.dark #table-of-contents .toc-item:not([data-active])>a:hover{color:rgb(var(--gray-100))}html.dark #search-bar-entry{color:rgb(var(--gray-400))}html.dark #footer .dark\\:bg-gray-600{background-color:rgb(var(--gray-400))}html.dark #footer .dark\\:bg-gray-600:hover{background-color:rgb(var(--gray-200))}html.dark .sidebar-group-icon[src*=\"/images/icons/nav/\"]{filter:invert(0.9)}html:not(.dark) .nav-tag-pill-text{color:var(--button-primary-bg-active)}html:not(.dark) .text-green-700.bg-green-400\\/20{color:#166534}html:not(.dark) .text-yellow-700.bg-yellow-400\\/20{color:#854d0e}html:not(.dark) .text-orange-700.bg-orange-400\\/20{color:#9a3412}.text-\\[\\#FFFFFF\\].bg-\\[\\#2AB673\\]{background-color:#15803d}.text-\\[\\#FFFFFF\\].bg-\\[\\#C28C30\\]{background-color:#a16207}.text-\\[\\#FFFFFF\\].bg-\\[\\#DA622B\\]{background-color:#c2410c}html:not(.dark) [data-component-part=\"field-required-pill\"]{color:#b91c1c}html:not(.dark) [data-component-part=\"code-group-tab-bar\"] .text-gray-500:not(:hover){color:rgb(var(--gray-600))}html.dark :is(#navbar a.dark\\:text-gray-200,#content-area a.dark\\:text-gray-50){color:rgb(var(--gray-50))}html.dark #content-area a.dark\\:text-gray-50:hover{color:var(--accent)}html.dark #content-area a.dark\\:text-gray-50>svg{color:rgb(var(--gray-400))}#table-of-contents .toc-item[data-active]>a{color:var(--accent)}@layer theme{.peer.is-custom~#footer.advanced-footer{display:flex!important;margin-top:auto!important}div:has(>.peer.is-custom~#footer.advanced-footer){display:flex!important;flex-direction:column;min-height:100vh}}#sidebar-content img[src^=\"https://assets.payrails.io/img/logos/\"],#sidebar-content img[src*=\"/images/icons/letters/\"]{width:1.5rem;height:1.5rem;--tile-radius: 0.375rem;border-radius:var(--tile-radius)}#sidebar-content img[src^=\"https://assets.payrails.io/img/logos/\"],#sidebar-content img[src*=\"/images/icons/letters/\"],.prose img.page-logo,.provider-card-logo,.payment-method-logo{--tile: var(--tag-neutral-bg);--r: calc(var(--tile-radius) - 1px);background:radial-gradient(circle at 100% 100%, var(--tile) calc(var(--r) - 0.5px), transparent var(--r)) 1px 1px / var(--r) var(--r) no-repeat,\n radial-gradient(circle at 0 100%, var(--tile) calc(var(--r) - 0.5px), transparent var(--r)) calc(100% - 1px) 1px / var(--r) var(--r) no-repeat,\n radial-gradient(circle at 100% 0, var(--tile) calc(var(--r) - 0.5px), transparent var(--r)) 1px calc(100% - 1px) / var(--r) var(--r) no-repeat,\n radial-gradient(circle at 0 0, var(--tile) calc(var(--r) - 0.5px), transparent var(--r)) calc(100% - 1px) calc(100% - 1px) / var(--r) var(--r) no-repeat,\n linear-gradient(var(--tile), var(--tile)) center / calc(100% - 2px) calc(100% - 2 * var(--r)) no-repeat,\n linear-gradient(var(--tile), var(--tile)) center / calc(100% - 2 * var(--r)) calc(100% - 2px) no-repeat}@media (max-width: 767px){.expandable-content{margin:0!important;padding-left:6px!important;padding-right:0!important}.expandable-content .expandable{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.expandable-content .expandable-content{min-width:16rem}.expandable-content:not(.expandable-content *){overflow-x:auto}.expandable-content .prose{padding-right:12px}.param-head div{min-width:0}[data-component-part=\"field-info-pill\"]{display:inline-block!important;max-width:100%;vertical-align:bottom}[data-component-part=\"field-info-pill\"]>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}}html[data-current-path=\"/docs/connections\"] .nav-tabs-item[data-active=\"true\"]{text-shadow:none}html[data-current-path=\"/docs/connections\"] .nav-tabs-item[data-active=\"true\"]>div{background-color:transparent}html[data-current-path=\"/docs/connections\"] .nav-tabs-item[href=\"/docs/connections\"]{text-shadow:-0.2px 0 0 currentColor, 0.2px 0 0 currentColor}html[data-current-path=\"/docs/connections\"] .nav-tabs-item[href=\"/docs/connections\"]>div{background-color:rgb(var(--primary))}html.dark[data-current-path=\"/docs/connections\"] .nav-tabs-item[href=\"/docs/connections\"]>div{background-color:rgb(var(--primary-light))}html.dark[data-current-path=\"/docs/connections\"] #navbar a.nav-tabs-item[data-active=\"true\"]:not(:hover){color:rgb(var(--gray-300))}html.dark[data-current-path=\"/docs/connections\"] #navbar a.nav-tabs-item[href=\"/docs/connections\"]{color:rgb(var(--gray-50))}.page-logos{display:flex;gap:0.75rem;margin:-1rem 0 1.75rem}.prose .page-logos picture{margin:0}.prose img.page-logo{display:block;width:3.5rem;height:3.5rem;margin:0;--tile-radius: 0.75rem;border-radius:var(--tile-radius);object-fit:contain}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}"},{"filePath":"css/vars.css","content":":root{--pr-orange: #d63d00;--pr-black: #000;--pr-white: #fff;--pr-heritage: #0a6cff;--pr-antalya-sea: #597991;--pr-dublin-ale: #e4853a;--pr-baku-brass: #8a725c;--pr-cairo-sand: #d6cbc1;--accent: rgb(var(--primary));--link-active: var(--button-primary-bg-active);--link-hover: var(--button-primary-bg-hover);--main-color: var(--pr-orange);--background: var(--pr-white);--badge-new-bg: #ffedd5;--badge-new-text: #ad3100;--bento-media-gradient-end: #100;--bento-media-gradient-start: #f34f12;--border-radius-sm: 4px;--border-hover: #d1d1d1;--border-subtle: #e5e5e5;--button-focus-outline: #09090b;--button-ghost-bg-active: #e4e4e7;--button-ghost-bg-hover: #f4f4f5;--button-ghost-text: #18181b;--button-primary-bg: var(--main-color);--button-primary-bg-active: #a32e00;--button-primary-bg-hover: #be3600;--button-primary-text: #fff;--button-quaternary-bg: #fff;--button-quaternary-bg-active: #e4e4e7;--button-quaternary-bg-hover: #f4f4f5;--button-quaternary-text: #18181b;--button-secondary-bg: transparent;--button-secondary-bg-active: #fadcc0;--button-secondary-bg-hover: #ffedd5;--button-secondary-border: #ad3100;--button-secondary-text: #ad3100;--button-tertiary-bg: #fff2e1;--button-tertiary-bg-active: #fed7aa;--button-tertiary-bg-hover: #ffedd5;--button-tertiary-text: #ad3100;--capability-chip-bg: #f0f6ff;--capability-chip-border: #d8e6ff;--capability-chip-text: #002e99;--container-gutter-default: 16px;--container-gutter-lg: 32px;--container-max-2xl: 1360px;--foreground: #000;--logo-fallback-0-bg: #eff6ff;--logo-fallback-0-text: #1d4ed8;--logo-fallback-1-bg: #f0fdf4;--logo-fallback-1-text: #15803d;--logo-fallback-2-bg: #fffbeb;--logo-fallback-2-text: #b45309;--logo-fallback-3-bg: #faf5ff;--logo-fallback-3-text: #7e22ce;--logo-fallback-4-bg: #fff1f2;--logo-fallback-4-text: #be123c;--logo-fallback-5-bg: #ecfeff;--logo-fallback-5-text: #0e7490;--status-in-progress: #f0b400;--status-in-progress-bg: #fff4d1;--status-in-progress-text: #7e6612;--status-live: #2ba027;--status-live-bg: #dbf6da;--status-live-text: #207c40;--surface-1: #fff;--surface-2: #f5f5f5;--surface-warm: #f1f0ec;--tag-neutral-bg: #f6f7fa;--tag-neutral-border: #f0f2f6;--tag-neutral-text: #3f4d67;--text-muted: #404040;--text-soft: #666c79;--text-strong: #171717;--text-subtle: #9ca3af}html.dark{--accent: rgb(var(--primary-light));--link-active: #c96f28;--link-hover: #f0a266}"},{"filePath":"snippets/general/card.css","content":".pr-card-group{container-type:inline-size;display:grid;gap:var(--space-4, 16px);margin:var(--space-4, 16px) 0}.pr-card-group--cols-1{grid-template-columns:1fr}.pr-card-group--cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.pr-card-group--cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.pr-card-group--cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}@container (max-width: 620px){.pr-card-group--cols-3,.pr-card-group--cols-4{grid-template-columns:repeat(2, minmax(0, 1fr))}}@container (max-width: 340px){.pr-card-group{grid-template-columns:1fr}}.pr-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid #e5e5e5;border-radius:1rem;background-color:#fff;box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);text-decoration:none;transition:transform 0.2s ease,\n background 0.2s ease,\n box-shadow 0.2s ease}.pr-card:hover{background-color:#f5f5f5;box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1),\n 0 4px 6px -4px rgb(0 0 0 / 0.1)}.pr-card__image{display:block;background-size:cover;width:100%;height:auto;aspect-ratio:16 / 9;margin:0;object-fit:cover;background-color:#f3f4f6}.pr-card__body{display:flex;flex-direction:column;gap:0.5rem;height:100%;padding:1.5rem}.pr-card__header{display:flex;align-items:center;gap:0.5rem}.pr-card__icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:1rem;background-color:rgb(var(--primary) / 0.1);color:var(--accent)}.pr-card__body:not(:first-child){border-top:1px solid #e5e5e5}.pr-card__title{margin:0;font-size:1.25rem;font-weight:600;line-height:1.25rem;color:var(--foreground)}.pr-card__text{margin:0;font-size:0.875rem;font-weight:400;line-height:1.5rem;color:var(--text-muted)}.dark .pr-card{border-color:#262626;background-color:#171717}.dark .pr-card:hover,.dark .pr-card__image{background-color:#262626}.dark .pr-card__body:not(:first-child){border-top-color:#404040}.dark .pr-card__icon{background-color:#262626}.dark .pr-card__title{color:#fff}.dark .pr-card__text{color:#f5f5f5}.pr-card.hover-zoom{transform:scale(1);\u0026:hover,\u0026:focus{transform:scale(1.05) translateY(-2%)}}@media (prefers-reduced-motion: reduce){.pr-card.hover-zoom{transform:none;\u0026:hover,\u0026:focus{transform:none}}}.provider-card{display:flex;align-items:center;gap:0.75rem;text-align:left}.provider-card-logo{display:block;width:2.5rem;height:2.5rem;flex-shrink:0;overflow:hidden;--tile-radius: 0.5rem;border-radius:var(--tile-radius)}.provider-card-logo img{width:100%;height:100%;margin:0;object-fit:contain}.provider-card-logo-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--tag-neutral-bg);color:var(--tag-neutral-text);font-size:1.25rem;font-weight:600;line-height:1}.provider-card-name,.provider-card-type{margin:0}.provider-card-name{font-weight:600}.provider-card-type{font-size:0.875rem;line-height:1.25rem;color:rgb(var(--gray-500))}.dark .provider-card-type{color:rgb(var(--gray-400))}"},{"filePath":"snippets/payment-methods/explorer.css","content":".payment-methods-explorer:empty{min-height:3000px}.payment-method-logo{display:inline-flex;width:28px;height:28px;flex-shrink:0;overflow:hidden;--tile-radius: 0.375rem;border-radius:var(--tile-radius)}.payment-method-logo img{width:100%;height:100%;margin:0;object-fit:contain}"},{"filePath":"snippets/integrations/filterable-list.css","content":".integrations-filter{container-type:inline-size}.integrations-filter:empty::before{content:\"\";display:block;height:184px}@container (min-width: 310px){.integrations-filter:empty::before{height:140px}}@container (min-width: 364px){.integrations-filter:empty::before{height:96px}}@container (min-width: 665px){.integrations-filter:empty::before{height:52px}}.integration-card{display:flex;flex-direction:column}.integration-card>.card{flex:1}.integration-card[hidden]{display:none!important}"}],"page":{"pagePath":"docs/orchestration/checkout-sdks/ios","slug":"/docs/orchestration/checkout-sdks/ios","pageMetadata":{"title":"iOS SDK - Quick start","description":"Install the Payrails iOS SDK with Swift Package Manager, create a session, and render a working card payment screen.","href":"/docs/orchestration/checkout-sdks/ios"},"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: \"Install the Payrails iOS SDK with Swift Package Manager, create a session, and render a working card payment screen.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`quick-start`,children:`Quick Start`}),`\n`,_jsx(_components.p,{children:`Get up and running with the Payrails iOS SDK in about 15 minutes. By the end you will have a working card payment screen in your app.`}),`\n`,_jsx(Heading,{level:`3`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Xcode 16.4+. Each release is built with Xcode 16.4. Swift’s module interface format is not backward compatible across toolchains, so an older Xcode cannot load the prebuilt framework.`}),`\n`,_jsx(_components.li,{children:`iOS 14.0+ deployment target.`}),`\n`,_jsx(_components.li,{children:`Swift 5.0+.`}),`\n`,_jsx(_components.li,{children:`A Payrails merchant account and a backend that can fetch an init payload.`}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`step-1-install-the-sdk`,children:`Step 1: Install the SDK`}),`\n`,_jsx(_components.p,{children:`The SDK ships as a prebuilt, signed XCFramework. Swift Package Manager is the only supported installation method.`}),`\n`,_jsxs(_components.p,{children:[`In Xcode, click `,_jsx(_components.strong,{children:`File → Add Package Dependencies`}),` and enter the package URL:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://github.com/payrails/ios-sdk.git`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Select the `,_jsx(_components.code,{children:`Payrails`}),` product and add it to your app target.`]}),`\n`,_jsxs(_components.p,{children:[`To declare the dependency in a `,_jsx(_components.code,{children:`Package.swift`}),` instead:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`dependencies`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`package`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`url`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://github.com/payrails/ios-sdk.git\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"3.2.0\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Swift Package Manager downloads the framework and verifies it against the checksum published in the package manifest. Resolution also pulls in `,_jsx(_components.code,{children:`PayrailsCSE`}),` and `,_jsx(_components.code,{children:`PayPalCheckout`}),`, so three packages appear in your project, not one.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`step-2-enable-apple-pay-capability-optional`,children:`Step 2: Enable Apple Pay capability (optional)`}),`\n`,_jsxs(_components.p,{children:[`If you plan to use Apple Pay, add the `,_jsx(_components.strong,{children:`Apple Pay`}),` capability in Xcode under `,_jsx(_components.strong,{children:`Signing \u0026 Capabilities`}),` and provide your merchant identifier.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`step-3-fetch-the-init-payload-from-your-backend`,children:`Step 3: Fetch the init payload from your backend`}),`\n`,_jsx(_components.p,{children:`The SDK requires an init payload that your backend fetches from the Payrails API. This payload is a base64-encoded JSON string along with a version string.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Your backend call — implementation depends on your networking layer`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` fetchInitPayload`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` throws`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ->`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (data: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`String`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, version: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`String`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Call your backend, which calls the Payrails /checkout/initialize endpoint`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:\" // Returns the `data` and `version` fields from the Payrails response\"})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`step-4-initialize-the-sdk-session`,children:`Step 4: Initialize the SDK session`}),`\n`,_jsx(Heading,{level:`4`,id:`async/await`,children:`Async/await`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`28`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`28`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Payrails`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` initData `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Payrails.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`InitData`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` version`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// version returned from your backend`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cbase64-payload>\"`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // data returned from your backend`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` configuration `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Payrails.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`Configuration`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` initData`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: initData,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` option`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: Payrails.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`Options`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: .`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`production`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// use .test for sandbox`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`do`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` session `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` try`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Payrails.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`createSession`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` with`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: configuration,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` onSessionExpired`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { completion `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Re-run your backend's init flow (authentication + initSdk) and hand`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // the fresh InitData back. The SDK swaps its internal config in place —`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:\" // your `session` reference and any cached buttons / forms keep working.\"})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` fetchFreshPayrailsInitData`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` completion`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(result)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // session is ready; store it or proceed to build your UI`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`catch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"SDK initialization failed:\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, error.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`localizedDescription`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(Tip,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Recommended`})}),_jsxs(_components.p,{children:[`supply `,_jsx(_components.code,{children:`onSessionExpired`}),` at `,_jsx(_components.code,{children:`createSession`}),` time. The SDK invokes it when it detects the current execution is no longer reusable (most commonly: the user abandoned a 3DS challenge). Without it, the next payment attempt against the poisoned `,_jsx(_components.code,{children:`Session`}),` fails naturally and the SDK logs a warning at init.`]})]}),`\n`,_jsx(Heading,{level:`4`,id:`callback`,children:`Callback`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Payrails.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`createSession`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`with`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: configuration) { result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` switch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` result {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` case`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`success`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` session)`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // session is ready`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` case`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`failure`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` error)`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"SDK initialization failed:\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, error.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`localizedDescription`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`step-5-build-a-card-payment-screen`,children:`Step 5: Build a card payment screen`}),`\n`,_jsx(_components.p,{children:`Payrails provides UIKit-based elements. Add them to your view hierarchy:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`44`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`44`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` UIKit`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Payrails`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`class`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CheckoutViewController`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`UIViewController`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`PaymentPresenter `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` var`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` encryptedCardData: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`String`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`?`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` override`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` viewDidLoad`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` super`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`viewDidLoad`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 1. Create the card form`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` cardForm `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Payrails.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`createCardForm`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 2. Create the pay button`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` payButton `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Payrails.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`createCardPaymentButton`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` translations`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`CardPaymenButtonTranslations`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`label`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Pay now\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` payButton.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`delegate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` self`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` payButton.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`presenter`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` self`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // PaymentPresenter: required to present 3DS challenges`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 3. Add to view hierarchy`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` view.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`addSubview`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(cardForm)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` view.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`addSubview`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(payButton)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 4. Layout (use Auto Layout or frames as preferred)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` cardForm.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`translatesAutoresizingMaskIntoConstraints`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` false`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` payButton.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`translatesAutoresizingMaskIntoConstraints`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` false`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` NSLayoutConstraint.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`activate`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`([`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` cardForm.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`topAnchor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`constraint`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`equalTo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: view.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`safeAreaLayoutGuide`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`topAnchor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`constant`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`24`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` cardForm.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`leadingAnchor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`constraint`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`equalTo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: view.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`leadingAnchor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`constant`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`16`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` cardForm.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`trailingAnchor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`constraint`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`equalTo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: view.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`trailingAnchor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`constant`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`-16`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` payButton.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`topAnchor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`constraint`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`equalTo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: cardForm.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`bottomAnchor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`constant`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`16`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` payButton.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`leadingAnchor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`constraint`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`equalTo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: view.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`leadingAnchor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`constant`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`16`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` payButton.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`trailingAnchor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`constraint`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`equalTo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: view.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`trailingAnchor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`constant`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`-16`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ])`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // PaymentPresenter: called when a view controller must be presented (e.g. 3DS)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` presentPayment`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`_`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` viewController`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: UIViewController) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` present`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(viewController, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`animated`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`step-6-handle-payment-results`,children:`Step 6: Handle payment results`}),`\n`,_jsxs(_components.p,{children:[`Conform to `,_jsx(_components.code,{children:`PayrailsCardPaymentButtonDelegate`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`40`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`40`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`extension`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CheckoutViewController`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`PayrailsCardPaymentButtonDelegate `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` onPaymentButtonClicked`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`_`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` button`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: Payrails.CardPaymentButton) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Notification only — the SDK does not wait for this. Use it for analytics or a`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // loading indicator. To make the payment conditional on your own check, see`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // How to Run a Merchant Check Before Authorization.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` onAuthorizeSuccess`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`_`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` button`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: Payrails.CardPaymentButton) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Payment succeeded — navigate to confirmation screen`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` onAuthorizeFailed`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`_`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` button`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: Payrails.CardPaymentButton, `}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`failure`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: AuthorizationFailure) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` switch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` failure.code {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` case`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`userCancelled`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // User dismissed the 3DS sheet or otherwise abandoned the flow.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:\" // The SDK has already triggered the `onSessionExpired` refresh closure\"})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:\" // (supplied at `createSession`) so retries continue to work against\"})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:\" // the same `Session` reference.\"})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` statusLabel.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:`text`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Payment cancelled.\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` case`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`authorizationError`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:\" // Issuer declined / 3DS rejected. `failure.message` is the backend's\"})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // extracted failure reason (e.g. \"Insufficient funds\") with a generic`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // fallback — never nil.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` statusLabel.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:`text`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Declined: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`\\\\(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D4D4D4`},children:`failure.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`message`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`)`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` case`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`authenticationError`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:\" // Session token rejected (401 / 403). The SDK fires `onSessionExpired`\"})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // in the background; ask the user to retry.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` statusLabel.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:`text`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Session expired. Please retry.\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` case`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`unknownError`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:\" // Network, SDK, or other unexpected error. `failure.rawError` carries\"})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // the underlying error when one exists.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` statusLabel.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:`text`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Payment failed: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`\\\\(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D4D4D4`},children:`failure.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`rawError`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`?`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`localizedDescription`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ??`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D4D4D4`},children:` failure.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`message`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`)`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` onThreeDSecureChallenge`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`_`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` button`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: Payrails.CardPaymentButton) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 3DS challenge is being presented — optional hook`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`step-7-test-with-the-sandbox-environment`,children:`Step 7: Test with the sandbox environment`}),`\n`,_jsxs(_components.p,{children:[`Change the environment to `,_jsx(_components.code,{children:`.test`}),` when initializing the session:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` configuration `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Payrails.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`Configuration`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` initData`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: initData,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` option`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: Payrails.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`Options`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: .`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`test`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Use Payrails sandbox card numbers to test different payment outcomes.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`what’s-next`,children:`What’s next`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/docs/orchestration/checkout-sdks/ios/sdk-concepts`,children:`Concepts`}),` — understand the Session, Elements, and Delegates mental model`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/docs/orchestration/checkout-sdks/ios/styling-guide`,children:`Styling Guide`}),` — customise card form and button appearance`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/docs/orchestration/checkout-sdks/ios/sdk-concepts#how-to-tokenize-a-card`,children:`How to Tokenize a Card`}),` — save a card without immediate payment`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/docs/orchestration/checkout-sdks/ios/sdk-api-reference#how-to-query-session-data`,children:`How to Query Session Data`}),` — read execution ID, amount, and more`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/docs/orchestration/checkout-sdks/ios/sdk-concepts#how-to-run-a-merchant-check-before-authorization`,children:`How to Run a Merchant Check Before Authorization`}),` — approve a payment against your own backend first`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/docs/orchestration/checkout-sdks/ios/sdk-concepts#how-to-support-co-branded-cards`,children:`How to Support Co-branded Cards`}),` — let the shopper choose the payment network`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/docs/orchestration/checkout-sdks/ios/sdk-concepts#how-to-handle-expired-stored-cards`,children:`How to Handle Expired Stored Cards`}),` — hide or flag saved cards past their expiry`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/docs/orchestration/checkout-sdks/ios/sdk-api-reference`,children:`SDK API Reference`}),` — complete API documentation`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/docs/orchestration/checkout-sdks/ios/troubleshooting`,children:`Troubleshooting`}),` — common issues and fixes`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{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.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"iOS SDK - Quick start","description":"Install the Payrails iOS SDK with Swift Package Manager, create a session, and render a working card payment screen.","href":"/docs/orchestration/checkout-sdks/ios"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Quick Start","slug":"quick-start","depth":2,"children":[{"title":"Prerequisites","slug":"prerequisites","depth":3,"children":[]},{"title":"Step 1: Install the SDK","slug":"step-1-install-the-sdk","depth":3,"children":[]},{"title":"Step 2: Enable Apple Pay capability (optional)","slug":"step-2-enable-apple-pay-capability-optional","depth":3,"children":[]},{"title":"Step 3: Fetch the init payload from your backend","slug":"step-3-fetch-the-init-payload-from-your-backend","depth":3,"children":[]},{"title":"Step 4: Initialize the SDK session","slug":"step-4-initialize-the-sdk-session","depth":3,"children":[]},{"title":"Async/await","slug":"async/await","depth":4,"children":[]},{"title":"Callback","slug":"callback","depth":4,"children":[]},{"title":"Step 5: Build a card payment screen","slug":"step-5-build-a-card-payment-screen","depth":3,"children":[]},{"title":"Step 6: Handle payment results","slug":"step-6-handle-payment-results","depth":3,"children":[]},{"title":"Step 7: Test with the sandbox environment","slug":"step-7-test-with-the-sandbox-environment","depth":3,"children":[]}]},{"title":"What’s next","slug":"what’s-next","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/payrails-42074109/138fc948c6832630/consent.js","/_mintlify/custom/payrails-42074109/6a6f8c8ba4227cb9/same-tab-links.js","/_mintlify/custom/payrails-42074109/6e438b650fe2798f/noindex-other-hosts.js"],"subdomain":"payrails-42074109","siteName":"Payrails Docs","title":"iOS SDK - Quick start - Payrails Docs","relatedPagesConfig":{"enabled":true,"limit":3,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-05T12:22:59.422Z","gitLastModified":"2026-11-05T12:22:34.000Z","originalFileLocation":"docs/orchestration/checkout-sdks/ios.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=\"light\"}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=\"Install the Payrails iOS SDK with Swift Package Manager, create a session, and render a working card payment screen.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Payrails Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/payrails-42074109/xPEGo5yZy52JZSmG/_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/payrails-42074109/xPEGo5yZy52JZSmG/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/payrails-42074109/xPEGo5yZy52JZSmG/_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/payrails-42074109/xPEGo5yZy52JZSmG/_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/payrails-42074109/xPEGo5yZy52JZSmG/_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/payrails-42074109/xPEGo5yZy52JZSmG/_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/payrails-42074109/xPEGo5yZy52JZSmG/_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/payrails-42074109/xPEGo5yZy52JZSmG/_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/payrails-42074109/xPEGo5yZy52JZSmG/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"iOS SDK - Quick start - Payrails Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Install the Payrails iOS SDK with Swift Package Manager, create a session, and render a working card payment screen.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Payrails Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.payrails.com/docs/orchestration/checkout-sdks/ios\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://payrails-42074109.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=iOS+SDK+-+Quick+start\u0026amp;description=Install+the+Payrails+iOS+SDK+with+Swift+Package+Manager%2C+create+a+session%2C+and+render+a+working+card+payment+screen.\u0026amp;theme=fc36d2d43704e46c9451c8d9\u0026amp;signature=3b03df1152c9a9b99d2620e60cf1e771280efaea101d945331ab8e05895f30c1\">\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=\"iOS SDK - Quick start - Payrails Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Install the Payrails iOS SDK with Swift Package Manager, create a session, and render a working card payment screen.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://payrails-42074109.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=iOS+SDK+-+Quick+start\u0026amp;description=Install+the+Payrails+iOS+SDK+with+Swift+Package+Manager%2C+create+a+session%2C+and+render+a+working+card+payment+screen.\u0026amp;theme=fc36d2d43704e46c9451c8d9\u0026amp;signature=3b03df1152c9a9b99d2620e60cf1e771280efaea101d945331ab8e05895f30c1\">\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/payrails-42074109/xPEGo5yZy52JZSmG/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Payrails Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#D63D00\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"msvalidate.01\" content=\"7723ABF900EAD08F0500790E9BFC62E7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.payrails.com/docs/orchestration/checkout-sdks/ios\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/orchestration/checkout-sdks/ios.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.payrails.com#organization\",\"name\":\"Payrails\",\"legalName\":\"Payrails GmbH\",\"url\":\"https://www.payrails.com/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://www.payrails.com/payrails-logo.svg\"},\"sameAs\":[\"https://www.linkedin.com/company/payrails/\",\"https://www.crunchbase.com/organization/payrails\",\"https://www.wikidata.org/wiki/Q137211152\",\"https://x.com/Payrails_com\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.payrails.com#website\",\"name\":\"Payrails Docs\",\"url\":\"https://docs.payrails.com\",\"publisher\":{\"@id\":\"https://www.payrails.com#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.payrails.com/docs/orchestration/checkout-sdks/ios#webpage\",\"url\":\"https://docs.payrails.com/docs/orchestration/checkout-sdks/ios\",\"name\":\"iOS SDK - Quick start\",\"description\":\"Install the Payrails iOS SDK with Swift Package Manager, create a session, and render a working card payment screen.\",\"dateModified\":\"2026-11-05T12:22:34.000Z\",\"isPartOf\":{\"@id\":\"https://docs.payrails.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.payrails.com/docs/orchestration/checkout-sdks/ios#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.payrails.com/docs/orchestration/checkout-sdks/ios#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Payment Orchestration\",\"item\":\"https://docs.payrails.com/docs/orchestration/getting-started\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Payrails Checkout SDKs\",\"item\":\"https://docs.payrails.com/docs/orchestration/checkout-sdks\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"iOS SDK - Quick start\",\"item\":\"https://docs.payrails.com/docs/orchestration/checkout-sdks/ios\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.payrails.com/docs/orchestration/checkout-sdks/ios#article\",\"headline\":\"iOS SDK - Quick start\",\"name\":\"iOS SDK - Quick start\",\"description\":\"Install the Payrails iOS SDK with Swift Package Manager, create a session, and render a working card payment screen.\",\"url\":\"https://docs.payrails.com/docs/orchestration/checkout-sdks/ios\",\"mainEntityOfPage\":{\"@id\":\"https://docs.payrails.com/docs/orchestration/checkout-sdks/ios#webpage\"},\"dateModified\":\"2026-11-05T12:22:34.000Z\",\"publisher\":{\"@id\":\"https://www.payrails.com#organization\"},\"isPartOf\":{\"@id\":\"https://docs.payrails.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Payrails Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Payrails Docs","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Home","pages":[{"title":"Home","href":""}]},{"tab":"Guides","groups":[{"group":"Getting Started","icon":"https://mintlify.s3.us-west-1.amazonaws.com/payrails-42074109/images/icons/nav/rocket_launch.svg","pages":[{"title":"Explore Payrails","href":"/docs/explore-payrails"},{"title":"Connections","href":"/docs/connections"},{"group":"Overview","root":{"title":"Overview","href":"/docs/overview"},"pages":[{"title":"Workflows","href":"/docs/overview/workflows"},{"title":"Checkout","href":"/docs/overview/checkout"},{"title":"Dynamic Routing","href":"/docs/overview/routing"},{"title":"Routing configuration","hidden":true,"href":"/docs/overview/routing-configuration"},{"title":"Payment Options","href":"/docs/overview/payment-options"},{"title":"Token Vault","href":"/docs/overview/vault"}]},{"group":"Set up your Payrails account and environment","root":{"title":"Set up your Payrails account and environment","deprecated":false,"hidden":false,"href":"/docs/account-setup"},"pages":[{"title":"API Credentials","href":"/docs/account-setup/api-credentials"},{"title":"mTLS Configuration","href":"/docs/account-setup/mtls-configuration"},{"group":"User Management","root":{"title":"User Management","href":"/docs/account-setup/user-management"},"pages":[{"title":"Authentication","href":"/docs/account-setup/user-management/authentication"},{"title":"Roles \u0026 Permissions","href":"/docs/account-setup/user-management/roles-permissions"},{"title":"Frequently Asked Questions","href":"/docs/account-setup/user-management/frequently-asked-questions"},{"title":"Single Sign-On","href":"/docs/account-setup/user-management/single-sign-on"}]},{"title":"Organization","href":"/docs/account-setup/organization"},{"title":"Workspaces","href":"/docs/account-setup/workspaces"},{"title":"Idempotent Requests","href":"/docs/account-setup/idempotent-requests"}]}]},{"group":"Payment Orchestration","icon":"https://mintlify.s3.us-west-1.amazonaws.com/payrails-42074109/images/icons/nav/account_tree.svg","pages":[{"title":"Getting Started","href":"/docs/orchestration/getting-started"},{"group":"Meta fields","root":{"title":"Meta fields","href":"/docs/orchestration/meta-fields"},"pages":[{"title":"Order costs","href":"/docs/orchestration/meta-fields/order-costs"}]},{"group":"Payrails Checkout SDKs","root":{"title":"Payrails Checkout SDKs","href":"/docs/orchestration/checkout-sdks"},"pages":[{"group":"Web SDK - Quick Start","root":{"title":"Web SDK - Quick Start","href":"/docs/orchestration/checkout-sdks/web"},"pages":[{"group":"Guides","pages":[{"title":"How to customize the checkout's appearance","href":"/docs/orchestration/checkout-sdks/web/guides/how-to-customize-the-checkouts-appearance"},{"title":"How to accept card payments","href":"/docs/orchestration/checkout-sdks/web/guides/how-to-accept-card-payments"},{"title":"How to collect tax IDs for card payments","sidebarTitle":"How to collect tax IDs","href":"/docs/orchestration/checkout-sdks/web/guides/how-to-collect-tax-ids-for-card-payments"},{"title":"How to add Apple Pay and Google Pay","href":"/docs/orchestration/checkout-sdks/web/guides/how-to-add-apple-pay-and-google-pay"},{"title":"How to accept APMs without a redirect","href":"/docs/orchestration/checkout-sdks/web/guides/how-to-accept-alternative-payment-methods-without-a-redirect"},{"title":"How to collect card data with secure fields","href":"/docs/orchestration/checkout-sdks/web/guides/how-to-collect-card-data-with-secure-fields-collect-container"},{"title":"Using actionRequired event","href":"/docs/orchestration/checkout-sdks/web/guides/action-required-event"}]},{"group":"v6 Migration Guide","pages":[{"title":"v6 Migration Guide for Humans","href":"/docs/orchestration/checkout-sdks/web/v6-migration/v6-migration-guide"},{"title":"Agent Runbook - v6 Migration","href":"/docs/orchestration/checkout-sdks/web/v6-migration/agent-runbook-v6-migration"}]},{"group":"References","pages":[{"title":"Event API Reference","href":"/docs/orchestration/checkout-sdks/web/references/event-api-reference"},{"title":"Appearance API reference","href":"/docs/orchestration/checkout-sdks/web/references/appearance-api-reference"},{"title":"Payrails API Reference","href":"/docs/orchestration/checkout-sdks/web/references/payrails-api-reference"}]}]},{"title":"Payrails Web Fraud SDK","href":"/docs/orchestration/checkout-sdks/payrails-web-fraud-sdk"},{"title":"Accept payments via API","description":"Build your own checkout on the Payrails API, using Secure Fields or client-side encryption to tokenize card data.","href":"/docs/orchestration/checkout-sdks/accept-payments-via-api"},{"group":"iOS SDK - Quick start","root":{"title":"iOS SDK - Quick start","href":"/docs/orchestration/checkout-sdks/ios"},"pages":[{"title":"SDK Concepts","description":"This page explains the mental model behind the Payrails iOS SDK so you can reason about integration decisions confidently.","href":"/docs/orchestration/checkout-sdks/ios/sdk-concepts"},{"title":"SDK API Reference","description":"Reference for the Payrails iOS SDK: installation, the init payload, session creation, card form and button components, and delegates.","href":"/docs/orchestration/checkout-sdks/ios/sdk-api-reference"},{"title":"Styling Guide","description":"Style the iOS SDK card form, inputs, labels, error text, and payment buttons, including field variants and layout presets.","href":"/docs/orchestration/checkout-sdks/ios/styling-guide"},{"title":"Troubleshooting ","description":"Fix common iOS SDK installation, card form, Apple Pay, PayPal, payment, and pre-authorization gate issues, and turn on SDK debug logs.","href":"/docs/orchestration/checkout-sdks/ios/troubleshooting"}]},{"group":"React Native SDK","root":{"title":"React Native SDK","href":"/docs/orchestration/checkout-sdks/react-native"},"pages":[{"title":"How to Integrate","href":"/docs/orchestration/checkout-sdks/react-native/how-to-integrate"},{"title":"SDK Concepts","href":"/docs/orchestration/checkout-sdks/react-native/sdk-concepts"},{"title":"API References","href":"/docs/orchestration/checkout-sdks/react-native/api-references"}]},{"group":"Android SDK - Quick Start","root":{"title":"Android SDK - Quick Start","href":"/docs/orchestration/checkout-sdks/android"},"pages":[{"title":"How to Accept PayPal Payments","href":"/docs/orchestration/checkout-sdks/android/how-to-accept-paypal-payments"},{"title":"How to Accept Redirect Payments","href":"/docs/orchestration/checkout-sdks/android/how-to-accept-redirect-payments"},{"title":"How to Support Co-Branded Cards","href":"/docs/orchestration/checkout-sdks/android/how-to-co-branded-cards"},{"title":"How to Build a Custom Pay Button (Your Own UI)","href":"/docs/orchestration/checkout-sdks/android/how-to-custom-pay-button"},{"title":"How to Run a Payment Without an SDK Button (Headless)","href":"/docs/orchestration/checkout-sdks/android/how-to-execute-payment-headless"},{"title":"How to Gate Payment Authorization","href":"/docs/orchestration/checkout-sdks/android/how-to-gate-payment-authorization"},{"title":"Query Session Data","href":"/docs/orchestration/checkout-sdks/android/how-to-query-session-data-at-runtime"},{"title":"How to Tokenize a Card Without Charging It","href":"/docs/orchestration/checkout-sdks/android/how-to-tokenize-card"},{"title":"SDK API Reference","href":"/docs/orchestration/checkout-sdks/android/api-reference"},{"title":"SDK Concepts","href":"/docs/orchestration/checkout-sdks/android/sdk-concepts"},{"title":"Styling Guide","href":"/docs/orchestration/checkout-sdks/android/styling-guide"},{"title":"Troubleshooting","href":"/docs/orchestration/checkout-sdks/android/troubleshooting"},{"title":"Update Checkout Amount","href":"/docs/orchestration/checkout-sdks/android/update-checkout-amount"}]},{"group":"Web SDK - v5","tag":"Legacy","pages":[{"title":"Secure Fields","href":"/docs/orchestration/checkout-sdks/web-v5-legacy/secure-fields"},{"title":"Elements","href":"/docs/orchestration/checkout-sdks/web-v5-legacy/elements"},{"title":"Drop-in","href":"/docs/orchestration/checkout-sdks/web-v5-legacy/drop-in"},{"title":"SDK Events Glossary","href":"/docs/orchestration/checkout-sdks/web-v5-legacy/sdk-events-glossary"},{"title":"Headless Integration using SDK","href":"/docs/orchestration/checkout-sdks/web-v5-legacy/headless-integration-using-sdk"}]}]},{"group":"Integrations","root":{"title":"Integrations","href":"/docs/orchestration/integrations"},"pages":[{"title":"2C2P","icon":"https://assets.payrails.io/img/logos/2c2p/logo-full-bleed.svg","href":"/docs/orchestration/integrations/2c2p"},{"title":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/orchestration/integrations/adyen"},{"title":"Airwallex","icon":"https://assets.payrails.io/img/logos/airwallex/logo-full-bleed.svg","href":"/docs/orchestration/integrations/airwallex"},{"title":"Amazon","icon":"https://assets.payrails.io/img/logos/amazonpay/logo-full-bleed.svg","href":"/docs/orchestration/integrations/amazon"},{"title":"Amex","icon":"https://assets.payrails.io/img/logos/amex/logo-full-bleed.svg","href":"/docs/orchestration/integrations/amex"},{"title":"Aplazo","icon":"https://assets.payrails.io/img/logos/aplazo/logo-full-bleed.svg","href":"/docs/orchestration/integrations/aplazo"},{"title":"Authorize.net","icon":"https://assets.payrails.io/img/logos/authorizenet/logo-full-bleed.svg","href":"/docs/orchestration/integrations/authorize-net"},{"title":"Boku","icon":"https://assets.payrails.io/img/logos/boku/logo-full-bleed.svg","href":"/docs/orchestration/integrations/boku"},{"title":"Braintree (PayPal)","icon":"https://assets.payrails.io/img/logos/braintree/logo-full-bleed.svg","href":"/docs/orchestration/integrations/braintree"},{"title":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/integrations/checkout-com"},{"title":"Craftgate","icon":"https://assets.payrails.io/img/logos/craftgate/logo-full-bleed.svg","href":"/docs/orchestration/integrations/craftgate"},{"title":"Cybersource","icon":"https://assets.payrails.io/img/logos/cybersource/logo-full-bleed.svg","href":"/docs/orchestration/integrations/cybersource"},{"title":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/integrations/dlocal"},{"title":"Ecommpay","icon":"https://assets.payrails.io/img/logos/ecommpay/logo-full-bleed.svg","href":"/docs/orchestration/integrations/ecommpay"},{"title":"emerchantpay","icon":"https://assets.payrails.io/img/logos/emerchantpay/logo-full-bleed.svg","href":"/docs/orchestration/integrations/emerchantpay"},{"title":"Fawry","icon":"https://assets.payrails.io/img/logos/fawry/logo-full-bleed.svg","href":"/docs/orchestration/integrations/fawry"},{"title":"Flutterwave","icon":"https://assets.payrails.io/img/logos/flutterwave/logo-full-bleed.svg","href":"/docs/orchestration/integrations/flutterwave"},{"title":"Garanti BBVA","icon":"https://assets.payrails.io/img/logos/garantibbva/logo-full-bleed.svg","href":"/docs/orchestration/integrations/garanti-bbva"},{"title":"Getnet","icon":"https://assets.payrails.io/img/logos/getnet/logo-full-bleed.svg","href":"/docs/orchestration/integrations/getnet"},{"title":"HiPay","icon":"https://assets.payrails.io/img/logos/hipay/logo-full-bleed.svg","href":"/docs/orchestration/integrations/hipay"},{"title":"Hobex","icon":"https://assets.payrails.io/img/logos/hobex/logo-full-bleed.svg","href":"/docs/orchestration/integrations/hobex"},{"title":"HyperPay","icon":"https://assets.payrails.io/img/logos/hyperpay/logo-full-bleed.svg","href":"/docs/orchestration/integrations/hyperpay"},{"title":"Klarna","icon":"https://assets.payrails.io/img/logos/klarna/logo-full-bleed.svg","href":"/docs/orchestration/integrations/klarna"},{"title":"Kueski","icon":"https://assets.payrails.io/img/logos/kueski/logo-full-bleed.svg","href":"/docs/orchestration/integrations/kueski"},{"title":"Lean","icon":"https://assets.payrails.io/img/logos/leantech/logo.svg","href":"/docs/orchestration/integrations/lean"},{"title":"Lidio","icon":"https://assets.payrails.io/img/logos/lidio/logo-full-bleed.svg","href":"/docs/orchestration/integrations/lidio"},{"title":"Mastercard Payment Gateway Services","icon":"https://assets.payrails.io/img/logos/mpgs/logo.svg","href":"/docs/orchestration/integrations/mpgs"},{"title":"Mercado Pago","icon":"https://assets.payrails.io/img/logos/mercadopago/logo-full-bleed.svg","href":"/docs/orchestration/integrations/mercado-pago"},{"title":"MobiMoney","hidden":true,"icon":"https://assets.payrails.io/img/logos/mobimoney/logo.svg","href":"/docs/orchestration/integrations/mobimoney"},{"title":"MODO","icon":"https://assets.payrails.io/img/logos/modo/logo-full-bleed.svg","href":"/docs/orchestration/integrations/modo"},{"title":"MyFatoorah","icon":"https://assets.payrails.io/img/logos/myfatoorah/logo-full-bleed.svg","href":"/docs/orchestration/integrations/myfatoorah"},{"title":"Network International","icon":"https://assets.payrails.io/img/logos/networkinternational/logo.svg","href":"/docs/orchestration/integrations/network-international"},{"title":"NMI","icon":"https://assets.payrails.io/img/logos/nmi/logo-full-bleed.svg","href":"/docs/orchestration/integrations/nmi"},{"title":"Noon Payments","icon":"https://assets.payrails.io/img/logos/noonpayments/logo-full-bleed.svg","href":"/docs/orchestration/integrations/noon"},{"title":"Nuvei","icon":"https://assets.payrails.io/img/logos/nuvei/logo-full-bleed.svg","href":"/docs/orchestration/integrations/nuvei"},{"title":"PagaLeve","icon":"https://assets.payrails.io/img/logos/pagaleve/logo-full-bleed.svg","href":"/docs/orchestration/integrations/pagaleve"},{"title":"Payabl.","icon":"https://assets.payrails.io/img/logos/payabl/logo-full-bleed.svg","href":"/docs/orchestration/integrations/payabl"},{"title":"Payflex","icon":"https://assets.payrails.io/img/logos/payflex/logo-full-bleed.svg","href":"/docs/orchestration/integrations/payflex"},{"title":"PayJustNow","icon":"https://assets.payrails.io/img/logos/payjustnow/logo-full-bleed.svg","href":"/docs/orchestration/integrations/payjustnow"},{"title":"Paymob","icon":"https://assets.payrails.io/img/logos/paymob/logo.svg","href":"/docs/orchestration/integrations/paymob"},{"title":"PayPal","icon":"https://assets.payrails.io/img/logos/paypal/logo-full-bleed.svg","href":"/docs/orchestration/integrations/paypal"},{"title":"PayPlug","icon":"https://assets.payrails.io/img/logos/payplug/logo-full-bleed.svg","href":"/docs/orchestration/integrations/payplug"},{"title":"PayU","icon":"https://assets.payrails.io/img/logos/payu/logo-full-bleed.svg","href":"/docs/orchestration/integrations/payu"},{"title":"PayU India","icon":"https://assets.payrails.io/img/logos/payuindia/logo.svg","href":"/docs/orchestration/integrations/payu-india"},{"title":"Payzone","icon":"https://assets.payrails.io/img/logos/payzone/logo-full-bleed.svg","href":"/docs/orchestration/integrations/payzone"},{"title":"Pine Labs","icon":"https://assets.payrails.io/img/logos/pinelabs/logo-full-bleed.svg","href":"/docs/orchestration/integrations/pine-labs"},{"title":"Planet","icon":"https://assets.payrails.io/img/logos/planet/logo-full-bleed.svg","href":"/docs/orchestration/integrations/planet"},{"title":"Platron","hidden":true,"icon":"https://assets.payrails.io/img/logos/platron/logo.svg","href":"/docs/orchestration/integrations/platron"},{"title":"Razer","icon":"https://assets.payrails.io/img/logos/razergold/logo-full-bleed.svg","href":"/docs/orchestration/integrations/razer"},{"title":"Redsys","icon":"https://assets.payrails.io/img/logos/redsys/logo-full-bleed.svg","href":"/docs/orchestration/integrations/redsys"},{"title":"Revolut","icon":"https://assets.payrails.io/img/logos/revolut/logo-full-bleed.svg","href":"/docs/orchestration/integrations/revolut"},{"title":"Solidgate","icon":"https://assets.payrails.io/img/logos/solidgate/logo-full-bleed.svg","href":"/docs/orchestration/integrations/solidgate"},{"title":"Stripe","icon":"https://assets.payrails.io/img/logos/stripe/logo-full-bleed.svg","href":"/docs/orchestration/integrations/stripe"},{"title":"Tabby","icon":"https://assets.payrails.io/img/logos/tabby/logo-full-bleed.svg","href":"/docs/orchestration/integrations/tabby"},{"title":"Tamara","icon":"https://assets.payrails.io/img/logos/tamara/logo-full-bleed.svg","href":"/docs/orchestration/integrations/tamara"},{"title":"Tap","icon":"https://assets.payrails.io/img/logos/tap/logo-full-bleed.svg","href":"/docs/orchestration/integrations/tap"},{"title":"Thunes","icon":"https://assets.payrails.io/img/logos/thunes/logo-full-bleed.svg","href":"/docs/orchestration/integrations/thunes"},{"title":"Transbank","icon":"https://assets.payrails.io/img/logos/transbank/logo-full-bleed.svg","href":"/docs/orchestration/integrations/transbank"},{"title":"Unlimit","icon":"https://assets.payrails.io/img/logos/unlimit/logo-full-bleed.svg","href":"/docs/orchestration/integrations/unlimit"},{"title":"Unzer","icon":"https://assets.payrails.io/img/logos/unzer/logo-full-bleed.svg","href":"/docs/orchestration/integrations/unzer"},{"title":"Worldpay","icon":"https://assets.payrails.io/img/logos/worldpay/logo-full-bleed.svg","href":"/docs/orchestration/integrations/worldpay"}]},{"group":"Payment Methods","pages":[{"title":"All supported methods","href":"/docs/orchestration/payment-methods"},{"title":"Set up payment methods","href":"/docs/orchestration/payment-methods/set-up-payment-methods"},{"group":"Cards","icon":"https://assets.payrails.io/img/logos/card/card-logo.svg","root":{"title":"Cards","href":"/docs/orchestration/payment-methods/cards"},"pages":[{"title":"Co-branded cards","icon":"https://mintlify.s3.us-west-1.amazonaws.com/payrails-42074109/images/icons/nav/credit_card.svg","href":"/docs/orchestration/payment-methods/cards/co-branded-cards"}]},{"group":"1Voucher","icon":"https://assets.payrails.io/img/logos/1voucher/logo-full-bleed.svg","root":{"title":"1Voucher","href":"/docs/orchestration/payment-methods/1voucher"},"pages":[{"title":"1Voucher via Flutterwave","sidebarTitle":"Flutterwave","icon":"https://assets.payrails.io/img/logos/flutterwave/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/1voucher/flutterwave"}]},{"group":"Alfa (Bank Alfalah)","icon":"https://assets.payrails.io/img/logos/alfa/logo-full-bleed.svg","root":{"title":"Alfa (Bank Alfalah)","href":"/docs/orchestration/payment-methods/bank-alfalah"},"pages":[{"title":"Alfa via Thunes","sidebarTitle":"Thunes","icon":"https://assets.payrails.io/img/logos/thunes/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/bank-alfalah/thunes"}]},{"group":"Alipay","icon":"https://assets.payrails.io/img/logos/alipay/logo-full-bleed.svg","root":{"title":"Alipay","href":"/docs/orchestration/payment-methods/alipay"},"pages":[{"title":"Alipay via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/alipay/checkout-com"},{"title":"Alipay via Nuvei","sidebarTitle":"Nuvei","icon":"https://assets.payrails.io/img/logos/nuvei/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/alipay/nuvei"},{"title":"Alipay via Stripe","sidebarTitle":"Stripe","icon":"https://assets.payrails.io/img/logos/stripe/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/alipay/stripe"},{"title":"Alipay via Worldpay","sidebarTitle":"Worldpay","icon":"https://assets.payrails.io/img/logos/worldpay/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/alipay/worldpay"}]},{"group":"Amazon Pay","icon":"https://assets.payrails.io/img/logos/amazonpay/logo-full-bleed.svg","root":{"title":"Amazon Pay","href":"/docs/orchestration/payment-methods/amazon-pay"},"pages":[{"title":"Amazon Pay via Stripe","sidebarTitle":"Stripe","icon":"https://assets.payrails.io/img/logos/stripe/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/amazon-pay/stripe"}]},{"group":"Apple Pay","icon":"https://assets.payrails.io/img/logos/applepay/logo.svg","root":{"title":"Apple Pay","href":"/docs/orchestration/payment-methods/apple-pay"},"pages":[{"title":"Apple Pay Express","icon":"https://mintlify.s3.us-west-1.amazonaws.com/payrails-42074109/images/icons/nav/bolt.svg","href":"/docs/orchestration/payment-methods/apple-pay/apple-pay-express"}]},{"group":"Atome","icon":"https://assets.payrails.io/img/logos/atome/logo-full-bleed.svg","root":{"title":"Atome","href":"/docs/orchestration/payment-methods/atome"},"pages":[{"title":"Atome via Adyen","sidebarTitle":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/atome/adyen"}]},{"group":"Bancontact","icon":"https://assets.payrails.io/img/logos/bancontact/logo.svg","root":{"title":"Bancontact","href":"/docs/orchestration/payment-methods/bancontact"},"pages":[{"title":"Bancontact via Adyen","sidebarTitle":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/bancontact/adyen"},{"title":"Bancontact via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/bancontact/checkout-com"},{"title":"Bancontact via Nuvei","sidebarTitle":"Nuvei","icon":"https://assets.payrails.io/img/logos/nuvei/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/bancontact/nuvei"},{"title":"Bancontact via Stripe","sidebarTitle":"Stripe","icon":"https://assets.payrails.io/img/logos/stripe/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/bancontact/stripe"},{"title":"Bancontact via Worldpay","sidebarTitle":"Worldpay","icon":"https://assets.payrails.io/img/logos/worldpay/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/bancontact/worldpay"}]},{"group":"Bank Transfers","icon":"https://assets.payrails.io/img/logos/banktransfer/logo.svg","root":{"title":"Bank Transfers","href":"/docs/orchestration/payment-methods/bank-transfers"},"pages":[{"title":"Bank Transfers via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/bank-transfers/dlocal"},{"title":"Bank Transfers via Flutterwave","sidebarTitle":"Flutterwave","icon":"https://assets.payrails.io/img/logos/flutterwave/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/bank-transfers/flutterwave"}]},{"group":"BCP","icon":"https://assets.payrails.io/img/logos/bcp/logo-full-bleed.svg","root":{"title":"BCP","href":"/docs/orchestration/payment-methods/bcp"},"pages":[{"title":"BCP via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/bcp/dlocal"}]},{"group":"Benefit","icon":"https://assets.payrails.io/img/logos/benefit/logo.svg","root":{"title":"Benefit","href":"/docs/orchestration/payment-methods/benefit"},"pages":[{"title":"Benefit via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/benefit/checkout-com"}]},{"group":"Bizum","icon":"https://assets.payrails.io/img/logos/bizum/logo-full-bleed.svg","root":{"title":"Bizum","href":"/docs/orchestration/payment-methods/bizum"},"pages":[{"title":"Bizum via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/bizum/checkout-com"},{"title":"Bizum via Redsys","sidebarTitle":"Redsys","icon":"https://assets.payrails.io/img/logos/redsys/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/bizum/redsys"}]},{"group":"BLIK","icon":"https://assets.payrails.io/img/logos/blik/logo-full-bleed.svg","root":{"title":"BLIK","href":"/docs/orchestration/payment-methods/blik"},"pages":[{"title":"BLIK via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/blik/checkout-com"},{"title":"BLIK via Stripe","sidebarTitle":"Stripe","icon":"https://assets.payrails.io/img/logos/stripe/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/blik/stripe"}]},{"group":"Boleto","icon":"https://assets.payrails.io/img/logos/boleto/logo-full-bleed.svg","root":{"title":"Boleto","href":"/docs/orchestration/payment-methods/boleto"},"pages":[{"title":"Boleto via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/boleto/dlocal"}]},{"group":"Capitec Pay","icon":"https://assets.payrails.io/img/logos/capitecpay/logo.svg","root":{"title":"Capitec Pay","href":"/docs/orchestration/payment-methods/capitec-pay"},"pages":[{"title":"Capitec Pay via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/capitec-pay/dlocal"}]},{"group":"CashFree Wallets","icon":"https://assets.payrails.io/img/logos/cashfreewallet/logo-full-bleed.svg","root":{"title":"CashFree Wallets","href":"/docs/orchestration/payment-methods/cashfree-wallets"},"pages":[{"title":"CashFree Wallets via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/cashfree-wallets/dlocal"},{"title":"CashFree Wallets via Pine Labs","sidebarTitle":"Pine Labs","icon":"https://assets.payrails.io/img/logos/pinelabs/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/cashfree-wallets/pinelabs"}]},{"group":"DANA","icon":"https://assets.payrails.io/img/logos/dana/logo-full-bleed.svg","root":{"title":"DANA","href":"/docs/orchestration/payment-methods/dana"},"pages":[{"title":"DANA via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/dana/checkout-com"}]},{"group":"Direct Carrier Billing","icon":"https://assets.payrails.io/img/logos/dcb/logo.svg","root":{"title":"Direct Carrier Billing","href":"/docs/orchestration/payment-methods/direct-carrier-billing"},"pages":[{"title":"Direct Carrier Billing via Boku","sidebarTitle":"Boku","icon":"https://assets.payrails.io/img/logos/boku/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/direct-carrier-billing/boku"}]},{"group":"DuitNow QR","icon":"https://assets.payrails.io/img/logos/duitnowqr/logo-full-bleed.svg","root":{"title":"DuitNow QR","href":"/docs/orchestration/payment-methods/duitnow-qr"},"pages":[{"title":"DuitNow QR via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/duitnow-qr/dlocal"}]},{"group":"EasyPaisa","icon":"https://assets.payrails.io/img/logos/easypaisa/logo.svg","root":{"title":"EasyPaisa","href":"/docs/orchestration/payment-methods/easypaisa"},"pages":[{"title":"EasyPaisa via Boku","sidebarTitle":"Boku","icon":"https://assets.payrails.io/img/logos/boku/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/easypaisa/boku"},{"title":"EasyPaisa via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/easypaisa/dlocal"},{"title":"EasyPaisa via Thunes","sidebarTitle":"Thunes","icon":"https://assets.payrails.io/img/logos/thunes/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/easypaisa/thunes"}]},{"group":"EFT Pro","icon":"https://assets.payrails.io/img/logos/eftpro/logo-full-bleed.svg","root":{"title":"EFT Pro","href":"/docs/orchestration/payment-methods/eft-pro"},"pages":[{"title":"EFT Pro via PayU","sidebarTitle":"PayU","icon":"https://assets.payrails.io/img/logos/payu/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/eft-pro/payu"}]},{"group":"Egyptian mobile wallets","icon":"https://assets.payrails.io/img/logos/vodafonecash/logo-full-bleed.svg","root":{"title":"Egyptian mobile wallets","href":"/docs/orchestration/payment-methods/egypt-mobile-wallets"},"pages":[{"title":"Egyptian mobile wallets via Boku","sidebarTitle":"Boku","icon":"https://assets.payrails.io/img/logos/boku/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/egypt-mobile-wallets/boku"}]},{"group":"EPS","icon":"https://assets.payrails.io/img/logos/eps/logo.svg","root":{"title":"EPS","href":"/docs/orchestration/payment-methods/eps"},"pages":[{"title":"EPS via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/eps/checkout-com"}]},{"group":"FawryPay","icon":"https://assets.payrails.io/img/logos/fawrypay/logo.svg","root":{"title":"FawryPay","href":"/docs/orchestration/payment-methods/fawrypay"},"pages":[{"title":"FawryPay via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/fawrypay/dlocal"},{"title":"FawryPay via Fawry","sidebarTitle":"Fawry","icon":"https://assets.payrails.io/img/logos/fawry/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/fawrypay/fawry"},{"title":"FawryPay via Flutterwave","sidebarTitle":"Flutterwave","icon":"https://assets.payrails.io/img/logos/flutterwave/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/fawrypay/flutterwave"}]},{"group":"FPX","icon":"https://assets.payrails.io/img/logos/fpx/logo-full-bleed.svg","root":{"title":"FPX","href":"/docs/orchestration/payment-methods/fpx"},"pages":[{"title":"FPX via Adyen","sidebarTitle":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/fpx/adyen"}]},{"group":"GCash","icon":"https://assets.payrails.io/img/logos/gcash/logo.svg","root":{"title":"GCash","href":"/docs/orchestration/payment-methods/gcash"},"pages":[{"title":"GCash via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/gcash/checkout-com"},{"title":"GCash via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/gcash/dlocal"}]},{"group":"Google Pay","icon":"https://assets.payrails.io/img/logos/googlepay/logo.svg","root":{"title":"Google Pay","href":"/docs/orchestration/payment-methods/google-pay"},"pages":[]},{"group":"GrabPay","icon":"https://assets.payrails.io/img/logos/grabpay/logo-full-bleed.svg","root":{"title":"GrabPay","href":"/docs/orchestration/payment-methods/grabpay"},"pages":[{"title":"GrabPay via Adyen","sidebarTitle":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/grabpay/adyen"},{"title":"GrabPay via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/grabpay/dlocal"}]},{"group":"iDEAL","icon":"https://assets.payrails.io/img/logos/ideal/logo-full-bleed.svg","root":{"title":"iDEAL","href":"/docs/orchestration/payment-methods/ideal"},"pages":[{"title":"iDEAL via Adyen","sidebarTitle":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/ideal/adyen"},{"title":"iDEAL via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/ideal/checkout-com"},{"title":"iDEAL via Nuvei","sidebarTitle":"Nuvei","icon":"https://assets.payrails.io/img/logos/nuvei/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/ideal/nuvei"},{"title":"iDEAL via Stripe","sidebarTitle":"Stripe","icon":"https://assets.payrails.io/img/logos/stripe/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/ideal/stripe"},{"title":"iDEAL via Worldpay","sidebarTitle":"Worldpay","icon":"https://assets.payrails.io/img/logos/worldpay/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/ideal/worldpay"}]},{"group":"JazzCash","icon":"https://assets.payrails.io/img/logos/jazzcash/logo.svg","root":{"title":"JazzCash","href":"/docs/orchestration/payment-methods/jazzcash"},"pages":[{"title":"JazzCash via Boku","sidebarTitle":"Boku","icon":"https://assets.payrails.io/img/logos/boku/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/jazzcash/boku"},{"title":"JazzCash via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/jazzcash/dlocal"},{"title":"JazzCash via Thunes","sidebarTitle":"Thunes","icon":"https://assets.payrails.io/img/logos/thunes/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/jazzcash/thunes"}]},{"group":"KakaoPay","icon":"https://assets.payrails.io/img/logos/kakaopay/logo-full-bleed.svg","root":{"title":"KakaoPay","href":"/docs/orchestration/payment-methods/kakaopay"},"pages":[{"title":"KakaoPay via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/kakaopay/checkout-com"}]},{"group":"Khipu","icon":"https://assets.payrails.io/img/logos/khipu/logo-full-bleed.svg","root":{"title":"Khipu","href":"/docs/orchestration/payment-methods/khipu"},"pages":[{"title":"Khipu via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/khipu/dlocal"}]},{"group":"Kiosk","icon":"https://assets.payrails.io/img/logos/kiosk/logo.svg","root":{"title":"Kiosk","href":"/docs/orchestration/payment-methods/kiosk"},"pages":[{"title":"Kiosk via Paymob","sidebarTitle":"Paymob","icon":"https://assets.payrails.io/img/logos/paymob/logo.svg","href":"/docs/orchestration/payment-methods/kiosk/paymob"}]},{"group":"Klarna","icon":"https://assets.payrails.io/img/logos/klarna/logo-full-bleed.svg","root":{"title":"Klarna","href":"/docs/orchestration/payment-methods/klarna"},"pages":[{"title":"Klarna via Adyen","sidebarTitle":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/klarna/adyen"},{"title":"Klarna via the direct Klarna connection","sidebarTitle":"Klarna","icon":"https://assets.payrails.io/img/logos/klarna/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/klarna/klarna"},{"title":"Klarna via Stripe","sidebarTitle":"Stripe","icon":"https://assets.payrails.io/img/logos/stripe/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/klarna/stripe"}]},{"group":"KNET","icon":"https://assets.payrails.io/img/logos/knet/logo.svg","root":{"title":"KNET","href":"/docs/orchestration/payment-methods/knet"},"pages":[{"title":"KNET via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/knet/checkout-com"}]},{"group":"Konbini","icon":"https://assets.payrails.io/img/logos/konbini/logo.svg","root":{"title":"Konbini","href":"/docs/orchestration/payment-methods/konbini"},"pages":[{"title":"Konbini via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/konbini/dlocal"},{"title":"Konbini via Worldpay","sidebarTitle":"Worldpay","icon":"https://assets.payrails.io/img/logos/worldpay/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/konbini/worldpay"}]},{"group":"Konnect","icon":"https://assets.payrails.io/img/logos/konnect/logo.png","root":{"title":"Konnect","href":"/docs/orchestration/payment-methods/konnect"},"pages":[{"title":"Konnect via Thunes","sidebarTitle":"Thunes","icon":"https://assets.payrails.io/img/logos/thunes/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/konnect/thunes"}]},{"group":"Korean Local Cards","icon":"https://assets.payrails.io/img/logos/card/card-logo.svg","root":{"title":"Korean Local Cards","href":"/docs/orchestration/payment-methods/korean-local-cards"},"pages":[{"title":"Korean Local Cards via Stripe","sidebarTitle":"Stripe","icon":"https://assets.payrails.io/img/logos/stripe/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/korean-local-cards/stripe"}]},{"group":"Maya","icon":"https://assets.payrails.io/img/logos/maya/logo-full-bleed.svg","root":{"title":"Maya","href":"/docs/orchestration/payment-methods/maya"},"pages":[{"title":"Maya via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/maya/dlocal"}]},{"group":"MB WAY","icon":"https://assets.payrails.io/img/logos/mbway/logo.svg","root":{"title":"MB WAY","href":"/docs/orchestration/payment-methods/mb-way"},"pages":[{"title":"MB WAY via Adyen","sidebarTitle":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/mb-way/adyen"},{"title":"MB WAY via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/mb-way/checkout-com"},{"title":"MB WAY via Stripe","sidebarTitle":"Stripe","icon":"https://assets.payrails.io/img/logos/stripe/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/mb-way/stripe"}]},{"group":"Meeza Wallet","icon":"https://assets.payrails.io/img/logos/meezawallet/logo.svg","root":{"title":"Meeza Wallet","href":"/docs/orchestration/payment-methods/meeza-wallet"},"pages":[{"title":"Meeza Wallet via Paymob","sidebarTitle":"Paymob","icon":"https://assets.payrails.io/img/logos/paymob/logo.svg","href":"/docs/orchestration/payment-methods/meeza-wallet/paymob"}]},{"group":"Mercado Pago","icon":"https://assets.payrails.io/img/logos/mercadopago/logo-full-bleed.svg","root":{"title":"Mercado Pago","href":"/docs/orchestration/payment-methods/mercadopago"},"pages":[{"title":"Mercado Pago Checkout Pro","sidebarTitle":"Mercado Pago","icon":"https://assets.payrails.io/img/logos/mercadopago/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/mercadopago/mercadopago"}]},{"group":"MobilePay","icon":"https://assets.payrails.io/img/logos/mobilepay/logo-full-bleed.svg","root":{"title":"MobilePay","href":"/docs/orchestration/payment-methods/mobilepay"},"pages":[{"title":"MobilePay via Stripe","sidebarTitle":"Stripe","icon":"https://assets.payrails.io/img/logos/stripe/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/mobilepay/stripe"}]},{"group":"MoMo","icon":"https://assets.payrails.io/img/logos/momo/logo-full-bleed.svg","root":{"title":"MoMo","href":"/docs/orchestration/payment-methods/momo"},"pages":[{"title":"MoMo via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/momo/dlocal"}]},{"group":"Mono","icon":"https://assets.payrails.io/img/logos/monodirectdebit/logo-full-bleed.svg","root":{"title":"Mono","href":"/docs/orchestration/payment-methods/mono"},"pages":[{"title":"Mono via Flutterwave","sidebarTitle":"Flutterwave","icon":"https://assets.payrails.io/img/logos/flutterwave/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/mono/flutterwave"}]},{"group":"Multibanco","icon":"https://assets.payrails.io/img/logos/multibanco/logo.svg","root":{"title":"Multibanco","href":"/docs/orchestration/payment-methods/multibanco"},"pages":[{"title":"Multibanco via Stripe","sidebarTitle":"Stripe","icon":"https://assets.payrails.io/img/logos/stripe/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/multibanco/stripe"},{"title":"Multibanco via Worldpay","sidebarTitle":"Worldpay","icon":"https://assets.payrails.io/img/logos/worldpay/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/multibanco/worldpay"}]},{"group":"Napas","icon":"https://assets.payrails.io/img/logos/napas/logo-full-bleed.svg","root":{"title":"Napas","href":"/docs/orchestration/payment-methods/napas"},"pages":[{"title":"Napas via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/napas/dlocal"}]},{"group":"Nequi","icon":"https://assets.payrails.io/img/logos/nequi/logo-full-bleed.svg","root":{"title":"Nequi","href":"/docs/orchestration/payment-methods/nequi"},"pages":[{"title":"Nequi via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/nequi/dlocal"}]},{"group":"NetBanking","icon":"https://assets.payrails.io/img/logos/netbanking/logo.svg","root":{"title":"NetBanking","href":"/docs/orchestration/payment-methods/netbanking"},"pages":[{"title":"NetBanking via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/netbanking/dlocal"},{"title":"NetBanking via Pine Labs","sidebarTitle":"Pine Labs","icon":"https://assets.payrails.io/img/logos/pinelabs/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/netbanking/pinelabs"}]},{"group":"Nigeria Inter-Bank Settlement System (NIBSS)","icon":"https://assets.payrails.io/img/logos/nibsspay/logo-full-bleed.svg","root":{"title":"Nigeria Inter-Bank Settlement System (NIBSS)","sidebarTitle":"NIBSS","href":"/docs/orchestration/payment-methods/nibss"},"pages":[{"title":"NIBSS via Boku","sidebarTitle":"Boku","icon":"https://assets.payrails.io/img/logos/boku/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/nibss/boku"}]},{"group":"OmanNet","icon":"https://assets.payrails.io/img/logos/omannet/logo-full-bleed.svg","root":{"title":"OmanNet","href":"/docs/orchestration/payment-methods/omannet"},"pages":[{"title":"OmanNet via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/omannet/checkout-com"}]},{"group":"Opay","icon":"https://assets.payrails.io/img/logos/opaywallet/logo.svg","root":{"title":"Opay","href":"/docs/orchestration/payment-methods/opay"},"pages":[{"title":"Opay via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/opay/dlocal"},{"title":"Opay via Flutterwave","sidebarTitle":"Flutterwave","icon":"https://assets.payrails.io/img/logos/flutterwave/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/opay/flutterwave"}]},{"group":"OVO","icon":"https://assets.payrails.io/img/logos/ovo/logo-full-bleed.svg","root":{"title":"OVO","href":"/docs/orchestration/payment-methods/ovo"},"pages":[{"title":"OVO via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/ovo/dlocal"}]},{"group":"OXXO","icon":"https://assets.payrails.io/img/logos/oxxo/logo.svg","root":{"title":"OXXO","href":"/docs/orchestration/payment-methods/oxxo"},"pages":[{"title":"OXXO via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/oxxo/dlocal"}]},{"group":"Paga Wallet","icon":"https://assets.payrails.io/img/logos/pagawallet/logo.svg","root":{"title":"Paga Wallet","href":"/docs/orchestration/payment-methods/paga-wallet"},"pages":[{"title":"Paga Wallet via Boku","sidebarTitle":"Boku","icon":"https://assets.payrails.io/img/logos/boku/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/paga-wallet/boku"}]},{"group":"PagoEfectivo","icon":"https://assets.payrails.io/img/logos/pagoefectivo/logo.svg","root":{"title":"PagoEfectivo","href":"/docs/orchestration/payment-methods/pagoefectivo"},"pages":[{"title":"PagoEfectivo via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/pagoefectivo/dlocal"},{"title":"PagoEfectivo via Mercado Pago","sidebarTitle":"Mercado Pago","icon":"https://assets.payrails.io/img/logos/mercadopago/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/pagoefectivo/mercadopago"}]},{"group":"PAYCO","icon":"https://assets.payrails.io/img/logos/payco/logo-full-bleed.svg","root":{"title":"PAYCO","href":"/docs/orchestration/payment-methods/payco"},"pages":[{"title":"PAYCO via Stripe","sidebarTitle":"Stripe","icon":"https://assets.payrails.io/img/logos/stripe/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/payco/stripe"}]},{"group":"Payflex","icon":"https://assets.payrails.io/img/logos/payflex/logo-full-bleed.svg","root":{"title":"Payflex","href":"/docs/orchestration/payment-methods/payflex"},"pages":[{"title":"Payflex via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/payflex/dlocal"},{"title":"Payflex direct integration","sidebarTitle":"Payflex","icon":"https://assets.payrails.io/img/logos/payflex/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/payflex/payflex"}]},{"group":"PayJustNow","icon":"https://assets.payrails.io/img/logos/payjustnow/logo-full-bleed.svg","root":{"title":"PayJustNow","href":"/docs/orchestration/payment-methods/payjustnow"},"pages":[{"title":"PayJustNow hosted checkout","sidebarTitle":"PayJustNow","icon":"https://assets.payrails.io/img/logos/payjustnow/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/payjustnow/payjustnow"}]},{"group":"PayNow","icon":"https://assets.payrails.io/img/logos/paynow/logo-full-bleed.svg","root":{"title":"PayNow","href":"/docs/orchestration/payment-methods/paynow"},"pages":[{"title":"PayNow via Adyen","sidebarTitle":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/paynow/adyen"}]},{"group":"PayPal","icon":"https://assets.payrails.io/img/logos/paypal/logo-full-bleed.svg","root":{"title":"PayPal","href":"/docs/orchestration/payment-methods/paypal"},"pages":[{"title":"PayPal via Braintree","sidebarTitle":"Braintree","icon":"https://assets.payrails.io/img/logos/braintree/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/paypal/braintree"},{"title":"PayPal Express Flow","icon":"https://mintlify.s3.us-west-1.amazonaws.com/payrails-42074109/images/icons/nav/bolt.svg","href":"/docs/orchestration/payment-methods/paypal/paypal-express-flow"}]},{"group":"Paytm","icon":"https://assets.payrails.io/img/logos/paytm/logo.svg","root":{"title":"Paytm","href":"/docs/orchestration/payment-methods/paytm"},"pages":[{"title":"Paytm via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/paytm/dlocal"}]},{"group":"Payzone Cash","icon":"https://assets.payrails.io/img/logos/payzonecash/logo-full-bleed.svg","root":{"title":"Payzone Cash","href":"/docs/orchestration/payment-methods/payzone-cash"},"pages":[{"title":"Payzone Cash via Payzone","sidebarTitle":"Payzone","icon":"https://assets.payrails.io/img/logos/payzone/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/payzone-cash/payzone"}]},{"group":"PhonePe","icon":"https://assets.payrails.io/img/logos/phonepe/logo-full-bleed.svg","root":{"title":"PhonePe","href":"/docs/orchestration/payment-methods/phonepe"},"pages":[{"title":"PhonePe via Unlimit","sidebarTitle":"Unlimit","icon":"https://assets.payrails.io/img/logos/unlimit/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/phonepe/unlimit"}]},{"group":"PicPay","icon":"https://assets.payrails.io/img/logos/picpay/logo-full-bleed.svg","root":{"title":"PicPay","href":"/docs/orchestration/payment-methods/picpay"},"pages":[{"title":"PicPay via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/picpay/dlocal"}]},{"group":"Pix","icon":"https://assets.payrails.io/img/logos/pix/logo.svg","root":{"title":"Pix","href":"/docs/orchestration/payment-methods/pix"},"pages":[{"title":"Pix via Adyen","sidebarTitle":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/pix/adyen"},{"title":"Pix via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/pix/dlocal"}]},{"group":"Pix Automático","icon":"https://assets.payrails.io/img/logos/pixautomatico/logo.svg","root":{"title":"Pix Automático","href":"/docs/orchestration/payment-methods/pix-automatico"},"pages":[{"title":"Pix Automático via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/pix-automatico/dlocal"}]},{"group":"PromptPay","icon":"https://assets.payrails.io/img/logos/promptpay/logo.svg","root":{"title":"PromptPay","href":"/docs/orchestration/payment-methods/promptpay"},"pages":[{"title":"PromptPay via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/promptpay/dlocal"}]},{"group":"Przelewy24","icon":"https://assets.payrails.io/img/logos/przelewy24/logo.svg","root":{"title":"Przelewy24","href":"/docs/orchestration/payment-methods/przelewy24"},"pages":[{"title":"Przelewy24 via Adyen","sidebarTitle":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/przelewy24/adyen"},{"title":"Przelewy24 via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/przelewy24/checkout-com"},{"title":"Przelewy24 via Worldpay","sidebarTitle":"Worldpay","icon":"https://assets.payrails.io/img/logos/worldpay/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/przelewy24/worldpay"}]},{"group":"PSE","icon":"https://assets.payrails.io/img/logos/pse/logo.svg","root":{"title":"PSE","href":"/docs/orchestration/payment-methods/pse"},"pages":[{"title":"PSE via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/pse/dlocal"}]},{"group":"QPay","icon":"https://assets.payrails.io/img/logos/qpay/logo.svg","root":{"title":"QPay","href":"/docs/orchestration/payment-methods/qpay"},"pages":[{"title":"QPay via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/qpay/checkout-com"}]},{"group":"QRIS","icon":"https://assets.payrails.io/img/logos/qris/logo-full-bleed.svg","root":{"title":"QRIS","href":"/docs/orchestration/payment-methods/qris"},"pages":[{"title":"QRIS via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/qris/dlocal"}]},{"group":"Razer Gold","icon":"https://assets.payrails.io/img/logos/razergold/logo-full-bleed.svg","root":{"title":"Razer Gold","href":"/docs/orchestration/payment-methods/razer-gold"},"pages":[{"title":"Razer Gold via Razer","sidebarTitle":"Razer","icon":"https://assets.payrails.io/img/logos/razergold/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/razer-gold/razer"}]},{"group":"SafetyPay","icon":"https://assets.payrails.io/img/logos/safetypay/logo-full-bleed.svg","root":{"title":"SafetyPay","href":"/docs/orchestration/payment-methods/safetypay"},"pages":[{"title":"SafetyPay via Worldpay","sidebarTitle":"Worldpay","icon":"https://assets.payrails.io/img/logos/worldpay/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/safetypay/worldpay"}]},{"group":"Scalapay","icon":"https://assets.payrails.io/img/logos/scalapay/logo-full-bleed.svg","root":{"title":"Scalapay","href":"/docs/orchestration/payment-methods/scalapay"},"pages":[{"title":"Scalapay via Adyen","sidebarTitle":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/scalapay/adyen"}]},{"group":"SEPA Direct Debit","icon":"https://assets.payrails.io/img/logos/sepadirectdebit/logo.svg","root":{"title":"SEPA Direct Debit","href":"/docs/orchestration/payment-methods/sepa-direct-debit"},"pages":[{"title":"SEPA Direct Debit via Stripe","sidebarTitle":"Stripe","icon":"https://assets.payrails.io/img/logos/stripe/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/sepa-direct-debit/stripe"}]},{"group":"ShopeePay","icon":"https://assets.payrails.io/img/logos/shopeepay/logo-full-bleed.svg","root":{"title":"ShopeePay","href":"/docs/orchestration/payment-methods/shopeepay"},"pages":[{"title":"ShopeePay via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/shopeepay/dlocal"}]},{"group":"SmartPix","icon":"https://assets.payrails.io/img/logos/pix/logo.svg","root":{"title":"SmartPix","href":"/docs/orchestration/payment-methods/smart-pix"},"pages":[{"title":"SmartPix via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/smart-pix/dlocal"}]},{"group":"SPEI","icon":"https://assets.payrails.io/img/logos/spei/logo.svg","root":{"title":"SPEI","href":"/docs/orchestration/payment-methods/spei"},"pages":[{"title":"SPEI via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/spei/dlocal"}]},{"group":"STC Pay","icon":"https://assets.payrails.io/img/logos/stcpay/logo.svg","root":{"title":"STC Pay","href":"/docs/orchestration/payment-methods/stc-pay"},"pages":[{"title":"STC Pay via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/stc-pay/checkout-com"}]},{"group":"Swish","icon":"https://assets.payrails.io/img/logos/swish/logo.svg","root":{"title":"Swish","href":"/docs/orchestration/payment-methods/swish"},"pages":[{"title":"Swish via Adyen","sidebarTitle":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/swish/adyen"}]},{"group":"Touch 'n Go","icon":"https://assets.payrails.io/img/logos/touchngo/logo-full-bleed.svg","root":{"title":"Touch 'n Go","href":"/docs/orchestration/payment-methods/touch-n-go"},"pages":[{"title":"Touch 'n Go via Adyen","sidebarTitle":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/touch-n-go/adyen"},{"title":"Touch 'n Go via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/touch-n-go/checkout-com"},{"title":"Touch 'n Go via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/touch-n-go/dlocal"}]},{"group":"TrueMoney","icon":"https://assets.payrails.io/img/logos/truemoney/logo.svg","root":{"title":"TrueMoney","href":"/docs/orchestration/payment-methods/truemoney"},"pages":[{"title":"TrueMoney via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/truemoney/checkout-com"},{"title":"TrueMoney via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/truemoney/dlocal"}]},{"group":"Trustly","icon":"https://assets.payrails.io/img/logos/trustly/logo-full-bleed.svg","root":{"title":"Trustly","href":"/docs/orchestration/payment-methods/trustly"},"pages":[{"title":"Trustly via Worldpay","sidebarTitle":"Worldpay","icon":"https://assets.payrails.io/img/logos/worldpay/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/trustly/worldpay"}]},{"group":"TWINT","icon":"https://assets.payrails.io/img/logos/twint/logo.svg","root":{"title":"TWINT","href":"/docs/orchestration/payment-methods/twint"},"pages":[{"title":"TWINT via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/twint/checkout-com"}]},{"group":"UnionPay","icon":"https://assets.payrails.io/img/logos/unionpay/logo.svg","root":{"title":"UnionPay","href":"/docs/orchestration/payment-methods/unionpay"},"pages":[{"title":"UnionPay via Worldpay","sidebarTitle":"Worldpay","icon":"https://assets.payrails.io/img/logos/worldpay/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/unionpay/worldpay"}]},{"group":"UPI","icon":"https://assets.payrails.io/img/logos/upi/logo.svg","root":{"title":"UPI","href":"/docs/orchestration/payment-methods/upi"},"pages":[{"title":"UPI via Adyen","sidebarTitle":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/upi/adyen"},{"title":"UPI via Boku","sidebarTitle":"Boku","icon":"https://assets.payrails.io/img/logos/boku/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/upi/boku"},{"title":"UPI via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/upi/dlocal"},{"title":"UPI via PayU India","sidebarTitle":"PayU India","icon":"https://assets.payrails.io/img/logos/payuindia/logo.svg","href":"/docs/orchestration/payment-methods/upi/payuindia"},{"title":"UPI via Pine Labs","sidebarTitle":"Pine Labs","icon":"https://assets.payrails.io/img/logos/pinelabs/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/upi/pinelabs"},{"title":"UPI via Unlimit","sidebarTitle":"Unlimit","icon":"https://assets.payrails.io/img/logos/unlimit/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/upi/unlimit"}]},{"group":"Venmo","icon":"https://assets.payrails.io/img/logos/venmo/logo-full-bleed.svg","root":{"title":"Venmo","href":"/docs/orchestration/payment-methods/venmo"},"pages":[{"title":"Venmo via Braintree","sidebarTitle":"Braintree","icon":"https://assets.payrails.io/img/logos/braintree/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/venmo/braintree"}]},{"group":"VietQR","icon":"https://assets.payrails.io/img/logos/vietqr/logo.svg","root":{"title":"VietQR","href":"/docs/orchestration/payment-methods/vietqr"},"pages":[{"title":"VietQR via 2C2P","sidebarTitle":"2C2P","icon":"https://assets.payrails.io/img/logos/2c2p/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/vietqr/2c2p"},{"title":"VietQR via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/vietqr/dlocal"}]},{"group":"WafaCash","icon":"https://assets.payrails.io/img/logos/wafacashwallet/logo-full-bleed.svg","root":{"title":"WafaCash","href":"/docs/orchestration/payment-methods/wafacash"},"pages":[{"title":"WafaCash via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/wafacash/dlocal"}]},{"group":"WebPay","icon":"https://assets.payrails.io/img/logos/webpay/logo.svg","root":{"title":"WebPay","href":"/docs/orchestration/payment-methods/webpay"},"pages":[{"title":"WebPay via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/webpay/dlocal"},{"title":"WebPay via Transbank","sidebarTitle":"Transbank","icon":"https://assets.payrails.io/img/logos/transbank/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/webpay/transbank"}]},{"group":"WeChat Pay","icon":"https://assets.payrails.io/img/logos/wechatpay/logo.svg","root":{"title":"WeChat Pay","href":"/docs/orchestration/payment-methods/wechat-pay"},"pages":[{"title":"WeChat Pay via Checkout.com","sidebarTitle":"Checkout.com","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/wechat-pay/checkout-com"},{"title":"WeChat Pay via Nuvei","sidebarTitle":"Nuvei","icon":"https://assets.payrails.io/img/logos/nuvei/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/wechat-pay/nuvei"},{"title":"WeChat Pay via Worldpay","sidebarTitle":"Worldpay","icon":"https://assets.payrails.io/img/logos/worldpay/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/wechat-pay/worldpay"}]},{"group":"Yape","icon":"https://assets.payrails.io/img/logos/yape/logo.svg","root":{"title":"Yape","href":"/docs/orchestration/payment-methods/yape"},"pages":[{"title":"Yape via dLocal","sidebarTitle":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/yape/dlocal"},{"title":"Yape via Mercado Pago","sidebarTitle":"Mercado Pago","icon":"https://assets.payrails.io/img/logos/mercadopago/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/yape/mercadopago"}]},{"group":"Yapı Kredi WorldPay","icon":"https://assets.payrails.io/img/logos/yapikredi/logo-full-bleed.svg","root":{"title":"Yapı Kredi WorldPay","href":"/docs/orchestration/payment-methods/ykb-worldpay"},"pages":[{"title":"Yapı Kredi WorldPay via Craftgate","sidebarTitle":"Craftgate","icon":"https://assets.payrails.io/img/logos/craftgate/logo-full-bleed.svg","href":"/docs/orchestration/payment-methods/ykb-worldpay/craftgate"}]}]},{"group":"Fraud Integrations","root":{"title":"Fraud integrations","href":"/docs/orchestration/fraud-integrations"},"pages":[{"title":"Cybersource Decision Manager","sidebarTitle":"Cybersource","icon":"https://assets.payrails.io/img/logos/cybersource/logo-full-bleed.svg","href":"/docs/orchestration/fraud-integrations/cybersource"},{"title":"Forter","icon":"https://assets.payrails.io/img/logos/forter/logo-full-bleed.svg","href":"/docs/orchestration/fraud-integrations/forter"},{"title":"Ravelin","icon":"https://assets.payrails.io/img/logos/ravelin/logo-full-bleed.svg","href":"/docs/orchestration/fraud-integrations/ravelin"},{"title":"Riskified","icon":"https://assets.payrails.io/img/logos/riskified/logo-full-bleed.svg","href":"/docs/orchestration/fraud-integrations/riskified"},{"title":"Signifyd","icon":"https://assets.payrails.io/img/logos/signifyd/logo.svg","href":"/docs/orchestration/fraud-integrations/signifyd"}]},{"group":"Workflow Studio","pages":[{"title":"Workflow Studio Overview","href":"/docs/orchestration/workflow-studio/overview"},{"title":"Quick Start Guide","href":"/docs/orchestration/workflow-studio/quick-start"},{"title":"Triggers","href":"/docs/orchestration/workflow-studio/triggers"},{"title":"Actions","href":"/docs/orchestration/workflow-studio/actions"},{"title":"Cancel and Capture Modes","hidden":true,"href":"/docs/orchestration/workflow-studio/cancel-and-capture-mode"},{"group":"Conditions and Branching","root":{"title":"Conditions and Branching","href":"/docs/orchestration/workflow-studio/conditions"},"pages":[{"title":"Condition Operators Reference","href":"/docs/orchestration/workflow-studio/conditions/operators"}]},{"group":"Monitoring Workflow Executions","root":{"title":"Monitoring Workflow Executions","href":"/docs/orchestration/workflow-studio/monitoring"},"pages":[{"title":"Status Codes Reference","href":"/docs/orchestration/workflow-studio/monitoring/status-codes"}]},{"group":"Workflow Examples","root":{"title":"Workflow Examples","href":"/docs/orchestration/workflow-studio/examples"},"pages":[{"title":"Simple Authorization","href":"/docs/orchestration/workflow-studio/examples/simple-authorization"},{"title":"Authorization with Fraud Screening","href":"/docs/orchestration/workflow-studio/examples/authorization-with-fraud"},{"title":"Authorization with 3D Secure","href":"/docs/orchestration/workflow-studio/examples/authorization-with-3ds"},{"title":"Full Authorization with Fraud and 3DS","href":"/docs/orchestration/workflow-studio/examples/full-authorization"},{"title":"Capture with Fraud Update","href":"/docs/orchestration/workflow-studio/examples/capture-with-fraud-update"},{"title":"Conditional Refund","href":"/docs/orchestration/workflow-studio/examples/conditional-refund"},{"title":"Event-Driven Auto-Capture","href":"/docs/orchestration/workflow-studio/examples/event-driven-auto-capture"},{"title":"Provider Routing with Conditions","href":"/docs/orchestration/workflow-studio/examples/provider-routing"}]},{"title":"Glossary","href":"/docs/orchestration/workflow-studio/glossary"}]},{"title":"Autopilot","href":"/docs/orchestration/autopilot"},{"group":"Payment Acceptance","pages":[{"title":"Create a workflow execution","href":"/docs/orchestration/payment-acceptance/create-a-workflow-execution"},{"title":"Lookup payment options","href":"/docs/orchestration/payment-acceptance/lookup-payment-options"},{"title":"Authorize a payment","href":"/docs/orchestration/payment-acceptance/authorize-a-payment"},{"title":"Capture a payment","href":"/docs/orchestration/payment-acceptance/capture-a-payment"},{"title":"Capture and cancel modes","href":"/docs/orchestration/payment-acceptance/capture-and-cancel-modes"},{"title":"Cancel a payment","href":"/docs/orchestration/payment-acceptance/cancel-a-payment"},{"title":"Refund a payment","href":"/docs/orchestration/payment-acceptance/refund-a-payment"},{"title":"Test payments","href":"/docs/orchestration/payment-acceptance/test-payments"},{"title":"Receive notifications","href":"/docs/orchestration/payment-acceptance/receive-notifications"},{"title":"3D Secure","href":"/docs/orchestration/payment-acceptance/3d-secure"}]},{"title":"In-person payments","href":"/docs/orchestration/in-person"},{"group":"Payment Links","root":{"title":"Payment Links","href":"/docs/orchestration/payment-links"},"pages":[{"title":"Create a payment link","href":"/docs/orchestration/payment-links/create-a-payment-link"},{"title":"How it works","href":"/docs/orchestration/payment-links/how-it-works"},{"title":"Payment modes","href":"/docs/orchestration/payment-links/payment-modes"},{"title":"Share the link","href":"/docs/orchestration/payment-links/share-the-link"},{"title":"Track and reconcile","href":"/docs/orchestration/payment-links/track-and-reconcile"}]}]},{"group":"Merchant of Record","icon":"https://mintlify.s3.us-west-1.amazonaws.com/payrails-42074109/images/icons/nav/storefront.svg","pages":[{"title":"Overview","href":"/docs/merchant-of-record/overview"}]},{"group":"Token Vault","icon":"https://mintlify.s3.us-west-1.amazonaws.com/payrails-42074109/images/icons/nav/credit_card.svg","pages":[{"title":"Getting Started","href":"/docs/token-vault/getting-started"},{"group":"Vault Proxy","root":{"title":"Vault Proxy","href":"/docs/token-vault/vault-proxy"},"pages":[{"group":"Instant Proxy","root":{"title":"Instant Proxy","href":"/docs/token-vault/vault-proxy/proxy-payment-instruments"},"pages":[{"title":"Cards via Proxy","href":"/docs/token-vault/vault-proxy/proxy-payment-instruments/cards-via-proxy"},{"title":"Apple Pay via Proxy","href":"/docs/token-vault/vault-proxy/proxy-payment-instruments/apple-pay-via-proxy"},{"title":"Google Pay via Proxy","href":"/docs/token-vault/vault-proxy/proxy-payment-instruments/google-pay-via-proxy"}]},{"group":"Configurable Proxy","root":{"title":"Configurable Proxy","href":"/docs/token-vault/vault-proxy/proxy-connections"},"pages":[{"title":"Managing Connections","href":"/docs/token-vault/vault-proxy/proxy-connections/managing-connections"},{"title":"Invoking Connections","href":"/docs/token-vault/vault-proxy/proxy-connections/invoking-connections"}]}]},{"title":"Records, Aliases and Instruments","href":"/docs/token-vault/tokenize-records"},{"title":"Direct Vault API","href":"/docs/token-vault/direct-vault-api"},{"group":"Tokenize Cards via SDK","root":{"title":"Tokenize Cards via SDK","href":"/docs/token-vault/tokenize-payment-instruments"},"pages":[{"title":"Tokenize cards with Secure Fields","href":"/docs/token-vault/tokenize-payment-instruments/tokenize-cards-with-secure-fields"},{"title":"Tokenize cards with Client-side Encryption","href":"/docs/token-vault/tokenize-payment-instruments/tokenize-cards-with-client-side-encryption"},{"title":"Tokenize cards with API-only","href":"/docs/token-vault/tokenize-payment-instruments/tokenize-cards-with-api-only"}]},{"group":"Display Cards via SDK","root":{"title":"Display Cards via SDK","href":"/docs/token-vault/display-sdk"},"pages":[{"title":"Dynamic Styling Based on BIN","href":"/docs/token-vault/display-sdk/dynamic-styling-based-on-bin"}]},{"group":"Network Tokens","root":{"title":"Network Tokens","href":"/docs/token-vault/network-tokens"},"pages":[{"title":"Onboarding to Networks","href":"/docs/token-vault/network-tokens/onboarding-to-networks"},{"title":"Provision Network Tokens","href":"/docs/token-vault/network-tokens/provision-network-tokens"},{"title":"Transacting with Network Tokens","href":"/docs/token-vault/network-tokens/transacting-with-network-tokens"},{"title":"Automatic Lifecycle Updates","href":"/docs/token-vault/network-tokens/automatic-lifecycle-updates"}]},{"group":"Token Migration","root":{"title":"Token Migration","href":"/docs/token-vault/token-migration"},"pages":[{"title":"Self-served migration of card data from PSPs","href":"/docs/token-vault/token-migration/self-serve-migration"}]},{"title":"Frequently Asked Questions","href":"/docs/token-vault/frequently-asked-questions"}]},{"group":"Analytics \u0026 Reporting","icon":"https://mintlify.s3.us-west-1.amazonaws.com/payrails-42074109/images/icons/nav/show_chart.svg","pages":[{"group":"Getting Started","root":{"title":"Getting started","href":"/docs/analytics-and-reporting/getting-started"},"pages":[{"group":"Connect your data sources","root":{"title":"Connect your data sources","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources"},"pages":[{"title":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources/adyen"},{"title":"Amex","icon":"https://assets.payrails.io/img/logos/amex/logo-full-bleed.svg","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources/amex"},{"title":"Braintree","icon":"https://assets.payrails.io/img/logos/braintree/logo-full-bleed.svg","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources/braintree"},{"title":"Checkout","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources/checkout"},{"title":"dLocal","icon":"https://assets.payrails.io/img/logos/dlocal/logo-full-bleed.svg","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources/dlocal"},{"title":"HiPay","icon":"https://assets.payrails.io/img/logos/hipay/logo-full-bleed.svg","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources/hipay"},{"title":"J.P. Morgan","icon":"https://assets.payrails.io/img/logos/jpmorgan/logo.svg","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources/jp-morgan"},{"title":"Klarna","icon":"https://assets.payrails.io/img/logos/klarna/logo-full-bleed.svg","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources/klarna"},{"title":"MangoPay","icon":"https://assets.payrails.io/img/logos/mangopay/logo-full-bleed.svg","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources/mangopay"},{"title":"PayPal","icon":"https://assets.payrails.io/img/logos/paypal/logo-full-bleed.svg","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources/paypal"},{"title":"Payplug","icon":"https://assets.payrails.io/img/logos/payplug/logo-full-bleed.svg","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources/payplug"},{"title":"Stripe","icon":"https://assets.payrails.io/img/logos/stripe/logo-full-bleed.svg","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources/stripe"},{"title":"Tap","icon":"https://assets.payrails.io/img/logos/tap/logo-full-bleed.svg","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources/tap"},{"title":"Unlimit","icon":"https://assets.payrails.io/img/logos/unlimit/logo-full-bleed.svg","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources/unlimit"},{"title":"Vipps/MobilePay","icon":"https://assets.payrails.io/img/logos/vipps/logo.svg","href":"/docs/analytics-and-reporting/getting-started/connect-your-data-sources/vippsmobilepay"}]}]},{"group":"Upload Files","root":{"title":"Upload files","href":"/docs/analytics-and-reporting/upload-files"},"pages":[{"title":"Orders Report","href":"/docs/analytics-and-reporting/upload-files/orders-report"}]},{"group":"Reports","root":{"title":"Reports","href":"/docs/analytics-and-reporting/reports"},"pages":[{"title":"Payments report","href":"/docs/analytics-and-reporting/reports/payments"},{"title":"Settlements report","href":"/docs/analytics-and-reporting/reports/settlements"},{"title":"Transactions report","href":"/docs/analytics-and-reporting/reports/transactions"},{"title":"Disputes report","href":"/docs/analytics-and-reporting/reports/disputes"}]},{"title":"Unified Analytics","href":"/docs/analytics-and-reporting/unified-analytics"},{"title":"Dashboards","href":"/docs/analytics-and-reporting/dashboards"}]},{"group":"Fraud Management","icon":"https://mintlify.s3.us-west-1.amazonaws.com/payrails-42074109/images/icons/nav/shield_person.svg","pages":[{"title":"Fraud Score","href":"/docs/fraud-management/fraud-score"}]},{"group":"Chargebacks","icon":"https://mintlify.s3.us-west-1.amazonaws.com/payrails-42074109/images/icons/nav/warning.svg","pages":[{"title":"Getting started","href":"/docs/chargebacks/getting-started"},{"group":"Integrations","root":{"title":"Integrations","href":"/docs/chargebacks/integrations"},"pages":[{"title":"Adyen","icon":"https://assets.payrails.io/img/logos/adyen/logo-full-bleed.svg","href":"/docs/chargebacks/integrations/adyen"},{"title":"Checkout","icon":"https://assets.payrails.io/img/logos/checkout/logo-full-bleed.svg","href":"/docs/chargebacks/integrations/checkout"},{"title":"Klarna","icon":"https://assets.payrails.io/img/logos/klarna/logo-full-bleed.svg","href":"/docs/chargebacks/integrations/klarna"},{"title":"Nuvei","icon":"https://assets.payrails.io/img/logos/nuvei/logo-full-bleed.svg","href":"/docs/chargebacks/integrations/nuvei"},{"title":"Stripe","icon":"https://assets.payrails.io/img/logos/stripe/logo-full-bleed.svg","href":"/docs/chargebacks/integrations/stripe"}]}]},{"group":"Monitoring","icon":"https://mintlify.s3.us-west-1.amazonaws.com/payrails-42074109/images/icons/nav/notifications.svg","pages":[{"title":"Alerts","href":"/docs/monitoring/configure-alerts"}]},{"group":"Resources","icon":"https://mintlify.s3.us-west-1.amazonaws.com/payrails-42074109/images/icons/nav/menu_book.svg","pages":[{"group":"Payments","root":{"title":"Payments","href":"/docs/resources/payments"},"pages":[{"title":"Payment Status","href":"/docs/resources/payments/payment-status"},{"title":"Operation Types","href":"/docs/resources/payments/operation-types"},{"title":"Operation Results","href":"/docs/resources/payments/operation-results"},{"title":"Authorization flags","href":"/docs/resources/payments/authorization-flags"}]},{"title":"Executions","href":"/docs/resources/executions"},{"title":"Holders","href":"/docs/resources/holder"},{"title":"Payment Instruments and Tokens","href":"/docs/resources/manage-instruments"},{"group":"Notifications","root":{"title":"Notifications","hidden":false,"href":"/docs/resources/notifications"},"pages":[{"title":"Action updated notifications","href":"/docs/resources/notifications/action-updated-notifications"},{"title":"Dispute notifications","href":"/docs/resources/notifications/dispute-notifications"},{"title":"Dispute alert notifications","href":"/docs/resources/notifications/dispute-alert-notifications"}]},{"title":"Error codes","href":"/docs/resources/error-codes"},{"title":"Currency codes","href":"/docs/resources/currency-codes"}]},{"group":"Use Cases","icon":"https://mintlify.s3.us-west-1.amazonaws.com/payrails-42074109/images/icons/nav/lightbulb.svg","pages":[{"title":"Billing","href":"/docs/use-cases/billing-use-cases"},{"title":"Server-to-server Integration","href":"/docs/use-cases/server-to-server-integration-reference-architecture"}]}]},{"tab":"Connections","pages":[{"title":"Connections","href":"/docs/connections"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference"}]}]},"basePath":"","title":"iOS SDK - Quick start - Payrails Docs","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":[],"chunks":[]}