{"id":19740,"date":"2024-10-16T10:00:16","date_gmt":"2024-10-16T10:00:16","guid":{"rendered":"https:\/\/www.magexo.cz\/blog\/2024\/10\/16\/prizpusobeni-checkout-business-logiky-se-shopify-functions\/"},"modified":"2024-10-16T12:44:33","modified_gmt":"2024-10-16T12:44:33","slug":"customize-checkout-business-logic-with-shopify-functions","status":"publish","type":"post","link":"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/","title":{"rendered":"Customize checkout business logic with Shopify functions"},"content":{"rendered":"\n<p>To cater to the unique needs of merchants, Shopify offers robust customization capabilities, particularly in the checkout process, through a feature called <strong>Shopify Functions<\/strong>. In this article, we&#8217;ll explore what Shopify Functions are, how they work, who can use them, common use-cases, and their limitations. We&#8217;ll also provide code examples to illustrate how you can utilize these functions to customize the checkout experience.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading has-luminous-vivid-orange-color has-text-color\"><strong><strong><strong><strong><strong>What are Shopify Functions?<\/strong><\/strong><\/strong><\/strong><\/strong><\/h2>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=wNdvxLzWUQg\" data-rel=\"lightbox-video-0\">Shopify Functions<\/a> \u00a0are a new type of extensibility that allows developers to customize the backend logic of Shopify stores. Unlike traditional Shopify apps that run on external servers and interact with the store via APIs, Functions run directly on Shopify&#8217;s infrastructure. This proximity allows for more efficient and secure customizations, especially for checkout processes.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.shopify.com\/enterprise\/blog\/shopify-functions\">Shopify Functions<\/a> \u00a0enable developers to modify or extend Shopify&#8217;s core functionality in a scalable and secure way. They are primarily used to manipulate aspects like pricing, shipping, discounts, and other business logic at checkout.<\/p>\n\n\n\n<div style=\"height:70px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-luminous-vivid-orange-color has-text-color\"><strong><strong><strong><strong>How Shopify Functions work<\/strong><\/strong><\/strong><\/strong><\/h2>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Shopify Functions are powered by WebAssembly (WASM), a lightweight binary format that allows code to run with near-native performance within Shopify&#8217;s platform. Developers can write these functions in programming languages like JavaScript, TypeScript, Rust, and others, which are then compiled to WASM for efficient execution. This approach ensures reliable and secure function execution with minimal latency. Functions are triggered by specific events within Shopify&#8217;s ecosystem, such as when a customer reaches the checkout page or selects a delivery option.<\/p>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Functions-1024x761.png\" data-rel=\"lightbox-image-0\" data-rl_title=\"Shopify_Functions\" data-rl_caption=\"\" title=\"Shopify_Functions\"><img data-aspectratio=\"1024\/761\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" decoding=\"async\" width=\"1024\" height=\"761\" data-src=\"https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Functions-1024x761.png\" alt=\"Shopify Functions\" class=\"wp-image-19725 lazyload\" data-srcset=\"https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Functions-1024x761.png 1024w, https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Functions-300x223.png 300w, https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Functions-768x571.png 768w, https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Functions-450x335.png 450w, https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Functions-260x193.png 260w, https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Functions-384x286.png 384w, https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Functions.png 1318w, https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Functions-300x223@2x.png 600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n<p class=\"has-text-align-center has-small-font-size\">Source: <a href=\"https:\/\/shopify.dev\/docs\/apps\/build\/functions\">shopify.com<\/a><\/p>\n\n\n\n<div style=\"height:70px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-luminous-vivid-orange-color has-text-color\"><strong><strong><strong><strong>Key characteristics of Shopify Functions<\/strong><\/strong><\/strong><\/strong><\/h2>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Functions are triggered by events, such as checkout initiation, discount application, or shipping selection.<\/li>\n\n\n\n<li>They are defined using a manifest file that specifies the input and output types, as well as the logic of the function.<\/li>\n\n\n\n<li>Shopify Functions run in a sandboxed environment, ensuring the safety and stability of the platform.<\/li>\n<\/ul>\n\n\n\n<p><strong>Here\u2019s a simplified flow of how Shopify Functions operate:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>An event (e.g., checkout, shipping method selection) triggers the function.<\/li>\n\n\n\n<li>Shopify provides relevant input data to the function (e.g., cart details, customer information).<\/li>\n\n\n\n<li>The function executes its logic based on the input data.<\/li>\n\n\n\n<li>The function returns an output that modifies the checkout process, such as adding a discount or offering a custom shipping rate.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:70px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-luminous-vivid-orange-color has-text-color\"><strong><strong><strong><strong><strong>Who can use Shopify Functions?<\/strong><\/strong><\/strong><\/strong><\/strong><\/h2>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Shopify Functions are primarily designed for <strong>Shopify Plus merchants<\/strong> and <strong>developers<\/strong> building custom functionalities for them.<\/p>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Fuctions_users-1024x756.png\" data-rel=\"lightbox-image-1\" data-rl_title=\"Shopify_Fuctions_users\" data-rl_caption=\"\" title=\"Shopify_Fuctions_users\"><img data-aspectratio=\"1024\/756\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" decoding=\"async\" width=\"1024\" height=\"756\" data-src=\"https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Fuctions_users-1024x756.png\" alt=\"Shopify Functions users\" class=\"wp-image-19728 lazyload\" data-srcset=\"https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Fuctions_users-1024x756.png 1024w, https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Fuctions_users-300x222.png 300w, https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Fuctions_users-768x567.png 768w, https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Fuctions_users-450x332.png 450w, https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Fuctions_users-260x192.png 260w, https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Fuctions_users-384x284.png 384w, https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Fuctions_users.png 1370w, https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/Shopify_Fuctions_users-300x222@2x.png 600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n<p class=\"has-text-align-center has-small-font-size\">Zdroj: <a href=\"https:\/\/shopify.dev\/docs\/apps\/build\/functions\">shopify.com<\/a><\/p>\n\n\n\n<div style=\"height:70px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-luminous-vivid-orange-color has-text-color\"><strong><strong><strong><strong><strong><strong>Common use-cases for Shopify Functions<\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/h2>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Shopify Functions provide a powerful way to customize and enhance the checkout process. Here are some common use-cases:<\/p>\n\n\n\n<p><strong>Dynamic discounts<\/strong><br>You can create highly customized discount logic that is not possible with Shopify&#8217;s built-in discount features. For instance, a function could offer a &#8220;Buy One Get One Free&#8221; discount for specific products or create tiered discounts based on the total number of items in the cart.<\/p>\n\n\n\n<p><strong>Product-specific checkout rules<\/strong><br>Implement checkout rules that apply only to specific products. For example, if a certain product is in the cart, you can enforce a minimum order quantity or restrict certain payment methods.<\/p>\n\n\n\n<p><strong>Custom shipping methods and rates<\/strong><br>Shopify Functions can be used to define custom shipping methods based on various conditions such as customer location, cart contents, or order value. For example, a merchant could offer free shipping for orders over $100 only to customers located in specific regions. Some brands offer special shipping options, like bike shipping, that only display to customers that live within a certain local area based on ZIP or postal codes.&nbsp;<\/p>\n\n\n\n<p><strong>Custom payment method selection<\/strong><br>Shopify Functions can allow merchants to customize available payment methods based on various conditions like cart contents or customer attributes. For instance, you can restrict certain payment methods for high-value orders (e.g., offer cash-on-delivery as a payment option only up to a specific dollar amount).&nbsp;<\/p>\n\n\n\n<p>For more information, check out tutorials on building with <a href=\"https:\/\/shopify.dev\/docs\/apps\/checkout\/payment-customizations?itcat=partnersblog&amp;itterm=shopify-functions-apis\">payment customizations<\/a> and <a href=\"https:\/\/shopify.dev\/docs\/apps\/checkout\/delivery-customizations?itcat=partnersblog&amp;itterm=shopify-functions-apis\">delivery customizations<\/a>.<\/p>\n\n\n\n<div style=\"height:70px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-luminous-vivid-orange-color has-text-color\"><strong>Example: Creating a Custom Shipping Option<\/strong><\/h2>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>This example demonstrates how to create a custom shipping option using Shopify Functions. It offers free express shipping for customers in the Czech Republic who have more than 5000 CZK worth of items in their cart.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><strong>Step 1: Define the Shopify Function<\/strong><\/strong><\/h4>\n\n\n\n<p>For this example, we will write the function in JavaScript using the Shopify Function template. We will use the <kbd>run.liquid<\/kbd> file to define the logic.<\/p>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color has-small-font-size wp-elements-7bf76471ce46dfd44f966e8dc6ca51f8\"><code><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">export default function<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">run<\/mark>(\n  input,\n  {\n    deliveryGroups: {\n      deliveryOptions: deliveryOptions,\n      cartLines: cartLines,\n      customer: customer,\n    },\n  }\n) {\n  <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">let<\/mark> availableDeliveryOptions = &#91;];\n\n <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\"> const<\/mark> totalCartValue = cartLines.<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">reduce<\/mark>((acc, line) =&gt; {\n    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">return<\/mark> acc + line.priceSet.presentmentMoney.amount;\n  }, <mark style=\"background-color:rgba(0, 0, 0, 0);color:#b93b5a\" class=\"has-inline-color\">0<\/mark>);\n\n  <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">const<\/mark> isCustomerInCzechRepublic = customer &amp;&amp; customer.address &amp;&amp; customer.address.countryCode === 'CZ';\n\n  <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">if<\/mark> (isCustomerInCzechRepublic &amp;&amp; totalCartValue &gt; <mark style=\"background-color:rgba(0, 0, 0, 0);color:#b93b5a\" class=\"has-inline-color\">5000<\/mark>) {\n    availableDeliveryOptions.<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">push<\/mark>({\n      <mark style=\"background-color:rgba(0, 0, 0, 0);color:#b93b5a\" class=\"has-inline-color\">title<\/mark>: '<mark style=\"background-color:rgba(0, 0, 0, 0);color:#2ea678\" class=\"has-inline-color\">Free Express Shipping<\/mark>',\n      <mark style=\"background-color:rgba(0, 0, 0, 0);color:#b93b5a\" class=\"has-inline-color\">handle<\/mark>: '<mark style=\"background-color:rgba(0, 0, 0, 0);color:#2ea678\" class=\"has-inline-color\">free_express_shipping<\/mark>',\n     <mark style=\"background-color:rgba(0, 0, 0, 0);color:#b93b5a\" class=\"has-inline-color\"> price<\/mark>: <mark style=\"background-color:rgba(0, 0, 0, 0);color:#b93b5a\" class=\"has-inline-color\">0<\/mark>,\n    });\n  }\n\n  availableDeliveryOptions = &#91;...availableDeliveryOptions, ...deliveryOptions];\n\n  <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">return<\/mark> { availableDeliveryOptions };\n}<\/code><\/pre>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>This JavaScript function checks whether a customer is located in the Czech Republic and if their cart total exceeds 5000 CZK. If both conditions are true, a &#8220;Free Express Shipping&#8221; option is added to the available delivery options during checkout.<\/p>\n\n\n\n<p><strong><strong>Step 2: Deploy and Test the Function<\/strong><br><br><\/strong>Once the logic is written, you need to deploy the function using Shopify CLI or other deployment tools.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Update access scopes<\/li>\n\n\n\n<li>Deploy the app<\/li>\n\n\n\n<li>Create delivery customization via GraphiQL &#8211; read more <a href=\"https:\/\/shopify.dev\/docs\/apps\/build\/checkout\/delivery-shipping\/delivery-options\/build-function#step-3-create-the-delivery-customization-with-graphiql\">here<\/a>.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:70px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-luminous-vivid-orange-color has-text-color\"><strong><strong><strong><strong><strong><strong><strong><strong>Limitations of Shopify Functions<\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/h2>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>While Shopify Functions are powerful, there are a few limitations to keep in mind:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Shopify Functions are usually available only on Shopify Plus plan. Some can also be used on other plans, but only through App Store apps, such as Payify, which allows you to hide specific payment methods.<\/li>\n\n\n\n<li>You need to write functions in languages that compile to WebAssembly.\u00a0<\/li>\n\n\n\n<li>Shopify Functions are currently limited to specific checkout-related events (e.g., delivery options, discounts).\u00a0<\/li>\n\n\n\n<li>Since the code runs in a sandboxed environment, there are limitations on accessing external APIs and services directly.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:70px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-luminous-vivid-orange-color has-text-color\"><strong><strong><strong><strong><strong><strong><strong><strong><strong>Conclusion<\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/h2>\n\n\n\n<div style=\"height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Shopify Functions provide a powerful way for developers to customize the checkout experience in Shopify stores. They offer a high degree of flexibility, scalability, and security for Shopify Plus merchants looking to implement unique business logic. With their event-driven nature and ability to run directly on Shopify&#8217;s infrastructure, they present an exciting avenue for building advanced e-commerce functionalities.<\/p>\n\n\n\n<p>For more detailed documentation and examples, check out the official <a href=\"https:\/\/shopify.dev\/docs\/apps\/build\/functions\">Shopify Functions Documentation<\/a>.<\/p>\n\n\n\n<div style=\"height:54px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>To cater to the unique needs of merchants, Shopify offers robust customization capabilities, particularly in the checkout process, through a feature called Shopify Functions. In this article, we&#8217;ll explore what Shopify Functions are, how they work, who can use them, common use-cases, and their limitations. We&#8217;ll also provide code examples to illustrate how you can utilize these functions to customize the checkout experience.<\/p>\n","protected":false},"author":12,"featured_media":19738,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3],"tags":[84,94],"class_list":["post-19740","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-shopify-en","tag-shopify-plus-en"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Customize checkout business logic with Shopify functions<\/title>\n<meta name=\"description\" content=\"In this article, we&#039;ll explore what Shopify Functions are, how they work, who can use them, common use-cases, and their limitations.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jak optimalizovat rychlost va\u0161eho Adobe Commerce \/ Magento e-shopu\" \/>\n<meta property=\"og:description\" content=\"Rychlost e-shopu m\u00e1 velk\u00fd vliv na v\u00e1\u0161 byznys. Co v\u0161e m\u016f\u017eete tedy podniknout, abyste zrychlili v\u00e1\u0161 Adobe Commerce nebo Magento e-shop?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/\" \/>\n<meta property=\"og:site_name\" content=\"MageXo\" \/>\n<meta property=\"article:published_time\" content=\"2024-10-16T10:00:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-16T12:44:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/08\/web_speed_adobe.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1140\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"macura\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"macura\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/\",\"url\":\"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/\",\"name\":\"Customize checkout business logic with Shopify functions\",\"isPartOf\":{\"@id\":\"https:\/\/www.magexo.cz\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/shopify_fuctions_header.png\",\"datePublished\":\"2024-10-16T10:00:16+00:00\",\"dateModified\":\"2024-10-16T12:44:33+00:00\",\"author\":{\"@id\":\"https:\/\/www.magexo.cz\/#\/schema\/person\/5938255042d926c46d9dee5e0dbf5381\"},\"description\":\"In this article, we'll explore what Shopify Functions are, how they work, who can use them, common use-cases, and their limitations.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/#primaryimage\",\"url\":\"https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/shopify_fuctions_header.png\",\"contentUrl\":\"https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/shopify_fuctions_header.png\",\"width\":1140,\"height\":400,\"caption\":\"Shopify Functions blog post\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Dom\u016f\",\"item\":\"https:\/\/www.magexo.cz\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Customize checkout business logic with Shopify functions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.magexo.cz\/#website\",\"url\":\"https:\/\/www.magexo.cz\/\",\"name\":\"MageXo\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.magexo.cz\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.magexo.cz\/#\/schema\/person\/5938255042d926c46d9dee5e0dbf5381\",\"name\":\"macura\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.magexo.cz\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8a879aeddafebc9e53d9a70bd5dfd9d0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8a879aeddafebc9e53d9a70bd5dfd9d0?s=96&d=mm&r=g\",\"caption\":\"macura\"},\"description\":\"Kuba Macura je Marketing Manager v MageXo, AI-first e-commerce partnerovi se specializac\u00ed na Shopify Plus, Adobe Commerce a Magento. Zam\u011b\u0159uje se na e-commerce marketing, obsahovou strategii a budov\u00e1n\u00ed zna\u010dky v prost\u0159ed\u00ed enterprise e-commerce.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jakubmacura\"],\"url\":\"https:\/\/www.magexo.cz\/en\/blog\/author\/macura\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Customize checkout business logic with Shopify functions","description":"In this article, we'll explore what Shopify Functions are, how they work, who can use them, common use-cases, and their limitations.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/","og_locale":"en_US","og_type":"article","og_title":"Jak optimalizovat rychlost va\u0161eho Adobe Commerce \/ Magento e-shopu","og_description":"Rychlost e-shopu m\u00e1 velk\u00fd vliv na v\u00e1\u0161 byznys. Co v\u0161e m\u016f\u017eete tedy podniknout, abyste zrychlili v\u00e1\u0161 Adobe Commerce nebo Magento e-shop?","og_url":"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/","og_site_name":"MageXo","article_published_time":"2024-10-16T10:00:16+00:00","article_modified_time":"2024-10-16T12:44:33+00:00","og_image":[{"width":1140,"height":400,"url":"https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/08\/web_speed_adobe.png","type":"image\/png"}],"author":"macura","twitter_card":"summary_large_image","twitter_misc":{"Written by":"macura","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/","url":"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/","name":"Customize checkout business logic with Shopify functions","isPartOf":{"@id":"https:\/\/www.magexo.cz\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/#primaryimage"},"image":{"@id":"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/#primaryimage"},"thumbnailUrl":"https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/shopify_fuctions_header.png","datePublished":"2024-10-16T10:00:16+00:00","dateModified":"2024-10-16T12:44:33+00:00","author":{"@id":"https:\/\/www.magexo.cz\/#\/schema\/person\/5938255042d926c46d9dee5e0dbf5381"},"description":"In this article, we'll explore what Shopify Functions are, how they work, who can use them, common use-cases, and their limitations.","breadcrumb":{"@id":"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/#primaryimage","url":"https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/shopify_fuctions_header.png","contentUrl":"https:\/\/www.magexo.cz\/coGhk58axEfl4\/uploads\/2024\/10\/shopify_fuctions_header.png","width":1140,"height":400,"caption":"Shopify Functions blog post"},{"@type":"BreadcrumbList","@id":"https:\/\/www.magexo.cz\/en\/blog\/2024\/10\/16\/customize-checkout-business-logic-with-shopify-functions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Dom\u016f","item":"https:\/\/www.magexo.cz\/en\/"},{"@type":"ListItem","position":2,"name":"Customize checkout business logic with Shopify functions"}]},{"@type":"WebSite","@id":"https:\/\/www.magexo.cz\/#website","url":"https:\/\/www.magexo.cz\/","name":"MageXo","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.magexo.cz\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.magexo.cz\/#\/schema\/person\/5938255042d926c46d9dee5e0dbf5381","name":"macura","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.magexo.cz\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8a879aeddafebc9e53d9a70bd5dfd9d0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8a879aeddafebc9e53d9a70bd5dfd9d0?s=96&d=mm&r=g","caption":"macura"},"description":"Kuba Macura je Marketing Manager v MageXo, AI-first e-commerce partnerovi se specializac\u00ed na Shopify Plus, Adobe Commerce a Magento. Zam\u011b\u0159uje se na e-commerce marketing, obsahovou strategii a budov\u00e1n\u00ed zna\u010dky v prost\u0159ed\u00ed enterprise e-commerce.","sameAs":["https:\/\/www.linkedin.com\/in\/jakubmacura"],"url":"https:\/\/www.magexo.cz\/en\/blog\/author\/macura\/"}]}},"_links":{"self":[{"href":"https:\/\/www.magexo.cz\/en\/wp-json\/wp\/v2\/posts\/19740"}],"collection":[{"href":"https:\/\/www.magexo.cz\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.magexo.cz\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.magexo.cz\/en\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.magexo.cz\/en\/wp-json\/wp\/v2\/comments?post=19740"}],"version-history":[{"count":3,"href":"https:\/\/www.magexo.cz\/en\/wp-json\/wp\/v2\/posts\/19740\/revisions"}],"predecessor-version":[{"id":19745,"href":"https:\/\/www.magexo.cz\/en\/wp-json\/wp\/v2\/posts\/19740\/revisions\/19745"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.magexo.cz\/en\/wp-json\/wp\/v2\/media\/19738"}],"wp:attachment":[{"href":"https:\/\/www.magexo.cz\/en\/wp-json\/wp\/v2\/media?parent=19740"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.magexo.cz\/en\/wp-json\/wp\/v2\/categories?post=19740"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.magexo.cz\/en\/wp-json\/wp\/v2\/tags?post=19740"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}