[{"data":1,"prerenderedAt":729},["ShallowReactive",2],{"header:help":3,"footer:default":67,"story:navigation\u002Fsearch:help":250,"story:help\u002Fcategories":288,"story:help\u002Farticles\u002Fadd-custom-validation-to-your-checkout":314,"no-guide:add-custom-validation-to-your-checkout":59,"article:\u002Fhelp\u002Farticles\u002Fadd-custom-validation-to-your-checkout":469,"story:contact":483,"help:tree:288fc200-cd4a-4077-8bd9-9afe7deeecc2":674,"_apollo:default":728},{"name":4,"created_at":5,"published_at":6,"updated_at":7,"id":8,"uuid":9,"content":10,"slug":57,"full_slug":58,"sort_by_date":59,"position":60,"tag_list":61,"is_startpage":24,"parent_id":62,"meta_data":59,"group_id":63,"first_published_at":64,"release_id":59,"lang":65,"path":59,"alternates":66,"default_full_slug":59,"translated_slugs":59},"Help Center Header","2024-08-09T18:06:34.939Z","2024-10-21T21:58:39.217Z","2024-10-21T21:58:39.232Z",10082752,"3e9b88f7-c163-4657-a2f2-62532d600fad",{"_uid":11,"link":12,"badge":16,"items":17,"title":13,"buttons":50,"new_tab":24,"submenu":51,"alignment":13,"component":52,"badge_link":53,"top_menu_items":56},"e5645a1a-f991-40e8-8d67-e40ebc082b5a",{"id":13,"url":13,"linktype":14,"fieldtype":15,"cached_url":13},"","story","multilink","Help Center",[18,27,34,39,44],{"_uid":19,"link":20,"title":23,"new_tab":24,"submenu":25,"component":26},"5cbe2861-1f49-4166-97da-a4dddd8105e3",{"id":21,"url":13,"linktype":14,"fieldtype":15,"cached_url":22},"4c0a2d99-ec30-4579-8ef1-6bf5564d4839","help\u002Fcategories\u002F","Articles",false,[],"header___item",{"_uid":28,"link":29,"title":32,"new_tab":33,"component":26},"1c8edeb5-b9e9-4cb8-b1c6-c1f292f7d7cd",{"id":13,"url":30,"linktype":31,"fieldtype":15,"cached_url":30},"https:\u002F\u002Fwiki.foxycart.com\u002F","url","Documentation",true,{"_uid":35,"link":36,"title":38,"new_tab":33,"component":26},"8d7df70e-f087-4da0-b616-6f0e9a5af35c",{"id":13,"url":37,"linktype":31,"fieldtype":15,"cached_url":37},"https:\u002F\u002Fapi.foxycart.com\u002F","API Documentation",{"_uid":40,"link":41,"title":43,"new_tab":33,"component":26},"f76e7944-23d5-4652-87e4-cdae79272762",{"id":13,"url":42,"linktype":31,"fieldtype":15,"cached_url":42},"https:\u002F\u002Fstatus.foxy.io\u002F","System Status",{"_uid":45,"link":46,"title":49,"new_tab":24,"component":26},"0de16771-4c84-466c-a1da-d8568113c71f",{"id":47,"url":13,"linktype":14,"fieldtype":15,"cached_url":48},"01e4e370-f9b9-45af-8fa9-f15540699b0d","contact","Contact Us",[],[],"header",{"id":54,"url":13,"linktype":14,"fieldtype":15,"cached_url":55},"4a679eb7-662d-4ea4-a976-5a2acbf0b663","help\u002F",[],"help-header","navigation\u002Fhelp-header",null,20,[],10082747,"71b81c2e-5e09-48a1-a397-a3c72fcd344a","2022-09-21T14:50:25.655Z","default",[],{"name":68,"created_at":69,"published_at":70,"updated_at":71,"id":72,"uuid":73,"content":74,"slug":243,"full_slug":244,"sort_by_date":59,"position":245,"tag_list":246,"is_startpage":24,"parent_id":62,"meta_data":59,"group_id":247,"first_published_at":248,"release_id":59,"lang":65,"path":59,"alternates":249,"default_full_slug":59,"translated_slugs":59},"Default Footer","2024-08-09T18:06:59.024Z","2025-09-04T06:24:46.223Z","2025-09-04T06:24:46.241Z",10082753,"e59e67ac-248a-482f-84a1-53d4f318186a",{"_uid":75,"about":76,"logos":77,"socials":82,"sections":108,"component":225,"cta_title":226,"bottom_links":227,"cta_subtitle":241,"cta_button_link":242,"cta_button_text":183},"830983f5-c4c4-43c8-b150-86a5e3fa6dc8","Foxy’s hosted cart & payment page allow you to sell anything, using your existing website or platform.",[78],{"id":79,"alt":13,"name":13,"focus":13,"title":13,"filename":80,"copyright":13,"fieldtype":81},14760,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002Fx\u002F3b030847ec\u002Fb-corp.svg","asset",[83,90,96,102],{"_uid":84,"icon":85,"link":86,"name":88,"component":89},"faf0a618-ea94-42ea-9182-03be18c43216","fa-facebook",{"id":13,"url":87,"linktype":31,"fieldtype":15,"cached_url":87},"https:\u002F\u002Fwww.facebook.com\u002Ffoxycart","Facebook","footer___social",{"_uid":91,"icon":92,"link":93,"name":95,"component":89},"14309c18-7e79-423e-b375-34555bac0811","fa-instagram",{"id":13,"url":94,"linktype":31,"fieldtype":15,"cached_url":94},"https:\u002F\u002Fwww.instagram.com\u002Ffoxy_io","Instagram",{"_uid":97,"icon":98,"link":99,"name":101,"component":89},"8f7fe7cf-0dd3-4596-8334-226ea466716a","fa-linkedin",{"id":13,"url":100,"linktype":31,"fieldtype":15,"cached_url":100},"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Ffoxycart.com","LinkedIn",{"_uid":103,"icon":104,"link":105,"name":107,"component":89},"90a675b4-dd97-40b5-be09-00a87223d4c5","fa-youtube",{"id":13,"url":106,"linktype":31,"fieldtype":15,"cached_url":106},"https:\u002F\u002Fwww.youtube.com\u002Fuser\u002Ffoxycart","Youtube",[109,139,184,206],{"_uid":110,"name":111,"items":112,"component":138},"82849945-282f-488c-b18d-a8d2252f514a","Company",[113,120,126,132],{"_uid":114,"link":115,"title":118,"new_tab":24,"component":119},"1f699ab1-938b-4d9d-9825-aabcbe6f57fe",{"id":116,"url":13,"linktype":14,"fieldtype":15,"cached_url":117},"63634293-a749-4226-9439-9f38ee6dcda0","about-us","About Us","footer___menu_items",{"_uid":121,"link":122,"title":125,"new_tab":24,"component":119},"b26b00f1-a0e7-4be2-8ab3-428b8cc841f8",{"id":123,"url":13,"linktype":14,"fieldtype":15,"cached_url":124},"26cb7c55-faed-4a77-a291-1552d4111b3e","how-foxy-works","How Foxy Works",{"_uid":127,"link":128,"title":131,"new_tab":24,"component":119},"b40c68a0-1ceb-4226-9515-6176534f61fe",{"id":129,"url":13,"linktype":14,"fieldtype":15,"cached_url":130},"dc6657d7-7f4f-4c0d-b781-e971b038ee26","for-good","Foxy For Good",{"_uid":133,"link":134,"title":137,"new_tab":24,"component":119},"3ad0c134-bef9-4fff-b891-e09f16109036",{"id":135,"url":13,"linktype":14,"fieldtype":15,"cached_url":136},"23cae210-baf4-4588-9862-d09f4f52ccd2","brand-assets","Brand Assets","footer___section",{"_uid":140,"name":141,"items":142,"component":138},"a6805fa8-ac60-47f1-b8f0-f27aded0afbe","Product",[143,149,155,161,167,173,179],{"_uid":144,"link":145,"title":148,"new_tab":24,"component":119},"b39c8a4e-2383-486f-b76a-11fbb15d8134",{"id":146,"url":13,"linktype":14,"fieldtype":15,"cached_url":147},"bb04690f-fe98-4ce6-80be-05b950f2364f","features\u002F","Features",{"_uid":150,"link":151,"title":154,"new_tab":24,"component":119},"64f8a41f-c181-433d-bc0a-fc94e71ecbf6",{"id":152,"url":13,"linktype":14,"fieldtype":15,"cached_url":153},"c450c58d-761d-48c0-a9af-0b064611689b","pricing","Pricing",{"_uid":156,"link":157,"title":160,"new_tab":24,"component":119},"6e0b287f-fd8c-4146-9e0e-0ab0b5c9ce3c",{"id":158,"url":13,"linktype":14,"fieldtype":15,"cached_url":159},"fab20ad9-e76a-4947-b709-3a6fdfa88028","blog\u002Fcategories\u002Fproduct-updates","Product Updates",{"_uid":162,"link":163,"title":166,"new_tab":24,"component":119},"47e5a074-a6b5-4f1c-8c2f-89a2ae9f83eb",{"id":164,"url":13,"linktype":14,"fieldtype":15,"cached_url":165},"d2c83612-d611-47f3-a3b4-ca7fe08540b8","changelogs\u002F","Changelogs",{"_uid":168,"link":169,"title":172,"new_tab":24,"component":119},"b5c08774-542f-4ffd-b357-c94d674488b9",{"id":170,"url":13,"linktype":14,"fieldtype":15,"cached_url":171},"08876121-0df3-4ed9-aa11-902b3e41cd02","whats-next","What's Next",{"_uid":174,"link":175,"title":178,"new_tab":24,"component":119},"9c2704ed-6d9f-43e1-9e67-c8d91c083288",{"id":176,"url":13,"linktype":14,"fieldtype":15,"cached_url":177},"056a7857-b18f-4025-8f97-91a38fc19bc8","compare\u002F","Compare",{"_uid":180,"link":181,"title":183,"new_tab":24,"component":119},"5f2db35b-674b-406a-8fa7-d246633af9fe",{"id":13,"url":182,"linktype":31,"fieldtype":15,"cached_url":182},"https:\u002F\u002Fadmin.foxy.io\u002Fsign-up","Try Foxy Free",{"_uid":185,"name":186,"items":187,"component":138},"63fa1f29-4252-4640-9922-fe310e69e54a","Security",[188,194,200],{"_uid":189,"link":190,"title":193,"new_tab":24,"component":119},"1158ddb6-9eb0-466f-8eb6-7ca2ae66c8b8",{"id":191,"url":13,"linktype":14,"fieldtype":15,"cached_url":192},"1f58fb2c-8681-4742-b6e8-09999beae9f6","security-contact","Security Contact",{"_uid":195,"link":196,"title":199,"new_tab":24,"component":119},"9a79c54a-6022-4dfd-854b-766f5e4703ba",{"id":197,"url":13,"linktype":14,"fieldtype":15,"cached_url":198},"55cbfcc3-425a-4261-8037-54e919851d2d","pci","PCI Compliance",{"_uid":201,"link":202,"title":205,"new_tab":24,"component":119},"0b85f5b6-9534-4071-b323-b39d053dd4d7",{"id":203,"url":13,"linktype":14,"fieldtype":15,"cached_url":204},"c3ac0fe3-83e2-4879-afbd-d4c83e1590df","help\u002Farticles\u002Four-official-domains-public-code","Domains & Codebases",{"_uid":207,"name":208,"items":209,"component":138},"998ded67-d107-49f4-8154-ca6be51671ec","Support",[210,213,216,219,222],{"_uid":211,"link":212,"title":16,"new_tab":24,"component":119},"594ffd35-3049-4004-bb08-0db568ebd819",{"id":54,"url":13,"linktype":14,"fieldtype":15,"cached_url":55},{"_uid":214,"link":215,"title":32,"new_tab":33,"component":119},"0a1a55ab-a985-4f9d-8b42-26da714d0c1c",{"id":13,"url":30,"linktype":31,"fieldtype":15,"cached_url":30},{"_uid":217,"link":218,"title":38,"new_tab":33,"component":119},"61e0b7c8-aadf-419b-a339-b3ccabc65bf4",{"id":13,"url":37,"linktype":31,"fieldtype":15,"cached_url":37},{"_uid":220,"link":221,"title":43,"new_tab":33,"component":119},"fd67a89e-1c54-4d31-94b5-64be999062d6",{"id":13,"url":42,"linktype":31,"fieldtype":15,"cached_url":42},{"_uid":223,"link":224,"title":49,"new_tab":24,"component":119},"231a6f71-e996-4ad4-b033-d4d5542f34f0",{"id":47,"url":13,"linktype":14,"fieldtype":15,"cached_url":48},"footer","Get started with our *unlimited free trial*.",[228,235],{"_uid":229,"link":230,"text":233,"component":234},"f0b77210-2632-45a2-8436-e57cad84d01a",{"id":231,"url":13,"linktype":14,"fieldtype":15,"cached_url":232},"60ba16a2-c1f4-485f-b978-8d2eeeafbf5a","terms-of-service","Terms of Service","footer___bottom_links",{"_uid":236,"link":237,"text":240,"component":234},"4bd497b0-993f-4b4d-a5b7-8a49c7c8fec9",{"id":238,"url":13,"linktype":14,"fieldtype":15,"cached_url":239},"332302b9-1d18-4016-b9c8-9b33c72d782b","privacy-policy","Privacy Policy","No credit card required.",{"id":13,"url":182,"linktype":31,"fieldtype":15,"cached_url":182},"default-footer","navigation\u002Fdefault-footer",50,[],"11006268-07f9-41e9-96f3-c51fb723399d","2022-09-21T20:39:02.357Z",[],{"name":251,"created_at":252,"published_at":253,"updated_at":254,"id":255,"uuid":256,"content":257,"slug":279,"full_slug":282,"sort_by_date":59,"position":283,"tag_list":284,"is_startpage":24,"parent_id":62,"meta_data":59,"group_id":285,"first_published_at":286,"release_id":59,"lang":65,"path":59,"alternates":287,"default_full_slug":59,"translated_slugs":59},"Search","2024-10-21T22:08:54.973Z","2025-05-26T09:17:25.790Z","2025-05-26T09:17:25.804Z",13592003,"14cbc359-9ac1-4a7a-a8de-ad4ac8ef26d4",{"_uid":258,"name":251,"indices":259,"summary":13,"component":279,"primary_image":280},"5e4a56e8-76f1-4790-b3a7-70f1be97d042",[260,265,269,274],{"key":261,"_uid":262,"icon":13,"name":263,"component":264},"all","c12a3210-7323-4273-8217-5215e52efe84","All","index",{"key":266,"_uid":267,"icon":268,"name":23,"component":264},"help_center_article","5acff080-95e4-44d3-8dcf-1b19720af382","fa-file-alt",{"key":270,"_uid":271,"icon":272,"name":273,"component":264},"help_center_guide","b8fbc206-c083-471e-a1f0-0ebeb90a669d","fa-book","Guides",{"key":275,"_uid":276,"icon":277,"name":278,"component":264},"blog_post","23419e83-2e56-4c4c-8a05-9fd1b3c9a9bd","fa-file-image","Blog Posts","search",{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":281},{},"navigation\u002Fsearch",60,[],"11e1fd31-95cd-4fc9-b736-8b8910663e6c","2024-10-21T23:17:05.904Z",[],{"name":23,"created_at":289,"published_at":290,"updated_at":291,"id":292,"uuid":21,"content":293,"slug":307,"full_slug":22,"sort_by_date":59,"position":308,"tag_list":309,"is_startpage":33,"parent_id":310,"meta_data":59,"group_id":311,"first_published_at":312,"release_id":59,"lang":65,"path":59,"alternates":313,"default_full_slug":59,"translated_slugs":59},"2022-09-19T14:42:29.685Z","2024-07-30T18:17:22.506Z","2024-07-30T18:17:22.525Z",2660,{"_uid":294,"icon":13,"name":23,"guides":295,"pinned":24,"summary":296,"category":13,"component":297,"blog_posts":298,"content_hub":24,"icon_custom":299,"case_studies":300,"faq_sections":301,"help_articles":302,"featured_guides":303,"mailbox_category":13,"featured_articles":304,"featured_blog_posts":305,"featured_case_studies":306},"d6dae89a-907a-4bf7-82de-fe2ba875ee6e",[],"Get your questions answered with our browsable knowledge base.","help_center_category",[],{"id":59,"alt":59,"name":13,"focus":59,"title":59,"filename":13,"copyright":59,"fieldtype":81},[],[],[],[],[],[],[],"categories",530,[],2658,"19ebcdd2-027f-47f5-9a5b-a8992c959578","2022-09-19T16:24:39.219Z",[],{"name":315,"created_at":316,"published_at":317,"updated_at":318,"id":319,"uuid":320,"content":321,"slug":462,"full_slug":463,"sort_by_date":59,"position":464,"tag_list":465,"is_startpage":24,"parent_id":466,"meta_data":59,"group_id":467,"first_published_at":317,"release_id":59,"lang":65,"path":59,"alternates":468,"default_full_slug":59,"translated_slugs":59},"Add custom validation to your checkout","2026-07-02T21:34:55.100Z","2026-07-02T21:49:13.671Z","2026-07-02T21:49:13.686Z",193898475976358,"288fc200-cd4a-4077-8bd9-9afe7deeecc2",{"_uid":322,"body":323,"name":315,"image":457,"pinned":24,"summary":459,"category":460,"component":266,"related_articles":461},"98e043bd-faec-48d6-ab67-cb6b1dbcafd8",{"type":324,"content":325},"doc",[326,333,340,379,385,390,395,400,405,410,415],{"type":327,"attrs":328,"content":329},"paragraph",{"textAlign":59},[330],{"text":331,"type":332},"When you need to block checkout unless a specific condition is met — like confirming a customer’s age, or requiring a field only in certain situations — you can add custom JavaScript validation to the checkout.","text",{"type":334,"attrs":335,"content":337},"heading",{"level":336,"textAlign":59},2,[338],{"text":339,"type":332},"Steps",{"type":341,"attrs":342,"content":344},"ordered_list",{"order":343},1,[345,360],{"type":346,"content":347},"list_item",[348],{"type":327,"attrs":349,"content":350},{"textAlign":59},[351,353,358],{"text":352,"type":332},"Add a function to the ",{"text":354,"type":332,"marks":355},"checkout-submit",[356],{"type":357},"code",{"text":359,"type":332}," event in your checkout template.",{"type":346,"content":361},[362],{"type":327,"attrs":363,"content":364},{"textAlign":59},[365,367,371,373,377],{"text":366,"type":332},"Return ",{"text":368,"type":332,"marks":369},"true",[370],{"type":357},{"text":372,"type":332}," to allow the checkout to proceed, or ",{"text":374,"type":332,"marks":375},"false",[376],{"type":357},{"text":378,"type":332}," to block it.",{"type":380,"attrs":381,"content":382},"code_block",{"class":59},[383],{"text":384,"type":332},"\u003Cscript type=\"text\u002Fjavascript\">\nFC.client.on(\"checkout-submit\", function() {\n\n});\n\u003C\u002Fscript>\n",{"type":327,"attrs":386,"content":387},{"textAlign":59},[388],{"text":389,"type":332},"For example, to require customers to be 18 or older based on a custom age field:",{"type":380,"attrs":391,"content":392},{"class":59},[393],{"text":394,"type":332},"\u003Cscript type=\"text\u002Fjavascript\">\nFC.client.on(\"checkout-submit\", function() {\n  var custAge = jQuery(\"#CustomerAge\").val();\n  if (!isNaN(parseFloat(custAge)) && isFinite(custAge) && parseFloat(custAge) >= 18) {\n    return true;\n  } else {\n    alert(\"You must be over the age of 18 to purchase these products\");\n    return false;\n  }\n});\n\u003C\u002Fscript>\n",{"type":334,"attrs":396,"content":397},{"level":336,"textAlign":59},[398],{"text":399,"type":332},"Conditionally requiring a field",{"type":327,"attrs":401,"content":402},{"textAlign":59},[403],{"text":404,"type":332},"You can also use this approach to make a standard field required only in certain situations — for example, requiring a phone number only when the cart contains shippable items. Add this to the footer section of your template configuration’s custom code option:",{"type":380,"attrs":406,"content":407},{"class":59},[408],{"text":409,"type":332},"\u003Cscript type=\"text\u002Fjavascript\" charset=\"utf-8\">\nfunction myCustomDisplayUpdate() {\n  var require_phone = 0;\n  for (p in FC.json.items) {\n    if (FC.json.items[p].delivery_type == \"shipped\") {\n      require_phone = 1;\n    }\n  }\n  if (require_phone == 1) {\n    FC.json.required_fields.push('shipping_phone');\n    FC.json.config.template_config.custom_checkout_field_requirements['billing_phone'] = \"required\";\n  }\n}\nif (FC.json.context == \"checkout\") {\n  FC.client.on(\"ready\", myCustomDisplayUpdate);\n}\n\u003C\u002Fscript>\n",{"type":334,"attrs":411,"content":412},{"level":336,"textAlign":59},[413],{"text":414,"type":332},"Notes",{"type":416,"content":417},"bullet_list",[418,450],{"type":346,"content":419},[420],{"type":327,"attrs":421,"content":422},{"textAlign":59},[423,425,428,430,433,435,438,440,443,445,448],{"text":424,"type":332},"Always return both ",{"text":368,"type":332,"marks":426},[427],{"type":357},{"text":429,"type":332}," and ",{"text":374,"type":332,"marks":431},[432],{"type":357},{"text":434,"type":332}," from your ",{"text":354,"type":332,"marks":436},[437],{"type":357},{"text":439,"type":332}," function. If you only set it to ",{"text":374,"type":332,"marks":441},[442],{"type":357},{"text":444,"type":332}," in the failing case and never explicitly return ",{"text":368,"type":332,"marks":446},[447],{"type":357},{"text":449,"type":332},", the checkout won’t be able to proceed even when your condition passes.",{"type":346,"content":451},[452],{"type":327,"attrs":453,"content":454},{"textAlign":59},[455],{"text":456,"type":332},"You can show and hide custom error messages the same way Foxy does for its own default fields.",{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":458},{},"How to use the checkout-submit event to add custom JavaScript validation, including conditionally required fields.","c86d4c1b-9299-4716-802e-52f91ac178b0",[],"add-custom-validation-to-your-checkout","help\u002Farticles\u002Fadd-custom-validation-to-your-checkout",-2880,[],2659,"0403a37d-27b2-4ebe-a744-3412cdd36c40",[],{"html":470,"sections":471,"segments":479},"\u003Cp>When you need to block checkout unless a specific condition is met — like confirming a customer’s age, or requiring a field only in certain situations — you can add custom JavaScript validation to the checkout.\u003C\u002Fp>\u003Csection id=\"steps\" data-title=\"Steps\" data-title-node=\"H2\">\u003Chr class=\"my-8\" style=\"margin-left: -48px; margin-right: -40vw\">\u003Ch2 data-anchor-id=\"steps\">Steps\u003C\u002Fh2>\u003Col class=\"step step-icon-sm step-dashed step-border-last-0 mt-3\">\u003Cli class=\"step-item\">\u003Cdiv class=\"step-content-wrapper\">\u003Cspan class=\"step-icon step-icon-soft-primary\">1\u003C\u002Fspan>\u003Cdiv class=\"w-100 overflow-hidden\">\u003Cdiv class=\"step-content mt-2\">\u003Cp>Add a function to the \u003Ccode class=\"badge bg-soft-danger text-danger\">checkout-submit\u003C\u002Fcode> event in your checkout template.\u003C\u002Fp>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fli>\u003Cli class=\"step-item\">\u003Cdiv class=\"step-content-wrapper\">\u003Cspan class=\"step-icon step-icon-soft-primary\">2\u003C\u002Fspan>\u003Cdiv class=\"w-100 overflow-hidden\">\u003Cdiv class=\"step-content mt-2\">\u003Cp>Return \u003Ccode class=\"badge bg-soft-danger text-danger\">true\u003C\u002Fcode> to allow the checkout to proceed, or \u003Ccode class=\"badge bg-soft-danger text-danger\">false\u003C\u002Fcode> to block it.\u003C\u002Fp>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fli>\u003C\u002Fol>\u003Cdiv class=\"position-relative w-100 overflow-hidden rounded-2\" data-code-block>\u003Cdiv class=\"d-flex justify-content-end border-bottom\" style=\"background:#2b2c3b;\">\u003Cbutton type=\"button\" class=\"btn btn-link btn-sm text-light\" title=\"Copy\" data-code-button>\u003Cspan data-code-default style=\"\">\u003Ci class=\"fal fa-copy me-2\">\u003C\u002Fi> Copy \u003C\u002Fspan>\u003Cspan class=\"text-success\" data-code-success style=\"display:none;\">\u003Ci class=\"fal fa-check ms-2\">\u003C\u002Fi> Copied \u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cdiv class=\"small\">\u003Cpre class=\"hljs p-2\" data-code-content>\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">script\u003C\u002Fspan> \u003Cspan class=\"hljs-attr\">type\u003C\u002Fspan>=\u003Cspan class=\"hljs-string\">&quot;text\u002Fjavascript&quot;\u003C\u002Fspan>&gt;\u003C\u002Fspan>\u003Cspan class=\"language-javascript\">\n\u003Cspan class=\"hljs-variable constant_\">FC\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">client\u003C\u002Fspan>.\u003Cspan class=\"hljs-title function_\">on\u003C\u002Fspan>(\u003Cspan class=\"hljs-string\">&quot;checkout-submit&quot;\u003C\u002Fspan>, \u003Cspan class=\"hljs-keyword\">function\u003C\u002Fspan>(\u003Cspan class=\"hljs-params\">\u003C\u002Fspan>) {\n\n});\n\u003C\u002Fspan>\u003Cspan class=\"hljs-tag\">&lt;\u002F\u003Cspan class=\"hljs-name\">script\u003C\u002Fspan>&gt;\u003C\u002Fspan>\n\u003C\u002Fpre>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cp>For example, to require customers to be 18 or older based on a custom age field:\u003C\u002Fp>\u003Cdiv class=\"position-relative w-100 overflow-hidden rounded-2\" data-code-block>\u003Cdiv class=\"d-flex justify-content-end border-bottom\" style=\"background:#2b2c3b;\">\u003Cbutton type=\"button\" class=\"btn btn-link btn-sm text-light\" title=\"Copy\" data-code-button>\u003Cspan data-code-default style=\"\">\u003Ci class=\"fal fa-copy me-2\">\u003C\u002Fi> Copy \u003C\u002Fspan>\u003Cspan class=\"text-success\" data-code-success style=\"display:none;\">\u003Ci class=\"fal fa-check ms-2\">\u003C\u002Fi> Copied \u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cdiv class=\"small\">\u003Cpre class=\"hljs p-2\" data-code-content>\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">script\u003C\u002Fspan> \u003Cspan class=\"hljs-attr\">type\u003C\u002Fspan>=\u003Cspan class=\"hljs-string\">&quot;text\u002Fjavascript&quot;\u003C\u002Fspan>&gt;\u003C\u002Fspan>\u003Cspan class=\"language-javascript\">\n\u003Cspan class=\"hljs-variable constant_\">FC\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">client\u003C\u002Fspan>.\u003Cspan class=\"hljs-title function_\">on\u003C\u002Fspan>(\u003Cspan class=\"hljs-string\">&quot;checkout-submit&quot;\u003C\u002Fspan>, \u003Cspan class=\"hljs-keyword\">function\u003C\u002Fspan>(\u003Cspan class=\"hljs-params\">\u003C\u002Fspan>) {\n  \u003Cspan class=\"hljs-keyword\">var\u003C\u002Fspan> custAge = \u003Cspan class=\"hljs-title function_\">jQuery\u003C\u002Fspan>(\u003Cspan class=\"hljs-string\">&quot;#CustomerAge&quot;\u003C\u002Fspan>).\u003Cspan class=\"hljs-title function_\">val\u003C\u002Fspan>();\n  \u003Cspan class=\"hljs-keyword\">if\u003C\u002Fspan> (!\u003Cspan class=\"hljs-built_in\">isNaN\u003C\u002Fspan>(\u003Cspan class=\"hljs-built_in\">parseFloat\u003C\u002Fspan>(custAge)) &amp;&amp; \u003Cspan class=\"hljs-built_in\">isFinite\u003C\u002Fspan>(custAge) &amp;&amp; \u003Cspan class=\"hljs-built_in\">parseFloat\u003C\u002Fspan>(custAge) &gt;= \u003Cspan class=\"hljs-number\">18\u003C\u002Fspan>) {\n    \u003Cspan class=\"hljs-keyword\">return\u003C\u002Fspan> \u003Cspan class=\"hljs-literal\">true\u003C\u002Fspan>;\n  } \u003Cspan class=\"hljs-keyword\">else\u003C\u002Fspan> {\n    \u003Cspan class=\"hljs-title function_\">alert\u003C\u002Fspan>(\u003Cspan class=\"hljs-string\">&quot;You must be over the age of 18 to purchase these products&quot;\u003C\u002Fspan>);\n    \u003Cspan class=\"hljs-keyword\">return\u003C\u002Fspan> \u003Cspan class=\"hljs-literal\">false\u003C\u002Fspan>;\n  }\n});\n\u003C\u002Fspan>\u003Cspan class=\"hljs-tag\">&lt;\u002F\u003Cspan class=\"hljs-name\">script\u003C\u002Fspan>&gt;\u003C\u002Fspan>\n\u003C\u002Fpre>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\u003Csection id=\"conditionally-requiring-a-field\" data-title=\"Conditionally requiring a field\" data-title-node=\"H2\">\u003Chr class=\"my-8\" style=\"margin-left: -48px; margin-right: -40vw\">\u003Ch2 data-anchor-id=\"conditionally-requiring-a-field\">Conditionally requiring a field\u003C\u002Fh2>\u003Cp>You can also use this approach to make a standard field required only in certain situations — for example, requiring a phone number only when the cart contains shippable items. Add this to the footer section of your template configuration’s custom code option:\u003C\u002Fp>\u003Cdiv class=\"position-relative w-100 overflow-hidden rounded-2\" data-code-block>\u003Cdiv class=\"d-flex justify-content-end border-bottom\" style=\"background:#2b2c3b;\">\u003Cbutton type=\"button\" class=\"btn btn-link btn-sm text-light\" title=\"Copy\" data-code-button>\u003Cspan data-code-default style=\"\">\u003Ci class=\"fal fa-copy me-2\">\u003C\u002Fi> Copy \u003C\u002Fspan>\u003Cspan class=\"text-success\" data-code-success style=\"display:none;\">\u003Ci class=\"fal fa-check ms-2\">\u003C\u002Fi> Copied \u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cdiv class=\"small\">\u003Cpre class=\"hljs p-2\" data-code-content>\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">script\u003C\u002Fspan> \u003Cspan class=\"hljs-attr\">type\u003C\u002Fspan>=\u003Cspan class=\"hljs-string\">&quot;text\u002Fjavascript&quot;\u003C\u002Fspan> \u003Cspan class=\"hljs-attr\">charset\u003C\u002Fspan>=\u003Cspan class=\"hljs-string\">&quot;utf-8&quot;\u003C\u002Fspan>&gt;\u003C\u002Fspan>\u003Cspan class=\"language-javascript\">\n\u003Cspan class=\"hljs-keyword\">function\u003C\u002Fspan> \u003Cspan class=\"hljs-title function_\">myCustomDisplayUpdate\u003C\u002Fspan>(\u003Cspan class=\"hljs-params\">\u003C\u002Fspan>) {\n  \u003Cspan class=\"hljs-keyword\">var\u003C\u002Fspan> require_phone = \u003Cspan class=\"hljs-number\">0\u003C\u002Fspan>;\n  \u003Cspan class=\"hljs-keyword\">for\u003C\u002Fspan> (p \u003Cspan class=\"hljs-keyword\">in\u003C\u002Fspan> \u003Cspan class=\"hljs-variable constant_\">FC\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">json\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">items\u003C\u002Fspan>) {\n    \u003Cspan class=\"hljs-keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"hljs-variable constant_\">FC\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">json\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">items\u003C\u002Fspan>[p].\u003Cspan class=\"hljs-property\">delivery_type\u003C\u002Fspan> == \u003Cspan class=\"hljs-string\">&quot;shipped&quot;\u003C\u002Fspan>) {\n      require_phone = \u003Cspan class=\"hljs-number\">1\u003C\u002Fspan>;\n    }\n  }\n  \u003Cspan class=\"hljs-keyword\">if\u003C\u002Fspan> (require_phone == \u003Cspan class=\"hljs-number\">1\u003C\u002Fspan>) {\n    \u003Cspan class=\"hljs-variable constant_\">FC\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">json\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">required_fields\u003C\u002Fspan>.\u003Cspan class=\"hljs-title function_\">push\u003C\u002Fspan>(\u003Cspan class=\"hljs-string\">&#x27;shipping_phone&#x27;\u003C\u002Fspan>);\n    \u003Cspan class=\"hljs-variable constant_\">FC\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">json\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">config\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">template_config\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">custom_checkout_field_requirements\u003C\u002Fspan>[\u003Cspan class=\"hljs-string\">&#x27;billing_phone&#x27;\u003C\u002Fspan>] = \u003Cspan class=\"hljs-string\">&quot;required&quot;\u003C\u002Fspan>;\n  }\n}\n\u003Cspan class=\"hljs-keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"hljs-variable constant_\">FC\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">json\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">context\u003C\u002Fspan> == \u003Cspan class=\"hljs-string\">&quot;checkout&quot;\u003C\u002Fspan>) {\n  \u003Cspan class=\"hljs-variable constant_\">FC\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">client\u003C\u002Fspan>.\u003Cspan class=\"hljs-title function_\">on\u003C\u002Fspan>(\u003Cspan class=\"hljs-string\">&quot;ready&quot;\u003C\u002Fspan>, myCustomDisplayUpdate);\n}\n\u003C\u002Fspan>\u003Cspan class=\"hljs-tag\">&lt;\u002F\u003Cspan class=\"hljs-name\">script\u003C\u002Fspan>&gt;\u003C\u002Fspan>\n\u003C\u002Fpre>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\u003Csection id=\"notes\" data-title=\"Notes\" data-title-node=\"H2\">\u003Chr class=\"my-8\" style=\"margin-left: -48px; margin-right: -40vw\">\u003Ch2 data-anchor-id=\"notes\">Notes\u003C\u002Fh2>\u003Cul>\u003Cli>\u003Cp>Always return both \u003Ccode class=\"badge bg-soft-danger text-danger\">true\u003C\u002Fcode> and \u003Ccode class=\"badge bg-soft-danger text-danger\">false\u003C\u002Fcode> from your \u003Ccode class=\"badge bg-soft-danger text-danger\">checkout-submit\u003C\u002Fcode> function. If you only set it to \u003Ccode class=\"badge bg-soft-danger text-danger\">false\u003C\u002Fcode> in the failing case and never explicitly return \u003Ccode class=\"badge bg-soft-danger text-danger\">true\u003C\u002Fcode>, the checkout won’t be able to proceed even when your condition passes.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>You can show and hide custom error messages the same way Foxy does for its own default fields.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fsection>",[472,475,477],{"id":473,"title":339,"level":474},"steps","H2",{"id":476,"title":399,"level":474},"conditionally-requiring-a-field",{"id":478,"title":414,"level":474},"notes",[480],{"type":481,"content":482},"html","\u003Cp>When you need to block checkout unless a specific condition is met — like confirming a customer’s age, or requiring a field only in certain situations — you can add custom JavaScript validation to the checkout.\u003C\u002Fp>\u003Ch2>Steps\u003C\u002Fh2>\u003Col order=\"1\">\u003Cli>\u003Cp>Add a function to the \u003Ccode class=\"badge bg-soft-danger text-danger\">checkout-submit\u003C\u002Fcode> event in your checkout template.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Return \u003Ccode class=\"badge bg-soft-danger text-danger\">true\u003C\u002Fcode> to allow the checkout to proceed, or \u003Ccode class=\"badge bg-soft-danger text-danger\">false\u003C\u002Fcode> to block it.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Fol>\u003Cpre>\u003Ccode>&lt;script type=&quot;text\u002Fjavascript&quot;&gt;\nFC.client.on(&quot;checkout-submit&quot;, function() {\n\n});\n&lt;\u002Fscript&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>For example, to require customers to be 18 or older based on a custom age field:\u003C\u002Fp>\u003Cpre>\u003Ccode>&lt;script type=&quot;text\u002Fjavascript&quot;&gt;\nFC.client.on(&quot;checkout-submit&quot;, function() {\n  var custAge = jQuery(&quot;#CustomerAge&quot;).val();\n  if (!isNaN(parseFloat(custAge)) &amp;&amp; isFinite(custAge) &amp;&amp; parseFloat(custAge) &gt;= 18) {\n    return true;\n  } else {\n    alert(&quot;You must be over the age of 18 to purchase these products&quot;);\n    return false;\n  }\n});\n&lt;\u002Fscript&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2>Conditionally requiring a field\u003C\u002Fh2>\u003Cp>You can also use this approach to make a standard field required only in certain situations — for example, requiring a phone number only when the cart contains shippable items. Add this to the footer section of your template configuration’s custom code option:\u003C\u002Fp>\u003Cpre>\u003Ccode>&lt;script type=&quot;text\u002Fjavascript&quot; charset=&quot;utf-8&quot;&gt;\nfunction myCustomDisplayUpdate() {\n  var require_phone = 0;\n  for (p in FC.json.items) {\n    if (FC.json.items[p].delivery_type == &quot;shipped&quot;) {\n      require_phone = 1;\n    }\n  }\n  if (require_phone == 1) {\n    FC.json.required_fields.push(&#039;shipping_phone&#039;);\n    FC.json.config.template_config.custom_checkout_field_requirements[&#039;billing_phone&#039;] = &quot;required&quot;;\n  }\n}\nif (FC.json.context == &quot;checkout&quot;) {\n  FC.client.on(&quot;ready&quot;, myCustomDisplayUpdate);\n}\n&lt;\u002Fscript&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2>Notes\u003C\u002Fh2>\u003Cul>\u003Cli>\u003Cp>Always return both \u003Ccode class=\"badge bg-soft-danger text-danger\">true\u003C\u002Fcode> and \u003Ccode class=\"badge bg-soft-danger text-danger\">false\u003C\u002Fcode> from your \u003Ccode class=\"badge bg-soft-danger text-danger\">checkout-submit\u003C\u002Fcode> function. If you only set it to \u003Ccode class=\"badge bg-soft-danger text-danger\">false\u003C\u002Fcode> in the failing case and never explicitly return \u003Ccode class=\"badge bg-soft-danger text-danger\">true\u003C\u002Fcode>, the checkout won’t be able to proceed even when your condition passes.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>You can show and hide custom error messages the same way Foxy does for its own default fields.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>",{"name":484,"created_at":485,"published_at":486,"updated_at":487,"id":488,"uuid":47,"content":489,"slug":48,"full_slug":48,"sort_by_date":59,"position":669,"tag_list":670,"is_startpage":24,"parent_id":59,"meta_data":59,"group_id":671,"first_published_at":672,"release_id":59,"lang":65,"path":59,"alternates":673,"default_full_slug":59,"translated_slugs":59},"Contact","2022-09-23T19:56:58.957Z","2025-05-08T18:24:40.382Z","2025-05-08T18:24:40.392Z",3138,{"seo":490,"_uid":493,"title":494,"action":495,"fields":496,"method":645,"columns":646,"subtitle":660,"component":48,"button_text":666,"submit_title":667,"submit_subtitle":668},{"_uid":491,"title":484,"plugin":492,"description":13},"24ff7574-3bcc-48d2-85b5-e529dfea1cc4","meta-fields","8f54f1da-9d8f-49b2-89e7-840e886491cb","We're here to help.","https:\u002F\u002Fusebasin.com\u002Ff\u002F029f48d65402",[497,502,506,616,619,624,639],{"_uid":498,"name":499,"type":332,"label":500,"options":13,"required":33,"component":501,"placeholder":13},"9a70b226-2036-4f90-a052-b3efa61c5896","name","Name","form___field",{"_uid":503,"name":504,"type":504,"label":505,"options":13,"required":33,"component":501,"placeholder":13},"86ba35be-ff43-4a28-8633-14052a8f6622","email","Email Address",{"_uid":507,"name":508,"type":509,"label":510,"options":511,"required":33,"component":501,"conditions":512,"placeholder":13},"3f827475-492c-4f97-aa1e-2386ac263b6c","topic","select","Topic","Presales, Support, Billing, Partnerships, Order Enquiry, Other",[513,570,580,587,595,603,609],{"_uid":514,"equals":515,"fields":516,"component":569},"e21d97dd-e68e-4fa6-ba97-bc40f3041dde","Order Enquiry",[517],{"_uid":518,"body":519,"type":567,"title":13,"component":568},"b64992bc-6d53-48b8-b7a0-d81e5a062e50",{"type":324,"content":520},[521],{"type":327,"content":522},[523,525,533,535,537,538,543,545,550,558,560,565],{"text":524,"type":332},"We are ",{"text":526,"type":332,"marks":527},"Foxy.io",[528],{"type":529,"attrs":530},"link",{"href":531,"uuid":59,"anchor":59,"custom":532,"target":59,"linktype":31},"http:\u002F\u002FFoxy.io",{},{"text":534,"type":332},", an ecommerce platform powering ecommerce for other merchants. We do not sell products, and are unable to assist with questions about order statuses or refunds for any merchants using our platform. Please contact the merchant you ordered from for assistance. If you’d like to report a store using Foxy for fraudulent practices, please select ‘other’ in the subject.",{"type":536},"hard_break",{"type":536},{"text":539,"type":332,"marks":540},"NOTE:",[541],{"type":542},"bold",{"text":544,"type":332}," We are ",{"text":546,"type":332,"marks":547},"not ",[548],{"type":549},"italic",{"text":551,"type":332,"marks":552},"Foxy.in",[553,557],{"type":529,"attrs":554},{"href":555,"uuid":59,"anchor":59,"custom":556,"target":59,"linktype":31},"http:\u002F\u002FFoxy.in",{},{"type":549},{"text":559,"type":332},". We are not in any way affiliated with ",{"text":551,"type":332,"marks":561},[562],{"type":529,"attrs":563},{"href":555,"uuid":59,"anchor":59,"custom":564,"target":59,"linktype":31},{},{"text":566,"type":332},", and cannot help in any way with your order from that website.","danger","global___alert","form___condition",{"_uid":571,"equals":572,"fields":573,"component":569},"8765c3e1-25cf-44aa-b8ea-fc6094acf9c3","Presales",[574],{"_uid":575,"name":576,"type":577,"label":13,"options":13,"required":24,"component":501,"conditions":578,"placeholder":13,"default_value":579},"cf464f8e-d643-4f6e-af29-d3abffaf7380","department_email_address","hidden",[],"hello@foxy.io",{"_uid":581,"equals":208,"fields":582,"component":569},"4007b6d8-77e5-421d-bd1e-6f336dd853fb",[583],{"_uid":584,"name":576,"type":577,"label":13,"options":13,"required":24,"component":501,"conditions":585,"placeholder":13,"default_value":586},"7b4c6aa5-a68c-45e0-9ce1-0a36af10c0c2",[],"help@foxy.io",{"_uid":588,"equals":589,"fields":590,"component":569},"1dbb8f11-613d-43cd-9e09-1b94f6e19219","Billing",[591],{"_uid":592,"name":576,"type":577,"label":13,"options":13,"required":24,"component":501,"conditions":593,"placeholder":13,"default_value":594},"a0ac0d1b-bc4f-4a6c-a682-581d450b0b73",[],"help+billing@foxy.io",{"_uid":596,"equals":597,"fields":598,"component":569},"a0a53a50-7172-4a29-ba58-181e38874e12","Partnerships",[599],{"_uid":600,"name":576,"type":577,"label":13,"options":13,"required":24,"component":501,"conditions":601,"placeholder":13,"default_value":602},"7aa011d9-f374-4aed-b5a5-929b54aaf152",[],"partners@foxy.io",{"_uid":604,"equals":515,"fields":605,"component":569},"a4cd431f-25d5-41c7-bfdc-02c908c8fb47",[606],{"_uid":607,"name":576,"type":577,"label":13,"options":13,"required":24,"component":501,"conditions":608,"placeholder":13,"default_value":579},"f5d52168-d6ae-451b-94ee-2ced1cbd28ad",[],{"_uid":610,"equals":611,"fields":612,"component":569},"25aba1ed-eb41-4bbc-aa89-f7a7167ea86e","Other",[613],{"_uid":614,"name":576,"type":577,"label":13,"options":13,"required":24,"component":501,"conditions":615,"placeholder":13,"default_value":579},"f40dfaef-c203-4b71-bf4e-e1b43cef192b",[],{"_uid":617,"component":618},"e9c53a05-f40a-4510-aaf8-bc072a235a0c","form___subject",{"_uid":620,"name":621,"type":622,"label":623,"options":13,"required":33,"component":501,"placeholder":13},"a4c4d385-fff4-4978-99fb-b68cfea623d6","message","textarea","Message",{"_uid":625,"name":626,"type":509,"label":627,"options":628,"required":33,"component":501,"conditions":629,"placeholder":13},"8a3c9f85-f438-427d-9c7a-d7b295a14b5b","existing_user","Are you an existing user?","No, Yes",[630],{"_uid":631,"equals":632,"fields":633,"component":569},"115933d6-262a-4b59-8fa8-579c5ad73de1","Yes",[634],{"_uid":635,"name":636,"type":332,"label":637,"options":13,"required":33,"component":501,"conditions":638,"placeholder":13},"44b6ff23-98f0-4e95-b7f5-c23e06415c2d","subdomain","Store Subdomain",[],{"_uid":640,"name":641,"type":509,"label":642,"options":643,"required":33,"component":501,"conditions":644,"placeholder":13},"922a5cef-3af2-4113-8855-36c7910e3ee3","user_type","What type of user are you?","Developer, Designer, Merchant",[],"POST",[647],{"_uid":648,"text":649,"title":658,"component":659},"7323b90d-a93a-4bf1-baa9-20d0b7ead61b",{"type":324,"content":650},[651],{"type":327,"content":652},[653,655,656],{"text":654,"type":332},"855.369.9227",{"type":536},{"text":657,"type":332},"9:30am-6pm Central M-F","Pre-sales, Sales, & Partnerships","contact___footer_column",{"type":324,"content":661},[662],{"type":327,"content":663},[664],{"text":665,"type":332},"Get in touch to get help from our friendly support team.","Submit","Success!","Your email has been received. We'll get back to you as soon as we can, but it might take a business day. If you don't hear back from us in a timely manner, please check your spam folder to ensure our reply didn't go there.",-80,[],"2fd9fb7d-a48a-4184-acfd-30022d8d6f08","2022-09-23T20:10:45.360Z",[],[288,675,704],{"name":676,"created_at":677,"published_at":678,"updated_at":679,"id":680,"uuid":681,"content":682,"slug":697,"full_slug":698,"sort_by_date":59,"position":699,"tag_list":700,"is_startpage":24,"parent_id":310,"meta_data":59,"group_id":701,"first_published_at":702,"release_id":59,"lang":65,"path":59,"alternates":703,"default_full_slug":59,"translated_slugs":59},"Checkout","2024-11-06T19:56:29.907Z","2026-07-02T22:04:34.438Z","2026-07-02T22:04:34.451Z",14898631,"60b73dc2-7635-487c-bd1f-fd7fba18ab4d",{"_uid":683,"icon":13,"name":676,"type":684,"guides":685,"pinned":24,"summary":686,"category":13,"component":297,"blog_posts":687,"content_hub":24,"icon_custom":688,"case_studies":690,"faq_sections":691,"help_articles":692,"featured_guides":693,"mailbox_category":13,"featured_articles":694,"featured_blog_posts":695,"featured_case_studies":696},"0a484217-201f-4f60-a813-d8d8bda736e4","simple",[],"How the checkout works, configuration options, customizations, and advanced integrations.",[],{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":689},{},[],[],[],[],[],[],[],"checkout","help\u002Fcategories\u002Fcheckout",0,[],"b3bfcd1f-8386-4ed8-9218-2f4c2989a1b2","2024-11-06T19:56:44.870Z",[],{"name":705,"created_at":706,"published_at":707,"updated_at":708,"id":709,"uuid":460,"content":710,"slug":722,"full_slug":723,"sort_by_date":59,"position":724,"tag_list":725,"is_startpage":24,"parent_id":310,"meta_data":59,"group_id":726,"first_published_at":707,"release_id":59,"lang":65,"path":59,"alternates":727,"default_full_slug":59,"translated_slugs":59},"Customize The Checkout","2026-07-01T21:47:44.740Z","2026-07-01T21:49:01.723Z","2026-07-01T21:49:01.735Z",193547734023485,{"_uid":711,"icon":13,"name":705,"type":684,"pinned":24,"summary":712,"category":681,"component":297,"blog_posts":713,"icon_custom":714,"case_studies":716,"faq_sections":717,"featured_guides":718,"mailbox_category":13,"featured_articles":719,"featured_blog_posts":720,"featured_case_studies":721},"ef453f74-3f14-4304-9824-ab8062d98dc3","Customize the appearance and fields of the checkout.",[],{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":715},{},[],[],[],[],[],[],"customize-the-checkout","help\u002Fcategories\u002Fcustomize-the-checkout",-500,[],"1d9305ee-1c27-453b-a461-c993ef5b69b5",[],{},1783036920957]