{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-guides/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["sub-heading","admonition"]},"type":"markdown"},"seo":{"title":"One-off payments","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":"one-off-payments","__idx":0},"children":["One-off payments"]},{"$$mdtype":"Tag","name":"SubHeading","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Process standard one-time Apple Pay transactions for Web with automatic 3D Secure authentication."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"overview","__idx":1},"children":["Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The SDK automatically handles 3D Secure (3DS) authentication based on transaction risk, regulatory requirements, and issuer policies."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["By implementing Apple Pay for standard payments, you benefit from:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Automatic 3DS evaluation:"]}," The SDK determines when 3DS authentication is required based on risk assessment, transaction amount, and regulatory requirements."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Enhanced security:"]}," 3DS adds multiple layers of authentication on top of Apple Pay's built-in biometric security."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Liability shift:"]}," Successful 3DS authentication typically shifts fraud liability from merchant to card issuer."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Seamless experience:"]}," 3DS often runs in the background with Apple Pay, providing frictionless authentication without additional customer steps."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Higher approval rates:"]}," Banks are more likely to approve transactions with 3DS authentication."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Fast checkout:"]}," For low-risk transactions, payments process immediately without 3DS overhead."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The same ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ApplePayButtonComponent"]}," handles both 3DS and non-3DS flows automatically. The SDK and backend determine the appropriate authentication level for each transaction."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"3d-secure-authentication","__idx":2},"children":["3D Secure authentication"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"automatic-evaluation","__idx":3},"children":["Automatic evaluation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The SDK automatically evaluates whether 3DS authentication is required for each transaction based on:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Transaction amount:"]}," Higher amounts typically trigger 3DS."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Risk assessment:"]}," Transaction and customer risk scores."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Regulatory requirements:"]}," Strong Customer Authentication (SCA) mandates in regions like Europe."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Merchant configuration:"]}," Your 3DS settings in the Unity Portal."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Issuer requirements:"]}," Bank policies for authentication."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Apple Pay security:"]}," Built-in biometric authentication may reduce 3DS requirements."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When you configure ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["merchantCapabilities: ['supports3DS']"]}," in your Apple Pay setup, you enable the SDK to apply 3DS authentication automatically when needed."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"authentication-flows","__idx":4},"children":["Authentication flows"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"frictionless-flow","__idx":5},"children":["Frictionless flow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For low-risk transactions, 3DS authentication completes automatically in the background without customer interaction:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The customer authorises the payment with Touch ID/Face ID in the Apple Pay sheet."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["3DS authentication evaluates transaction risk using Apple Pay data."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Authentication completes automatically (low risk detected)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The transaction proceeds to authorisation immediately."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This flow is common with Apple Pay because the biometric authentication provides strong security signals that reduce perceived risk."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"challenge-flow","__idx":6},"children":["Challenge flow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For higher-risk transactions, additional verification may be required:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The customer authorises the payment with Touch ID/Face ID in the Apple Pay sheet."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["3DS authentication evaluates transaction risk."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Additional verification is required (e.g., OTP from the customer's bank)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The customer completes the challenge."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The transaction proceeds to authorisation."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Challenge flows are less common with Apple Pay due to its inherent security features."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"payment-flow","__idx":7},"children":["Payment flow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Apple Pay payment flow consists of seven key steps, with 3DS evaluation happening automatically in the middle."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-1-apple-pay-authorisation","__idx":8},"children":["Step 1: Apple Pay authorisation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The customer authorises payment using Touch ID, Face ID, or passcode in the Apple Pay sheet. Apple's built-in validation occurs within the payment sheet. If validation passes, the payment token is generated."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-2-3ds-evaluation","__idx":9},"children":["Step 2: 3DS evaluation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The SDK automatically evaluates whether 3DS authentication is required based on:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Transaction amount and risk assessment."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Merchant configuration and regulatory requirements."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Apple Pay's built-in security (biometric authentication)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Issuer policies and customer history."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-3-payment-token-processing","__idx":10},"children":["Step 3: Payment token processing"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Apple Pay payment token is processed and prepared. The token contains encrypted payment data that will be used in the payment flow, with or without 3DS authentication."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-4-pre-authorisation-validation","__idx":11},"children":["Step 4: Pre-authorisation validation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onPreAuthorisation"]}," callback is triggered, allowing you to provide additional transaction data such as risk screening data or address verification information. You then decide whether to proceed or cancel the transaction."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After evaluating transaction details, use the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/apis/session/other/modify-session"},"children":["Modify Session"]}," API to update the authorisation decision on your backend before returning from this callback. Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"allowTransaction\": true"]}," in the session data to proceed with the transaction."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-5-3ds-authentication-if-required","__idx":12},"children":["Step 5: 3DS authentication (if required)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If 3DS is required, authentication occurs automatically:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Frictionless:"]}," Authentication completes in the background using Apple Pay security signals."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Challenge:"]}," Customer may be prompted for additional verification (less common with Apple Pay)."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If 3DS isn't required, this step is skipped entirely."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-6-transaction-authorisation","__idx":13},"children":["Step 6: Transaction authorisation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The SDK sends the authorisation request to the payment gateway, including:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The Apple Pay payment token."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["3DS authentication data (if 3DS was performed)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The risk screening results."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The address verification results."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The transaction is either approved or declined by the issuer."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-7-authorisation-result","__idx":14},"children":["Step 7: Authorisation result"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onPostAuthorisation"]}," callback receives transaction identifiers, which you use to retrieve the full authorisation details from your backend:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Transaction IDs for order tracking."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The authorisation status (approved/declined)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["3DS authentication results (if applicable)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Payment processing details."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"basic-example","__idx":15},"children":["Basic example"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Here's a minimal example showing Apple Pay with 3DS support:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"typescript","header":{"controls":{"copy":{}}},"source":"import { PxpCheckout } from 'pxp-checkout-sdk';\n\n// Initialise SDK\nconst pxpSdk = PxpCheckout.initialize({\n  environment: 'test',\n  session: {\n    sessionId: 'your-session-id',\n    allowedFundingTypes: {\n      wallets: {\n        applePay: {\n          merchantId: 'merchant.com.yourcompany.yourapp'\n        }\n      }\n    }\n  },\n  ownerId: 'your-owner-id',\n  ownerType: 'Merchant',\n  transactionData: {\n    currency: 'USD',\n    amount: 99.99,\n    merchantTransactionId: 'txn-' + Date.now(),\n    merchantTransactionDate: () => new Date().toISOString(),\n    entryType: 'Ecom',\n    intent: {\n      card: 'Purchase'\n    }\n  },\n  onGetShopper: () => {\n    return Promise.resolve({\n      id: 'shopper-123',\n      email: 'customer@example.com',\n      firstName: 'John',\n      lastName: 'Doe'\n    });\n  }\n});\n\n// Create Apple Pay component\nconst applePayComponent = pxpSdk.create('apple-pay-button', {\n  merchantDisplayName: 'Your Store',\n  paymentDescription: 'Purchase from Your Store',\n  usingCss: false,\n  paymentRequest: {\n    countryCode: 'US',\n    currencyCode: 'USD',\n    // Enable 3DS support - SDK applies it automatically when needed\n    merchantCapabilities: ['supports3DS', 'supportsEMV'],\n    supportedNetworks: ['visa', 'masterCard', 'amex'],\n    total: {\n      label: 'Total',\n      amount: '99.99'\n    }\n  },\n  onPostAuthorisation: async (data) => {\n    // Retrieve full authorisation result from backend\n    const result = await fetch(`/api/transactions/${data.merchantTransactionId}`);\n    const transactionData = await result.json();\n    \n    if (transactionData.status === 'Authorised') {\n      window.location.href = `/payment-success?txn=${data.merchantTransactionId}`;\n    } else {\n      alert('Payment declined. Please try again.');\n    }\n  }\n});\n\n// Mount the component\napplePayComponent.mount('apple-pay-container');\n","lang":"typescript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"events-and-callbacks","__idx":16},"children":["Events and callbacks"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Apple Pay component supports various callback events that allow you to customise the payment flow:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onPreAuthorisation"]},":"]}," Provide risk screening data, address verification, and control whether to proceed with authorisation."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onPostAuthorisation"]},":"]}," Handle authorisation results and retrieve full transaction details from your backend."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onShippingContactSelected"]},":"]}," Update totals based on shipping address changes."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onShippingMethodSelected"]},":"]}," Update totals when shipping methods change."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onPaymentMethodSelected"]},":"]}," Handle payment method changes."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onError"]},":"]}," Handle errors during the payment process."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onCancel"]},":"]}," Handle when customers cancel the payment."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For detailed information about all available events, including parameters, return values, and comprehensive examples, see the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/checkout/components/web/apple-pay/events"},"children":["Events"]}," page."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"complete-example-with-fraud-detection","__idx":17},"children":["Complete example with fraud detection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This example shows Apple Pay with risk screening and proper error handling:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"typescript","header":{"controls":{"copy":{}}},"source":"import { PxpCheckout } from 'pxp-checkout-sdk';\n\n// Initialise SDK\nconst pxpSdk = PxpCheckout.initialize({\n  environment: 'test',\n  session: {\n    sessionId: 'your-session-id',\n    allowedFundingTypes: {\n      wallets: {\n        applePay: {\n          merchantId: 'merchant.com.yourcompany.yourapp'\n        }\n      }\n    }\n  },\n  ownerId: 'your-owner-id',\n  ownerType: 'Merchant',\n  transactionData: {\n    currency: 'USD',\n    amount: 149.99,\n    merchantTransactionId: 'txn-' + Date.now(),\n    merchantTransactionDate: () => new Date().toISOString(),\n    entryType: 'Ecom',\n    intent: {\n      card: 'Purchase'\n    }\n  },\n  onGetShopper: () => {\n    return Promise.resolve({\n      id: 'shopper-123',\n      email: 'customer@example.com',\n      firstName: 'John',\n      lastName: 'Doe'\n    });\n  }\n});\n\n// Create Apple Pay component\nconst applePayComponent = pxpSdk.create('apple-pay-button', {\n  merchantDisplayName: 'Your Store',\n  paymentDescription: 'Premium Product Purchase',\n  usingCss: false,\n  paymentRequest: {\n    countryCode: 'US',\n    currencyCode: 'USD',\n    merchantCapabilities: ['supports3DS', 'supportsEMV'],\n    supportedNetworks: ['visa', 'masterCard', 'amex', 'discover'],\n    total: {\n      label: 'Your Store',\n      amount: '149.99'\n    },\n    lineItems: [\n      { label: 'Premium Product', amount: '140.00' },\n      { label: 'Shipping', amount: '5.00' },\n      { label: 'Tax', amount: '4.99' }\n    ]\n  },\n  \n  onPreAuthorisation: async () => {\n    // Provide fraud detection data\n    return {\n      riskScreeningData: {\n        performRiskScreening: true,\n        deviceSessionId: await getKountSessionId(),\n        userIp: \"192.168.1.100\",\n        account: {\n          id: \"user_12345678\",\n          creationDateTime: \"2024-01-15T10:30:00.000Z\"\n        },\n        items: [{\n          price: 140.00,\n          quantity: 1,\n          category: 'Electronics',\n          sku: 'PREM-001'\n        }],\n        fulfillments: [{\n          type: \"Shipped\",\n          shipping: {\n            shippingMethod: \"Express\"\n          },\n          recipientPerson: {\n            phoneNumber: \"+1234567890\",\n            email: \"customer@example.com\"\n          }\n        }],\n        transaction: {\n          subtotal: 140.00\n        }\n      },\n      addressVerification: {\n        countryCode: 'US',\n        postalCode: '10001'\n      }\n    };\n  },\n  \n  onPostAuthorisation: async (data) => {\n    try {\n      // Retrieve full authorisation result from backend\n      const response = await fetch(`/api/transactions/${data.merchantTransactionId}`);\n      const result = await response.json();\n      \n      if (result.status === 'Authorised') {\n        // Check if 3DS was applied\n        if (result.threeDSecureResult) {\n          console.log('Payment authorised with 3DS');\n          console.log('ECI:', result.threeDSecureResult.eci);\n        } else {\n          console.log('Payment authorised without 3DS (low risk)');\n        }\n        \n        // Redirect to success page\n        window.location.href = `/payment-success?txn=${data.merchantTransactionId}`;\n        \n      } else {\n        alert('Payment declined. Please try a different payment method.');\n      }\n    } catch (error) {\n      console.error('Failed to retrieve authorisation result:', error);\n      alert('Unable to confirm payment status. Please contact support.');\n    }\n  },\n  \n  onError: (error) => {\n    console.error('Apple Pay error:', error);\n    if (!error.message.includes('User cancelled')) {\n      alert('Payment error. Please try again.');\n    }\n  }\n});\n\n// Mount the component\napplePayComponent.mount('apple-pay-container');\n\n// Helper function for fraud detection\nasync function getKountSessionId() {\n  // Implement device fingerprinting with Kount\n  return 'device-session-' + Date.now();\n}\n","lang":"typescript"},"children":[]}]},"headings":[{"value":"One-off payments","id":"one-off-payments","depth":1},{"value":"Overview","id":"overview","depth":2},{"value":"3D Secure authentication","id":"3d-secure-authentication","depth":2},{"value":"Automatic evaluation","id":"automatic-evaluation","depth":3},{"value":"Authentication flows","id":"authentication-flows","depth":3},{"value":"Frictionless flow","id":"frictionless-flow","depth":4},{"value":"Challenge flow","id":"challenge-flow","depth":4},{"value":"Payment flow","id":"payment-flow","depth":2},{"value":"Step 1: Apple Pay authorisation","id":"step-1-apple-pay-authorisation","depth":3},{"value":"Step 2: 3DS evaluation","id":"step-2-3ds-evaluation","depth":3},{"value":"Step 3: Payment token processing","id":"step-3-payment-token-processing","depth":3},{"value":"Step 4: Pre-authorisation validation","id":"step-4-pre-authorisation-validation","depth":3},{"value":"Step 5: 3DS authentication (if required)","id":"step-5-3ds-authentication-if-required","depth":3},{"value":"Step 6: Transaction authorisation","id":"step-6-transaction-authorisation","depth":3},{"value":"Step 7: Authorisation result","id":"step-7-authorisation-result","depth":3},{"value":"Basic example","id":"basic-example","depth":2},{"value":"Events and callbacks","id":"events-and-callbacks","depth":2},{"value":"Complete example with fraud detection","id":"complete-example-with-fraud-detection","depth":2}],"frontmatter":{"seo":{"title":"One-off payments"}},"lastModified":"2026-04-22T11:40:18.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/checkout/components/web/apple-pay/payments","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}