{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-guides/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["sub-heading","br","details","required","admonition"]},"type":"markdown"},"seo":{"title":"Configuration","description":"Transform your commerce with PXP's unified platform—seamless payments, real-time insights, and global growth in one powerful integration.","lang":"en-UK","siteUrl":"https://developer.pxp.io","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"configuration","__idx":0},"children":["Configuration"]},{"$$mdtype":"Tag","name":"SubHeading","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configure Checkout Drop-in once with unified settings for all payment methods, callbacks, and transaction data."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"overview","__idx":1},"children":["Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Checkout Drop-in uses a single, unified configuration at initialisation. Instead of configuring individual payment components, you configure Drop-in once and it automatically handles all payment methods."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configuration-structure","__idx":2},"children":["Configuration structure"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All configuration happens at initialisation via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CheckoutDropIn(config:)"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"import SwiftUI\nimport PXPCheckoutSDK\n\nlet config = CheckoutDropInConfig(\n    // REQUIRED\n    environment: .test,\n    session: sessionData,\n    transactionData: DropInTransactionData(\n        amount: Decimal(string: \"99.99\") ?? 0,\n        currency: \"USD\",\n        entryType: .ecom,\n        intent: DropInTransactionIntentData(\n            card: .authorisation,\n            paypal: .authorisation\n        ),\n        merchantTransactionId: UUID().uuidString,\n        merchantTransactionDate: { Date() }\n    ),\n    merchantShopperId: \"shopper-123\",\n    ownerId: \"MERCHANT-1\",\n    \n    // OPTIONAL: Fraud detection\n    kountDisabled: false,\n    \n    // Recommended: always implement success and error handlers\n    onSuccess: { result in\n        // Handle success\n    },\n    onError: { paymentMethod, error in\n        // Handle error\n    },\n    \n    // Optional callbacks\n    onGetShopper: { async in\n        TransactionShopper(id: \"shopper-123\")\n    },\n    onBeforeSubmit: { paymentMethod in\n        // Return true to proceed\n        return true\n    },\n    onSubmit: { paymentMethod in\n        // Payment started\n    },\n    analyticsEvent: { event in\n        // Track analytics\n    }\n)\n\n// Initialise and create Drop-in\nlet dropIn = try CheckoutDropIn(config: config)\nawait dropIn.create()\n\n// Render in SwiftUI\ndropIn.buildContent()\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"required-configuration","__idx":3},"children":["Required configuration"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"environment","__idx":4},"children":["Environment"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Specifies which Unity environment to connect to:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".test"]},": sandbox environment. Use this for development, testing, and staging."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".live"]},": live environment. Use this for production deployments."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"environment: .test // or .live\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"session-data","__idx":5},"children":["Session data"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Session data is retrieved from your backend and contains payment configuration:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"// Backend endpoint\nlet sessionData = try await fetchSessionFromBackend()\n\n// Pass to Drop-in\nsession: sessionData\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Session data includes:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sessionId"]},": Unique session identifier."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hmacKey"]},": HMAC authentication key."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["encryptionKey"]},": Encryption key."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["allowedFundingTypes"]},": Which payment methods are enabled."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sessionExpiry"]},": Optional session expiry timestamp from your backend (respect when creating new sessions)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions"]},": Optional session-level card restrictions merged with checkout config."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For session creation details, see our ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/drop-in/ios/implementation"},"children":["implementation guide"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"owner-identification","__idx":6},"children":["Owner identification"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Identifies who owns this transaction:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"merchantShopperId: \"shopper-123\",  // Required — your shopper identifier\nownerId: \"MERCHANT-1\"              // Required — merchant ID from the Unity Portal\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Drop-in sets ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ownerType"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"MerchantGroup\""]}," automatically. You do not pass it in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CheckoutDropInConfig"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"transaction-data","__idx":7},"children":["Transaction data"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Defines the payment amount, currency, and intent:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"transactionData: DropInTransactionData(\n    amount: Decimal(string: \"99.99\") ?? 0,\n    currency: \"USD\",\n    entryType: .ecom,\n    intent: DropInTransactionIntentData(\n        card: .authorisation,\n        paypal: .authorisation\n    ),\n    merchantTransactionId: UUID().uuidString,\n    merchantTransactionDate: { Date() }\n)\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"transaction-data-properties","__idx":8},"children":["Transaction data properties"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following table describes each ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DropInTransactionData"]}," property:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Property"},"children":["Property"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["Decimal"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Required","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The transaction amount shown and submitted by the drop-in."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["currency"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Required","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The currency code, in ISO 4217 format."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["entryType"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["EntryType"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Required","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The transaction entry type."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intent"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["DropInTransactionIntentData"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Required","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Card and PayPal intent configuration."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["merchantTransactionId"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Required","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A merchant-generated transaction ID. Use a UUID or order ID to ensure uniqueness."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["merchantTransactionDate"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["() -> Date"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Required","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Closure returning the transaction date. Typically ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{ Date() }"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cardAcceptorName"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional card acceptor name shown on card statements."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recurring"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["RecurringType?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional recurring payment configuration for subscriptions. Example:",{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RecurringType(frequencyInDays: 30, frequencyExpiration: \"2026-12-31\")"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["linkId"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional link ID when linking transactions together."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"merchant-transaction-id","__idx":9},"children":["Merchant transaction ID"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Your unique identifier for the transaction:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"merchantTransactionId: UUID().uuidString\n\n// Or use your own format\nmerchantTransactionId: \"order-\\(orderId)\"\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"optional-configuration","__idx":10},"children":["Optional configuration"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"unified-callbacks","__idx":11},"children":["Unified callbacks"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Drop-in provides unified callbacks for payment success, failure, and processing. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onSuccess"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onError"]}," are optional in the initializer but should always be implemented — without them, completed or failed payments are not handled."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Most other callbacks apply to all enabled payment methods:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"CheckoutDropInConfig(\n    // OPTIONAL: Get shopper information\n    onGetShopper: { async in\n        TransactionShopper(id: \"shopper-123\")\n    },\n    \n    // Recommended: called when payment succeeds\n    onSuccess: { result in\n        print(\"Payment successful: \\(result.systemTransactionId)\")\n        // CRITICAL: Always verify on backend before fulfilling order\n        verifyPaymentOnBackend(result)\n    },\n    \n    // Recommended: called when payment fails\n    onError: { paymentMethod, error in\n        print(\"Payment failed: \\(error.errorCode) - \\(error.errorMessage)\")\n    },\n    \n    // OPTIONAL: Called before payment submission (can cancel)\n    onBeforeSubmit: { paymentMethod in\n        print(\"Payment method: \\(paymentMethod.rawValue)\")\n        // Return false to cancel payment\n        return true\n    },\n    \n    // OPTIONAL: Called when payment starts processing\n    onSubmit: { paymentMethod in\n        print(\"Processing payment...\")\n    }\n)\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For detailed callback documentation, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/drop-in/ios/events"},"children":["Events"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"analytics","__idx":12},"children":["Analytics"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Track payment flow events:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"analyticsEvent: { event in\n    print(\"Event: \\(event.eventName)\")\n    // Send to your analytics platform\n    sendToFirebaseAnalytics(event)\n}\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For detailed analytics documentation, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/drop-in/ios/analytics"},"children":["Analytics"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"payment-method-configuration","__idx":13},"children":["Payment method configuration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configure payment-method-specific settings:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"methodConfig: DropInMethodConfig(\n    global: DropInGlobalConfig(\n        acceptedCardNetworks: [.visa, .mastercard, .amex],\n        allowedIssuerCountryCodes: [\"US\", \"GB\"],\n        transactionInfo: DropInTransactionInfo(\n            countryCode: \"US\",\n            totalLabel: \"Total\"\n        ),\n        riskScreeningData: RiskScreeningData(\n            performRiskScreening: true,\n            userIp: \"203.0.113.10\",\n            transaction: RiskScreeningTransaction(subtotal: 149.99)\n        )\n    ),\n    paypal: DropInPaypalConfig(\n        fundingSources: [.paypal, .paylater],\n        shippingPreference: .getFromFile\n    ),\n    applePay: DropInApplePayConfig(\n        shippingContactConfiguration: DropInApplePayShippingContactConfiguration(\n            requireShippingContactFields: [.postalAddress, .name]\n        )\n    ),\n    paze: DropInPazeConfig(\n        emailAddress: \"customer@example.com\",\n        phoneNumber: \"15551234567\"\n    )\n)\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For detailed payment method configuration, see:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/drop-in/ios/cards"},"children":["Global and card configuration"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/drop-in/ios/paypal"},"children":["PayPal configuration"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/drop-in/ios/apple-pay"},"children":["Apple Pay configuration"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"localisation","__idx":14},"children":["Localisation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Customise text displayed in the Drop-in interface by implementing the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Localisation"]}," protocol. Override Drop-in-specific keys to replace default labels, messages, and accessibility strings. Unset properties fall back to the built-in strings for your configured ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["locale"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following table lists the main Drop-in localisation keys:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"45%","data-label":"Property"},"children":["Property "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"55%","data-label":"Description"},"children":["Description "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["submitText"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Text for the submit or pay button in card and related flows."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInHeaderText"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Header text shown at the top of Drop-in."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInCardLabel"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Label for the card payment method row."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInPaypalLabel"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Label for the PayPal payment method row."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInApplePayLabel"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Label for the Apple Pay payment method row."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInGooglePayLabel"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Label for Google Pay (reserved for future use)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInCardOnFileTitle"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Title for the saved cards section."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInNewCardTitle"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Title for the new card entry section."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInBillingAddressTitle"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Title for the billing address section."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInSecuredByText"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["“Secured by” branding text shown in Drop-in."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInPxpBrandingText"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["PXP branding text shown in Drop-in."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInLoadingText"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Loading message shown while Drop-in initialises or processes payment."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInNoPaymentMethodsError"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Error message when no payment methods are available."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInCheckoutPaymentSelectionAccessibilityLabel"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["VoiceOver label for the checkout payment selection region."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInQuickPaymentMethodsAccessibilityLabel"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["VoiceOver label for the quick payment methods section."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInPaymentMethodsAccessibilityLabel"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["VoiceOver label for the main payment methods list."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInA11yPaymentMethodPrefix"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["VoiceOver prefix for payment method rows (accessibility)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInA11yExpandedState"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["VoiceOver label when a payment method panel is expanded."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInA11yCollapsedState"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["VoiceOver label when a payment method panel is collapsed."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInA11yExpandedHint"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["VoiceOver hint when a panel is expanded."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInA11yCollapsedHint"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["VoiceOver hint when a panel is collapsed."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInA11yErrorPrefix"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["VoiceOver prefix for inline error messages."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInA11yCheckoutReady"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["VoiceOver announcement when checkout is ready."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInA11yPaymentFailed"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["VoiceOver announcement when payment fails."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutDropInA11yLoadingPaymentMethod"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["String?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["VoiceOver announcement while a payment method is loading."]}]}]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"// Implement a custom localisation type conforming to Localisation protocol\nstruct MyDropInLocalisation: Localisation {\n    var submitText: String? { \"Pay Now\" }\n    var checkoutDropInHeaderText: String? { \"Choose Payment Method\" }\n    var checkoutDropInCardLabel: String? { \"Credit or Debit Card\" }\n    var checkoutDropInPaypalLabel: String? { \"PayPal\" }\n    var checkoutDropInApplePayLabel: String? { \"Apple Pay\" }\n    // ... implement other required protocol properties\n}\n\n// Pass to Drop-in config\nlocalisation: MyDropInLocalisation()\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Localisation"]}," is a large protocol shared across checkout components. You must implement all required properties, not only Drop-in keys. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DefaultLocalisation()"]}," as a reference for property names — it returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nil"]}," for every override, so you typically implement a custom type that supplies your strings."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"locale","__idx":15},"children":["Locale"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["locale"]}," is omitted, Drop-in defaults to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"en-US\""]},". It does not automatically follow the device language."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Set an explicit locale to control built-in SDK strings:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"locale: \"en-US\" // or \"es-ES\", \"el-GR\"\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Drop-in ships built-in string bundles for the following locales:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"25%","data-label":"Locale"},"children":["Locale "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"75%","data-label":"Language"},"children":["Language "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"en-US\""]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["English (United States). Used when ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["locale"]}," is omitted or unrecognised."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"es-ES\""]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Spanish (Spain)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"el-GR\""]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Greek (Greece)."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Any other ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["locale"]}," value falls back to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"en-US\""]}," strings. Custom ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Localisation"]}," overrides apply on top of the selected bundle."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Pass hyphenated locale values to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CheckoutDropInConfig.locale"]}," (for example ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"en-US\""]},"). PayPal validation may use underscore format internally (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["en_US"]},"); you do not need to convert values in app code."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"restrictions","__idx":16},"children":["Restrictions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Limit accepted card types by owner segment and funding source at checkout. Restrictions apply during card submission after BIN lookup — they filter which cards customers can pay with."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Set restrictions on ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CheckoutDropInConfig"]}," or in session data. When both are present, the SDK merges them as a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["union"]}," (session values first, then config values not already present)."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"restrictions: Restrictions(\n    card: Restrictions.Card(\n        ownerTypes: [.consumer],       // Consumer cards only\n        fundingSources: [.credit, .debit]  // Exclude prepaid\n    )\n)\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following table describes restriction properties:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"35%","data-label":"Property"},"children":["Property "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"65%","data-label":"Description"},"children":["Description "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["Restrictions?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional checkout-level card restrictions on ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CheckoutDropInConfig"]},". Merged with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["session.restrictions"]}," when both are set."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions.card.ownerTypes"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["[CardOwnerType]?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Allowed card owner segments. Omit to allow all owner types configured in the merged restriction set.",{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},"Possible values:",{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".consumer"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".corporate"]}]}]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions.card.fundingSources"]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Details","attributes":{},"children":["[CardFundingSource]?"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Allowed funding sources. Omit to allow all funding sources in the merged restriction set.",{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},"Possible values:",{"$$mdtype":"Tag","name":"Break","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".credit"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".debit"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".prepaid"]}]}]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.global.allowedCardFundingSource"]}," is separate from ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions"]},". It controls Apple Pay merchant capabilities (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".credit"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".debit"]}," only) and does not replace session or checkout card restrictions for manual card entry."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"kount-fraud-detection","__idx":17},"children":["Kount fraud detection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Control Kount device data collection:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"kountDisabled: false // Set to true to disable Kount\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Defaults to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," (Kount enabled)."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To pass transaction risk screening data to the payment flow, use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.global.riskScreeningData"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"methodConfig: DropInMethodConfig(\n    global: DropInGlobalConfig(\n        riskScreeningData: RiskScreeningData(\n            performRiskScreening: true,\n            userIp: \"203.0.113.10\",\n            transaction: RiskScreeningTransaction(subtotal: 149.99)\n        )\n    )\n)\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The difference between these two settings:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kountDisabled"]},": controls whether Kount device data is collected during the checkout flow."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.global.riskScreeningData"]},": provides transaction-level risk data that is sent with card, Apple Pay, and PayPal Drop-in payment requests."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When Kount is enabled, the SDK injects the device session ID at authorisation time — you don't pass it in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RiskScreeningData"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"complete-configuration-examples","__idx":18},"children":["Complete configuration examples"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"minimal-configuration-most-common","__idx":19},"children":["Minimal configuration (most common)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Fetch a session from your backend, then initialise Drop-in with required fields and core callbacks:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"import SwiftUI\nimport PXPCheckoutSDK\n\n// Get session from backend\nlet sessionData = try await fetchSessionFromBackend()\n\nlet config = CheckoutDropInConfig(\n    environment: .test,\n    session: sessionData,\n    transactionData: DropInTransactionData(\n        amount: Decimal(string: \"99.99\") ?? 0,\n        currency: \"USD\",\n        entryType: .ecom,\n        intent: DropInTransactionIntentData(\n            card: .authorisation,\n            paypal: .authorisation\n        ),\n        merchantTransactionId: UUID().uuidString,\n        merchantTransactionDate: { Date() }\n    ),\n    merchantShopperId: \"shopper-123\",\n    ownerId: \"MERCHANT-1\",\n    onGetShopper: { async in\n        TransactionShopper(id: \"shopper-123\")\n    },\n    onSuccess: { result in\n        Task {\n            await verifyPaymentOnBackend(result)\n        }\n    },\n    onError: { paymentMethod, error in\n        print(\"Payment failed: \\(error.errorMessage)\")\n    }\n)\n\nlet dropIn = try CheckoutDropIn(config: config)\nawait dropIn.create()\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Render in SwiftUI with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dropIn.buildContent()"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"full-configuration-with-all-callbacks","__idx":20},"children":["Full configuration (with all callbacks)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use this pattern when you need validation gates, loading state, analytics, and detailed error handling:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"import SwiftUI\nimport PXPCheckoutSDK\n\nlet sessionData = try await fetchSessionFromBackend()\nlet orderId = \"order-12345\"\n\nlet config = CheckoutDropInConfig(\n    // REQUIRED\n    environment: .live,\n    session: sessionData,\n    transactionData: DropInTransactionData(\n        amount: Decimal(string: \"149.99\") ?? 0,\n        currency: \"USD\",\n        entryType: .ecom,\n        intent: DropInTransactionIntentData(\n            card: .authorisation,\n            paypal: .purchase\n        ),\n        merchantTransactionId: \"order-\\(orderId)\",\n        merchantTransactionDate: { Date() }\n    ),\n    merchantShopperId: \"shopper-456\",\n    ownerId: \"MERCHANT-1\",\n    locale: \"en-US\",\n    kountDisabled: false,\n\n    // CALLBACKS\n    onGetShopper: { async in\n        TransactionShopper(\n            id: \"shopper-456\",\n            email: \"customer@example.com\"\n        )\n    },\n\n    onBeforeSubmit: { paymentMethod in\n        print(\"Payment method selected: \\(paymentMethod.rawValue)\")\n\n        // Custom validation — return false to cancel payment\n        guard await validateOrder(orderId) else {\n            return false\n        }\n        guard await checkInventory(orderId) else {\n            return false\n        }\n        return true\n    },\n\n    onSubmit: { paymentMethod in\n        print(\"Payment processing started for: \\(paymentMethod.rawValue)\")\n        showLoadingIndicator()\n    },\n\n    onSuccess: { result in\n        hideLoadingIndicator()\n\n        // CRITICAL: Verify on backend before fulfilling\n        Task {\n            do {\n                let verified = try await verifyPaymentOnBackend(\n                    systemTransactionId: result.systemTransactionId,\n                    merchantTransactionId: result.merchantTransactionId ?? \"\",\n                    orderId: orderId\n                )\n                if verified.success {\n                    navigateToOrderConfirmation(orderId: verified.orderId)\n                } else {\n                    showError(\"Payment verification failed. Please contact support.\")\n                }\n            } catch {\n                showError(\"Unable to verify payment. Please contact support.\")\n            }\n        }\n    },\n\n    onError: { paymentMethod, error in\n        hideLoadingIndicator()\n\n        let userMessage: String\n        switch error.errorCode {\n        case \"SDK1116\" where error.errorMessage.localizedCaseInsensitiveContains(\"declined\"):\n            userMessage = \"Card declined. Please try a different card.\"\n        case \"SDK1116\" where error.errorMessage.localizedCaseInsensitiveContains(\"insufficient\"):\n            userMessage = \"Insufficient funds.\"\n        case \"SDK1114\":\n            userMessage = \"Card verification failed.\"\n        case \"SDK0500\":\n            userMessage = \"Connection error. Check your internet connection.\"\n        default:\n            if error.errorMessage.localizedCaseInsensitiveContains(\"session\") ||\n               error.errorMessage.localizedCaseInsensitiveContains(\"expired\") {\n                userMessage = \"Session expired. Please refresh checkout.\"\n            } else {\n                userMessage = \"Payment failed: \\(error.errorMessage)\"\n            }\n        }\n        showError(userMessage)\n    },\n\n    analyticsEvent: { event in\n        print(\"Analytics: \\(event.eventName)\")\n        sendToAnalyticsPlatform(event)\n    }\n)\n\nlet dropIn = try CheckoutDropIn(config: config)\nawait dropIn.create()\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For payment-method-specific settings (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions"]},", Apple Pay shipping handlers and similar), see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#payment-method-configuration"},"children":["Payment method configuration"]}," above and the linked method guides."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"fallback-behaviour","__idx":21},"children":["Fallback behaviour"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Drop-in method configuration values are optional overrides. When you omit an optional value, the SDK derives the effective component configuration from the checkout session, Unity site configuration, or SDK defaults."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"global-and-card-fallbacks","__idx":22},"children":["Global and card fallbacks"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When global or card config values are omitted, the SDK falls back as follows:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Config value"},"children":["Config value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Fallback behaviour"},"children":["Fallback behaviour"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.global.acceptedCardNetworks"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to session ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cardSchemes"]},", then ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cards"]},". If neither is present, no card networks are applied."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.global.allowedCardFundingSource"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["[.credit, .debit]"]}," for Apple Pay merchant capabilities. Does not read session ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.global.allowedIssuerCountryCodes"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to nil — no issuer country filter is applied to Apple Pay ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supportedCountries"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.global.transactionInfo"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to a basic Apple Pay total using transaction amount and currency (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["totalLabel"]}," defaults to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"TOTAL\""]},")."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.global.shippingOptions"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to empty list (no shipping options displayed)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.global.couponInfo"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to nil (no coupon information displayed)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.global.onGetConsent"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to omitted — drop-in uses built-in consent UI where configured (card storage checkbox when site ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["storeCardConsent"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Ask"]},"; PayPal consent when ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["consentComponent"]}," is enabled)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.global.onCancel"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to no-op (cancel events are not captured)."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"apple-pay-fallbacks","__idx":23},"children":["Apple Pay fallbacks"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When Apple Pay config values are omitted, the SDK falls back as follows:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Config value"},"children":["Config value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Fallback behaviour"},"children":["Fallback behaviour"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.applePay.shippingContactConfiguration"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to no required shipping fields."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.applePay.billingContactConfiguration"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to no required billing fields."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.applePay.onShippingContactSelected"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to no shipping contact update (original transaction info used)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.applePay.onShippingMethodSelected"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to no shipping method update (original transaction info used)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.applePay.onPaymentMethodSelected"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to no payment method update (original transaction info used)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.applePay.onCouponCodeChanged"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to no coupon code processing."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"paypal-fallbacks","__idx":24},"children":["PayPal fallbacks"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When PayPal config values are omitted, the SDK falls back as follows:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Config value"},"children":["Config value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Fallback behaviour"},"children":["Fallback behaviour"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.paypal.fundingSources"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to session ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["allowedFundingTypes.wallets.paypal.allowedFundingOptions"]},". If neither merchant config nor session lists options, no PayPal buttons are rendered."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.paypal.shippingPreference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".noShipping"]}," (no shipping address collected by PayPal)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.paypal.payeeEmailAddress"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to nil (no payee email displayed)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.paypal.paymentDescription"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to nil (PayPal uses its default order description behaviour)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["methodConfig.paypal.consentComponent"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falls back to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," (PayPal consent component shown when PayPal is enabled)."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"scale-best-practice","__idx":25},"children":["Scale best practice"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When integrating Checkout Drop-in at scale:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Session management:"]}," cache session data appropriately but respect the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sessionExpiry"]}," timestamp. Create new sessions for new checkout attempts."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Error handling:"]}," implement comprehensive error handling for all callbacks. Log errors with sufficient context for debugging."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Backend verification:"]}," always verify payment results on your backend before fulfilling orders. Frontend callbacks can be manipulated."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Analytics:"]}," implement ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["analyticsEvent"]}," to monitor drop-in performance, conversion rates, and error patterns."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Testing:"]}," test with all enabled payment methods in both test and live environments before going to production."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"next-steps","__idx":26},"children":["Next steps"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/drop-in/ios/cards"},"children":["Cards"]},":"]}," configure card-specific settings."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/drop-in/ios/paypal"},"children":["PayPal"]},":"]}," configure PayPal-specific settings."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/drop-in/ios/apple-pay"},"children":["Apple Pay"]},":"]}," configure Apple Pay-specific settings."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/drop-in/ios/events"},"children":["Events"]},":"]}," learn about all available callbacks."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/drop-in/ios/error-handling"},"children":["Error handling"]},":"]}," implement robust error handling."]}]}]},"headings":[{"value":"Configuration","id":"configuration","depth":1},{"value":"Overview","id":"overview","depth":2},{"value":"Configuration structure","id":"configuration-structure","depth":2},{"value":"Required configuration","id":"required-configuration","depth":2},{"value":"Environment","id":"environment","depth":3},{"value":"Session data","id":"session-data","depth":3},{"value":"Owner identification","id":"owner-identification","depth":3},{"value":"Transaction data","id":"transaction-data","depth":3},{"value":"Transaction data properties","id":"transaction-data-properties","depth":4},{"value":"Merchant transaction ID","id":"merchant-transaction-id","depth":4},{"value":"Optional configuration","id":"optional-configuration","depth":2},{"value":"Unified callbacks","id":"unified-callbacks","depth":3},{"value":"Analytics","id":"analytics","depth":3},{"value":"Payment method configuration","id":"payment-method-configuration","depth":3},{"value":"Localisation","id":"localisation","depth":3},{"value":"Locale","id":"locale","depth":3},{"value":"Restrictions","id":"restrictions","depth":3},{"value":"Kount fraud detection","id":"kount-fraud-detection","depth":3},{"value":"Complete configuration examples","id":"complete-configuration-examples","depth":2},{"value":"Minimal configuration (most common)","id":"minimal-configuration-most-common","depth":3},{"value":"Full configuration (with all callbacks)","id":"full-configuration-with-all-callbacks","depth":3},{"value":"Fallback behaviour","id":"fallback-behaviour","depth":2},{"value":"Global and card fallbacks","id":"global-and-card-fallbacks","depth":3},{"value":"Apple Pay fallbacks","id":"apple-pay-fallbacks","depth":3},{"value":"PayPal fallbacks","id":"paypal-fallbacks","depth":3},{"value":"Scale best practice","id":"scale-best-practice","depth":2},{"value":"Next steps","id":"next-steps","depth":2}],"frontmatter":{"seo":{"title":"Configuration"}},"lastModified":"2026-07-14T09:12:22.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/checkout/drop-in/ios/configuration","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}