{"componentChunkName":"component---src-templates-article-template-tsx","path":"/cl/en/recurring-payments/apple-pay","result":{"data":{"article":{"title":"Apple Pay for Subscriptions","subtitle":"Accept recurring payments with Apple Pay","fullWidth":null,"hero":null,"heroTextColor":null,"heroImg":null,"content":[{"body":{"childMdx":{"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {};\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\nvar Aside = makeShortcode(\"Aside\");\nvar CountryContent = makeShortcode(\"CountryContent\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Accept recurring payments with Apple Pay in your Kushki integration. Depending on the type of solution you use (Smartlink, Custom Integration, or Direct Apple Pay Integration), the configuration process varies.\"), mdx(Aside, {\n    title: \"Important\",\n    type: \"danger\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"\\uD83D\\uDEA7 BETA: Limited Availability \\uD83C\\uDDF5\\uD83C\\uDDEA \\uD83C\\uDDE8\\uD83C\\uDDF1 \\uD83C\\uDDF2\\uD83C\\uDDFD\\nPlease note that Apple Pay is currently in Beta. This functionality is only available for merchants in Chile, Mexico, and Peru.\")), mdx(\"h2\", {\n    \"id\": \"supported-capabilities\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#supported-capabilities\",\n    \"aria-label\": \"supported capabilities permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Supported capabilities\"), mdx(CountryContent, {\n    only: \"mx\",\n    mdxType: \"CountryContent\"\n  }, mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Feature\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"center\"\n  }, \"Availability in Mexico \\uD83C\\uDDF2\\uD83C\\uDDFD\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"One-time payments\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"center\"\n  }, \"\\u2705 Supported\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Pre-authorization and Capture\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"center\"\n  }, \"\\u2705 Supported\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Subscriptions\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"center\"\n  }, \"\\u2705 Supported\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Installments\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"center\"\n  }, \"\\u26D4\\uFE0F Not supported\")))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Supported cards:\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Visa\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Mastercard\"))), mdx(CountryContent, {\n    only: \"cl\",\n    mdxType: \"CountryContent\"\n  }, mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Feature\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"center\"\n  }, \"Availability in Chile \\uD83C\\uDDE8\\uD83C\\uDDF1\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"One-time payments\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"center\"\n  }, \"\\u2705 Supported\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Pre-authorization and Capture\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"center\"\n  }, \"\\u2705 Supported\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Subscriptions\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"center\"\n  }, \"\\u2705 Supported\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Issuer and merchant installments\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"center\"\n  }, \"\\u26D4\\uFE0F Not supported\")))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Supported cards:\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Visa\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Mastercard\"))), mdx(CountryContent, {\n    only: \"pe\",\n    mdxType: \"CountryContent\"\n  }, mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Feature\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"center\"\n  }, \"Availability in Peru \\uD83C\\uDDF5\\uD83C\\uDDEA\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"One-time payments\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"center\"\n  }, \"\\u2705 Supported\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Pre-authorization and Capture\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"center\"\n  }, \"\\u26D4\\uFE0F Not supported\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Subscriptions\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"center\"\n  }, \"\\u2705 Supported\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Issuer and merchant installments\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"center\"\n  }, \"\\u26D4\\uFE0F Not supported\")))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Supported cards:\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Visa\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Mastercard\"))), mdx(\"h2\", {\n    \"id\": \"1-no-code-integrations-smartlinks\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#1-no-code-integrations-smartlinks\",\n    \"aria-label\": \"1 no code integrations smartlinks permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"1. No-code integrations: Smartlinks\"), mdx(\"p\", null, \"If you use Smartlinks, the technical integration is already handled. However, you need to manually enable this option in your Kushki Console.\"), mdx(\"p\", null, \"When creating or editing your Smartlink in the Console, select the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Subscription\"), \" or \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Combined\"), \" payment type and make sure to enable the Apple Pay toggle under the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Payment Methods\"), \" section.\"), mdx(Aside, {\n    title: \"Note\",\n    type: \"info\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"The Payment Button (Webcheckout) does not support subscriptions, so this option does not apply to that product.\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Smartlinks:\"), \" Follow the step-by-step guide for \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/smartlnks/smartlink#1-crea-un-smartlink\"\n  }, \"enabling Apple Pay in Smartlinks.\"))), mdx(\"h2\", {\n    \"id\": \"2-custom-integrations-libraries-and-kajita\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#2-custom-integrations-libraries-and-kajita\",\n    \"aria-label\": \"2 custom integrations libraries and kajita permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"2. Custom integrations: Libraries and Kajita\"), mdx(Aside, {\n    title: \"Do I need an Apple Developer account?\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"No\"), \". For \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"No-Code integrations (Smartlinks)\"), \" and \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Custom integrations (libraries and Kajita)\"), \", you do not need an Apple Developer account.\"), mdx(\"p\", null, \"By using Kushki as your processor, we handle the complexity of Apple certificates on your behalf. You only need to host the file we provide to prove that you own the domain.\")), mdx(\"p\", null, \"If you use Kushki.js (v1 or v2 - Hosted Fields) or Kajita, a domain verification is required to ensure your website is authorized to process payments with Apple Pay.\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Prerequisites:\"), \" Before getting started, make sure you have access to the Kushki Console, specifically the Configuration module.\"), mdx(\"h3\", {\n    \"id\": \"step-1-request-the-verification-file\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#step-1-request-the-verification-file\",\n    \"aria-label\": \"step 1 request the verification file permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Step 1: Request the verification file\"), mdx(\"p\", null, \"To validate your domain, you need the Apple merchant association file (apple-developer-merchantid-domain-association).\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Contact the Kushki Support team.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Request the Apple Pay configuration certificate.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Specify which environment you need the file for: Testing (UAT) or Production.\")), mdx(Aside, {\n    title: \"Important\",\n    type: \"danger\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"\\u26A0\\uFE0F Important: Verification files are unique to each environment. Make sure to request and use the correct file for UAT or Production accordingly.\")), mdx(\"h3\", {\n    \"id\": \"step-2-host-the-file-on-your-server\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#step-2-host-the-file-on-your-server\",\n    \"aria-label\": \"step 2 host the file on your server permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Step 2: Host the file on your server\"), mdx(\"p\", null, \"Once Kushki provides the file, you must host it on your web server. Apple requires this file to be publicly accessible over HTTPS at a specific path.\"), mdx(\"p\", null, \"Create a folder named \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \".well-known\"), \" at the root of your domain and place the downloaded file there. The final URL should look like this:\"), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"https://your-domain.com/.well-known/apple-developer-merchantid-domain-association\")), mdx(\"p\", null, \"You can verify the file is correctly hosted by running the following command in your terminal or simply pasting the URL into your browser:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"curl -I https://your-domain.com/.well-known/apple-developer-merchantid-domain-association\\n\")), mdx(\"p\", null, \"You should receive a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"200 OK\"), \" response and the file should be downloadable or visible.\"), mdx(\"h3\", {\n    \"id\": \"step-3-register-your-domain-in-the-kushki-console\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#step-3-register-your-domain-in-the-kushki-console\",\n    \"aria-label\": \"step 3 register your domain in the kushki console permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Step 3: Register your domain in the Kushki Console\"), mdx(\"p\", null, \"With the file correctly hosted, the final step is to register your domain on our platform to complete the association.\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Log in to the Kushki Console.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Go to \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Configuration > Integrations\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Find the \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Apple Pay\"), \" section.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Enter your domain URL (e.g., \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"your-domain.com\"), \") in the corresponding field.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Click \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Register or Verify\"), \".\")), mdx(\"p\", null, \"At this point, Kushki will communicate with Apple to verify that the file exists on your server. If everything is correct, the domain will be verified.\"), mdx(\"h3\", {\n    \"id\": \"step-4-technical-implementation\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#step-4-technical-implementation\",\n    \"aria-label\": \"step 4 technical implementation permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Step 4: Technical implementation\"), mdx(\"p\", null, \"Once the domain is verified, proceed with the technical implementation according to your integration method:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Kajita:\"), \" Follow the guide to \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://docs.kushki.com/cl/payment-forms-and-buttons/kajita/create-a-payment-form#activaci%C3%B3n-de-apple-pay\"\n  }, \"enable Apple Pay in your Kajita form.\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Kushki.js v2 (Hosted Fields):\"), \" Check the \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://api-docs.kushkipagos.com/docs/libraries/kushkijs-hosted-fields#subscription\"\n  }, \"Apple Pay integration documentation for v2\"), \" for the subscription integration example.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Kushki.js v1:\"), \" See the \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://api-docs.kushkipagos.com/docs/libraries/kushkijs#recurring-charges-examples\"\n  }, \"subscription examples\"), \" for implementation details.\")), mdx(\"h2\", {\n    \"id\": \"3-direct-apple-pay-integration\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#3-direct-apple-pay-integration\",\n    \"aria-label\": \"3 direct apple pay integration permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"3. Direct Apple Pay integration\"), mdx(\"p\", null, \"This guide details the process for obtaining the necessary credentials directly from Apple.\"), mdx(Aside, {\n    type: \"info\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"\\u2139\\uFE0F \\uD83D\\uDC49 For more information, refer to the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://developer.apple.com/help/account#/devbfa00fef7\"\n  }, \"official Apple Developer documentation\"), \".\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Please note that Apple is a third-party provider, so their documentation and processes may change without prior notice.\"))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Prerequisites:\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"You must have an active \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://developer.apple.com/\"\n  }, \"Apple Developer\"), \" account.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"This account has an annual cost. See details at the \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://developer.apple.com/programs/\"\n  }, \"Apple Developer Program \\u203A\"))), mdx(\"h3\", {\n    \"id\": \"phase-1-get-your-merchant-id\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#phase-1-get-your-merchant-id\",\n    \"aria-label\": \"phase 1 get your merchant id permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Phase 1. Get your Merchant ID\"), mdx(\"p\", null, \"The Merchant ID identifies your business for accepting payments.\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Sign in to your active \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://developer.apple.com/\"\n  }, \"Apple\"), \" account.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Go to the \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Certificates, Identifiers & Profiles\"), \" section.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Select \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Identifiers\"), \" from the side menu, then \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Merchant IDs\"), \" from the list on the right.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Click the blue \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"(+)\"), \" button to add a new one.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Select \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Merchant IDs\"), \" and click \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Continue\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Enter a \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Description\"), \" and a \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Unique Identifier\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Review the details and click \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Register\"), \".\")), mdx(\"h3\", {\n    \"id\": \"phase-2-get-the-merchant-identity-certificate\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#phase-2-get-the-merchant-identity-certificate\",\n    \"aria-label\": \"phase 2 get the merchant identity certificate permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Phase 2: Get the Merchant Identity Certificate\"), mdx(\"p\", null, \"This certificate validates that your website is legitimate to display the Apple Pay button. Apple requires RSA 2048-bit encryption for this step.\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Generate the RSA private key: Open your terminal and run the following command to create your key:\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"openssl genrsa -out merchant.key 2048\\n\")), mdx(\"ol\", {\n    \"start\": 2\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Create the Certificate Signing Request (CSR): Generate the \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \".csr\"), \" file using your Merchant ID as the common name.\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"openssl req -new -key merchant.key -out merchant.csr \\\\-subj \\\"{merchant_ID}\\\"\\n\")), mdx(\"ol\", {\n    \"start\": 3\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Create in Apple:\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Return to the Apple console (Merchant IDs section), select your ID and click \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Create Certificate\"), \" under the Apple Pay Merchant Identity Certificate heading.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Upload the generated \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"merchant_id.csr\"), \" file and click \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Continue\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Download the certificate (\", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"merchant_id.cer\"), \").\")), mdx(\"h3\", {\n    \"id\": \"phase-3-generate-the-apple-pay-payment-processing-certificate\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#phase-3-generate-the-apple-pay-payment-processing-certificate\",\n    \"aria-label\": \"phase 3 generate the apple pay payment processing certificate permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Phase 3: Generate the Apple Pay Payment Processing Certificate\"), mdx(\"p\", null, \"Once the Merchant ID and Merchant Identity Certificate have been generated, you need to obtain a Certificate Signing Request.\"), mdx(\"p\", null, \"Follow these steps to obtain the certificate:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Create the EC private key (P-256): Run the following command to generate the processing key:\")), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"openssl ecparam -name prime256v1 -genkey -noout -out payment.key\")), mdx(Aside, {\n    type: \"info\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"\\uD83D\\uDD10 Critical File: The resulting \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"payment.key\"), \" file is your Private Key. Store it in a safe place.\")), mdx(\"ol\", {\n    \"start\": 2\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Create the Certificate Signing Request (CSR): Generate the file to submit to Apple using your Merchant ID.\")), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"openssl req -new -key payment.key -out payment.csr \\\\-subj \\\"/CN={merchant_ID}\\\"\")), mdx(\"ol\", {\n    \"start\": 3\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Activate your certificate in Apple:\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Return to the console and select \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Certificates, Identifiers & Profiles\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Under \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Identifiers\"), \", select \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Merchant ID\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Select the Merchant ID created earlier.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"In the \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Apple Pay Payment Processing Certificate\"), \" section, click \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Create Certificate\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Follow the instructions, then upload the generated file.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Download the final certificate to complete the process.\")), mdx(\"h3\", {\n    \"id\": \"phase-4-validate-your-web-domain\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#phase-4-validate-your-web-domain\",\n    \"aria-label\": \"phase 4 validate your web domain permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Phase 4. Validate your Web Domain\"), mdx(\"p\", null, \"Apple needs to confirm that you own the website.\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"In your Merchant ID, go to the \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Merchant Domains\"), \" section.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Click \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Add Domain\"), \", enter your website (e.g., \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"www.example.com\"), \" or \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"example.com\"), \") and save.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Download the verification file.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Host the file in the \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \".well-known\"), \" path on your server.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Return to the Apple console and click \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Verify\"), \".\")), mdx(\"h4\", {\n    \"id\": \"41-verification-confirmation\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h4\",\n    \"href\": \"#41-verification-confirmation\",\n    \"aria-label\": \"41 verification confirmation permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"4.1. Verification confirmation:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Success:\"), \" If the file is accessible, Apple will verify the domain immediately and you will see the status as \\u201CVerified\\u201D.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Error:\"), \" If verification fails, review these critical points before trying again:\", mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Exact path:\"), \" make sure the folder is named \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \".well-known\"), \" (with the leading dot) and the filename has no extra extensions.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Accessibility:\"), \" try opening the file URL from an incognito browser window. If you cannot see it, Apple won\\u2019t be able to either.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Redirects:\"), \" make sure your server is not forcing redirects or security blocks (firewalls) that prevent the text file from being read directly.\")))), mdx(\"h3\", {\n    \"id\": \"phase-5-web-implementation-and-tokenization\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#phase-5-web-implementation-and-tokenization\",\n    \"aria-label\": \"phase 5 web implementation and tokenization permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Phase 5: Web Implementation and Tokenization\"), mdx(\"p\", null, \"Once you have your certificates and your domain is verified, proceed with coding the payment button on your website.\"), mdx(Aside, {\n    title: \"Important\",\n    type: \"danger\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"For button implementation and further information, refer to the official \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://developer.apple.com/documentation/applepayontheweb\"\n  }, \"Apple Pay on the Web\"), \" guide.\")), mdx(\"p\", null, \"Follow these steps:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Create the Apple Pay Session:\"), \" Use your Merchant Identity Certificate (generated in Phase 2) to communicate with Apple\\u2019s servers. This is required to validate your identity and allow the payment sheet (Wallet) to display on the customer\\u2019s device.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Decrypt the data:\"), \" Once the customer authorizes the subscription, Apple will return an encrypted payment object. Use the private key from your Payment Processing Certificate (generated in Phase 3) to decrypt this package and obtain the card data (DPAN, cryptogram, etc.).\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Tokenize with Kushki:\"), \" With the decrypted card data, send it to Kushki to generate a secure subscription token.\")), mdx(\"p\", null, \"You must call the endpoint to create a \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Network Token\"), \" with the corresponding subscription parameter.\"), mdx(Aside, {\n    type: \"info\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"See the required parameters in our \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://api-docs.kushkipagos.com/docs/online-payments/card/operations/create-a-card-v-1-token\"\n  }, \"API Reference: Create a Card Token \\u203A\"), \".\")), mdx(\"h2\", {\n    \"id\": \"frequently-asked-questions-faq\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#frequently-asked-questions-faq\",\n    \"aria-label\": \"frequently asked questions faq permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Frequently Asked Questions (FAQ)\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Are there special decline codes for Apple Pay transactions?\"), \" No, because the transaction travels to the card networks through the same card flow, and the same existing decline codes apply.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Are there maximum or minimum transaction amounts?\"), \" No, there are no specific amount limits imposed by Apple Pay.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Does it work from mobile apps?\"), \" No. Currently, the functionality is only available for purchases made through web browsers.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Does domain registration need to be done in both UAT (testing) and Production?\"), \" Yes, Apple requires the domain to be validated in both environments to process payments correctly.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Does 3DS authentication apply to Apple Pay transactions?\"), \" Apple Pay transactions do not require 3DS because when the card is registered in the wallet, the process is authorized by the Issuer.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Is the subscription token generated with Apple Pay different from a one-time payment token?\"), \" Yes. By including \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"isSubscription: true\"), \" in \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"requestApplePayToken\"), \", Kushki generates a subscription token that must be used exclusively with the recurring charge endpoint. It is not interchangeable with a one-time payment token.\")));\n}\n;\nMDXContent.isMDXComponent = true;","excerpt":"Accept recurring payments with Apple Pay in your Kushki integration. Depending on the type of solution you use (Smartlink, Custom…","timeToRead":5,"tableOfContents":{"items":[{"url":"#supported-capabilities","title":"Supported capabilities"},{"url":"#1-no-code-integrations-smartlinks","title":"1. No-code integrations: Smartlinks"},{"url":"#2-custom-integrations-libraries-and-kajita","title":"2. Custom integrations: Libraries and Kajita","items":[{"url":"#step-1-request-the-verification-file","title":"Step 1: Request the verification file"},{"url":"#step-2-host-the-file-on-your-server","title":"Step 2: Host the file on your server"},{"url":"#step-3-register-your-domain-in-the-kushki-console","title":"Step 3: Register your domain in the Kushki Console"},{"url":"#step-4-technical-implementation","title":"Step 4: Technical implementation"}]},{"url":"#3-direct-apple-pay-integration","title":"3. Direct Apple Pay integration","items":[{"url":"#phase-1-get-your-merchant-id","title":"Phase 1. Get your Merchant ID"},{"url":"#phase-2-get-the-merchant-identity-certificate","title":"Phase 2: Get the Merchant Identity Certificate"},{"url":"#phase-3-generate-the-apple-pay-payment-processing-certificate","title":"Phase 3: Generate the Apple Pay Payment Processing Certificate"},{"url":"#phase-4-validate-your-web-domain","title":"Phase 4. Validate your Web Domain","items":[{"url":"#41-verification-confirmation","title":"4.1. Verification confirmation:"}]},{"url":"#phase-5-web-implementation-and-tokenization","title":"Phase 5: Web Implementation and Tokenization"}]},{"url":"#frequently-asked-questions-faq","title":"Frequently Asked Questions (FAQ)"}]}}},"updatedAt":"May 21, 2026","tabTitle":null}]}},"pageContext":{"country":"cl","id":"c545baa7-3e36-598d-9eec-8ad71fbb3537","locale":"en","localeDateFormat":"MMMM DD, YYYY"}},"staticQueryHashes":["1632712422","2408418099","63159454"]}