[{"data":1,"prerenderedAt":2658},["ShallowReactive",2],{"header:help":3,"footer:default":63,"story:navigation\u002Fsearch:help":243,"story:help\u002Fcategories":281,"story:help\u002Fcategories\u002Fconfigure-the-checkout":307,"help:guides:2d85c136-b77a-4329-afb5-66ad5765a06c":334,"help:categories:2d85c136-b77a-4329-afb5-66ad5765a06c":335,"help:tree:2d85c136-b77a-4329-afb5-66ad5765a06c:default":336,"help:articles:2d85c136-b77a-4329-afb5-66ad5765a06c":364,"story:contact":2469,"_apollo:default":2657},{"name":4,"created_at":5,"published_at":6,"updated_at":7,"id":8,"uuid":9,"content":10,"slug":53,"full_slug":54,"sort_by_date":55,"position":56,"tag_list":57,"is_startpage":24,"parent_id":58,"meta_data":55,"group_id":59,"first_published_at":60,"release_id":55,"lang":61,"path":55,"alternates":62,"default_full_slug":55,"translated_slugs":55},"Help Center Header","2024-08-09T18:06:34.939Z","2026-07-30T21:52:27.962Z","2026-07-30T21:52:27.975Z",10082752,"3e9b88f7-c163-4657-a2f2-62532d600fad",{"_uid":11,"link":12,"badge":16,"items":17,"title":13,"buttons":45,"new_tab":24,"submenu":46,"subitems":47,"alignment":13,"component":48,"badge_link":49,"top_menu_items":52},"e5645a1a-f991-40e8-8d67-e40ebc082b5a",{"id":13,"url":13,"linktype":14,"fieldtype":15,"cached_url":13},"","story","multilink","Help Center",[18,27,34,39],{"_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},"8d7df70e-f087-4da0-b616-6f0e9a5af35c",{"id":13,"url":30,"linktype":31,"fieldtype":15,"cached_url":30},"https:\u002F\u002Fapi.foxycart.com\u002F","url","API Documentation",true,{"_uid":35,"link":36,"title":38,"new_tab":33,"component":26},"f76e7944-23d5-4652-87e4-cdae79272762",{"id":13,"url":37,"linktype":31,"fieldtype":15,"cached_url":37},"https:\u002F\u002Fstatus.foxy.io\u002F","System Status",{"_uid":40,"link":41,"title":44,"new_tab":24,"component":26},"0de16771-4c84-466c-a1da-d8568113c71f",{"id":42,"url":13,"linktype":14,"fieldtype":15,"cached_url":43},"01e4e370-f9b9-45af-8fa9-f15540699b0d","contact","Contact Us",[],[],[],"header",{"id":50,"url":13,"linktype":14,"fieldtype":15,"cached_url":51},"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":64,"created_at":65,"published_at":66,"updated_at":67,"id":68,"uuid":69,"content":70,"slug":236,"full_slug":237,"sort_by_date":55,"position":238,"tag_list":239,"is_startpage":24,"parent_id":58,"meta_data":55,"group_id":240,"first_published_at":241,"release_id":55,"lang":61,"path":55,"alternates":242,"default_full_slug":55,"translated_slugs":55},"Default Footer","2024-08-09T18:06:59.024Z","2026-07-30T21:52:27.802Z","2026-07-30T21:52:27.816Z",10082753,"e59e67ac-248a-482f-84a1-53d4f318186a",{"_uid":71,"about":72,"logos":73,"socials":78,"sections":104,"component":218,"cta_title":219,"bottom_links":220,"cta_subtitle":234,"cta_button_link":235,"cta_button_text":179},"830983f5-c4c4-43c8-b150-86a5e3fa6dc8","Foxy’s hosted cart & payment page allow you to sell anything, using your existing website or platform.",[74],{"id":75,"alt":13,"name":13,"focus":13,"title":13,"filename":76,"copyright":13,"fieldtype":77},14760,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002Fx\u002F3b030847ec\u002Fb-corp.svg","asset",[79,86,92,98],{"_uid":80,"icon":81,"link":82,"name":84,"component":85},"faf0a618-ea94-42ea-9182-03be18c43216","fa-facebook",{"id":13,"url":83,"linktype":31,"fieldtype":15,"cached_url":83},"https:\u002F\u002Fwww.facebook.com\u002Ffoxycart","Facebook","footer___social",{"_uid":87,"icon":88,"link":89,"name":91,"component":85},"14309c18-7e79-423e-b375-34555bac0811","fa-instagram",{"id":13,"url":90,"linktype":31,"fieldtype":15,"cached_url":90},"https:\u002F\u002Fwww.instagram.com\u002Ffoxy_io","Instagram",{"_uid":93,"icon":94,"link":95,"name":97,"component":85},"8f7fe7cf-0dd3-4596-8334-226ea466716a","fa-linkedin",{"id":13,"url":96,"linktype":31,"fieldtype":15,"cached_url":96},"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Ffoxycart.com","LinkedIn",{"_uid":99,"icon":100,"link":101,"name":103,"component":85},"90a675b4-dd97-40b5-be09-00a87223d4c5","fa-youtube",{"id":13,"url":102,"linktype":31,"fieldtype":15,"cached_url":102},"https:\u002F\u002Fwww.youtube.com\u002Fuser\u002Ffoxycart","Youtube",[105,135,180,202],{"_uid":106,"name":107,"items":108,"component":134},"82849945-282f-488c-b18d-a8d2252f514a","Company",[109,116,122,128],{"_uid":110,"link":111,"title":114,"new_tab":24,"component":115},"1f699ab1-938b-4d9d-9825-aabcbe6f57fe",{"id":112,"url":13,"linktype":14,"fieldtype":15,"cached_url":113},"63634293-a749-4226-9439-9f38ee6dcda0","about-us","About Us","footer___menu_items",{"_uid":117,"link":118,"title":121,"new_tab":24,"component":115},"b26b00f1-a0e7-4be2-8ab3-428b8cc841f8",{"id":119,"url":13,"linktype":14,"fieldtype":15,"cached_url":120},"26cb7c55-faed-4a77-a291-1552d4111b3e","how-foxy-works","How Foxy Works",{"_uid":123,"link":124,"title":127,"new_tab":24,"component":115},"b40c68a0-1ceb-4226-9515-6176534f61fe",{"id":125,"url":13,"linktype":14,"fieldtype":15,"cached_url":126},"dc6657d7-7f4f-4c0d-b781-e971b038ee26","for-good","Foxy For Good",{"_uid":129,"link":130,"title":133,"new_tab":24,"component":115},"3ad0c134-bef9-4fff-b891-e09f16109036",{"id":131,"url":13,"linktype":14,"fieldtype":15,"cached_url":132},"23cae210-baf4-4588-9862-d09f4f52ccd2","brand-assets","Brand Assets","footer___section",{"_uid":136,"name":137,"items":138,"component":134},"a6805fa8-ac60-47f1-b8f0-f27aded0afbe","Product",[139,145,151,157,163,169,175],{"_uid":140,"link":141,"title":144,"new_tab":24,"component":115},"b39c8a4e-2383-486f-b76a-11fbb15d8134",{"id":142,"url":13,"linktype":14,"fieldtype":15,"cached_url":143},"bb04690f-fe98-4ce6-80be-05b950f2364f","features\u002F","Features",{"_uid":146,"link":147,"title":150,"new_tab":24,"component":115},"64f8a41f-c181-433d-bc0a-fc94e71ecbf6",{"id":148,"url":13,"linktype":14,"fieldtype":15,"cached_url":149},"c450c58d-761d-48c0-a9af-0b064611689b","pricing","Pricing",{"_uid":152,"link":153,"title":156,"new_tab":24,"component":115},"6e0b287f-fd8c-4146-9e0e-0ab0b5c9ce3c",{"id":154,"url":13,"linktype":14,"fieldtype":15,"cached_url":155},"fab20ad9-e76a-4947-b709-3a6fdfa88028","blog\u002Fcategories\u002Fproduct-updates","Product Updates",{"_uid":158,"link":159,"title":162,"new_tab":24,"component":115},"47e5a074-a6b5-4f1c-8c2f-89a2ae9f83eb",{"id":160,"url":13,"linktype":14,"fieldtype":15,"cached_url":161},"d2c83612-d611-47f3-a3b4-ca7fe08540b8","changelogs\u002F","Changelogs",{"_uid":164,"link":165,"title":168,"new_tab":24,"component":115},"b5c08774-542f-4ffd-b357-c94d674488b9",{"id":166,"url":13,"linktype":14,"fieldtype":15,"cached_url":167},"08876121-0df3-4ed9-aa11-902b3e41cd02","whats-next","What's Next",{"_uid":170,"link":171,"title":174,"new_tab":24,"component":115},"9c2704ed-6d9f-43e1-9e67-c8d91c083288",{"id":172,"url":13,"linktype":14,"fieldtype":15,"cached_url":173},"056a7857-b18f-4025-8f97-91a38fc19bc8","compare\u002F","Compare",{"_uid":176,"link":177,"title":179,"new_tab":24,"component":115},"5f2db35b-674b-406a-8fa7-d246633af9fe",{"id":13,"url":178,"linktype":31,"fieldtype":15,"cached_url":178},"https:\u002F\u002Fadmin.foxy.io\u002Fsign-up","Try Foxy Free",{"_uid":181,"name":182,"items":183,"component":134},"63fa1f29-4252-4640-9922-fe310e69e54a","Security",[184,190,196],{"_uid":185,"link":186,"title":189,"new_tab":24,"component":115},"1158ddb6-9eb0-466f-8eb6-7ca2ae66c8b8",{"id":187,"url":13,"linktype":14,"fieldtype":15,"cached_url":188},"1f58fb2c-8681-4742-b6e8-09999beae9f6","security-contact","Security Contact",{"_uid":191,"link":192,"title":195,"new_tab":24,"component":115},"9a79c54a-6022-4dfd-854b-766f5e4703ba",{"id":193,"url":13,"linktype":14,"fieldtype":15,"cached_url":194},"55cbfcc3-425a-4261-8037-54e919851d2d","pci","PCI Compliance",{"_uid":197,"link":198,"title":201,"new_tab":24,"component":115},"0b85f5b6-9534-4071-b323-b39d053dd4d7",{"id":199,"url":13,"linktype":14,"fieldtype":15,"cached_url":200},"c3ac0fe3-83e2-4879-afbd-d4c83e1590df","help\u002Farticles\u002Four-official-domains-public-code","Domains & Codebases",{"_uid":203,"name":204,"items":205,"component":134},"998ded67-d107-49f4-8154-ca6be51671ec","Support",[206,209,212,215],{"_uid":207,"link":208,"title":16,"new_tab":24,"component":115},"594ffd35-3049-4004-bb08-0db568ebd819",{"id":50,"url":13,"linktype":14,"fieldtype":15,"cached_url":51},{"_uid":210,"link":211,"title":32,"new_tab":33,"component":115},"61e0b7c8-aadf-419b-a339-b3ccabc65bf4",{"id":13,"url":30,"linktype":31,"fieldtype":15,"cached_url":30},{"_uid":213,"link":214,"title":38,"new_tab":33,"component":115},"fd67a89e-1c54-4d31-94b5-64be999062d6",{"id":13,"url":37,"linktype":31,"fieldtype":15,"cached_url":37},{"_uid":216,"link":217,"title":44,"new_tab":24,"component":115},"231a6f71-e996-4ad4-b033-d4d5542f34f0",{"id":42,"url":13,"linktype":14,"fieldtype":15,"cached_url":43},"footer","Get started with our *unlimited free trial*.",[221,228],{"_uid":222,"link":223,"text":226,"component":227},"f0b77210-2632-45a2-8436-e57cad84d01a",{"id":224,"url":13,"linktype":14,"fieldtype":15,"cached_url":225},"60ba16a2-c1f4-485f-b978-8d2eeeafbf5a","terms-of-service","Terms of Service","footer___bottom_links",{"_uid":229,"link":230,"text":233,"component":227},"4bd497b0-993f-4b4d-a5b7-8a49c7c8fec9",{"id":231,"url":13,"linktype":14,"fieldtype":15,"cached_url":232},"332302b9-1d18-4016-b9c8-9b33c72d782b","privacy-policy","Privacy Policy","No credit card required.",{"id":13,"url":178,"linktype":31,"fieldtype":15,"cached_url":178},"default-footer","navigation\u002Fdefault-footer",50,[],"11006268-07f9-41e9-96f3-c51fb723399d","2022-09-21T20:39:02.357Z",[],{"name":244,"created_at":245,"published_at":246,"updated_at":247,"id":248,"uuid":249,"content":250,"slug":272,"full_slug":275,"sort_by_date":55,"position":276,"tag_list":277,"is_startpage":24,"parent_id":58,"meta_data":55,"group_id":278,"first_published_at":279,"release_id":55,"lang":61,"path":55,"alternates":280,"default_full_slug":55,"translated_slugs":55},"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":251,"name":244,"indices":252,"summary":13,"component":272,"primary_image":273},"5e4a56e8-76f1-4790-b3a7-70f1be97d042",[253,258,262,267],{"key":254,"_uid":255,"icon":13,"name":256,"component":257},"all","c12a3210-7323-4273-8217-5215e52efe84","All","index",{"key":259,"_uid":260,"icon":261,"name":23,"component":257},"help_center_article","5acff080-95e4-44d3-8dcf-1b19720af382","fa-file-alt",{"key":263,"_uid":264,"icon":265,"name":266,"component":257},"help_center_guide","b8fbc206-c083-471e-a1f0-0ebeb90a669d","fa-book","Guides",{"key":268,"_uid":269,"icon":270,"name":271,"component":257},"blog_post","23419e83-2e56-4c4c-8a05-9fd1b3c9a9bd","fa-file-image","Blog Posts","search",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":274},{},"navigation\u002Fsearch",60,[],"11e1fd31-95cd-4fc9-b736-8b8910663e6c","2024-10-21T23:17:05.904Z",[],{"name":23,"created_at":282,"published_at":283,"updated_at":284,"id":285,"uuid":21,"content":286,"slug":300,"full_slug":22,"sort_by_date":55,"position":301,"tag_list":302,"is_startpage":33,"parent_id":303,"meta_data":55,"group_id":304,"first_published_at":305,"release_id":55,"lang":61,"path":55,"alternates":306,"default_full_slug":55,"translated_slugs":55},"2022-09-19T14:42:29.685Z","2024-07-30T18:17:22.506Z","2024-07-30T18:17:22.525Z",2660,{"_uid":287,"icon":13,"name":23,"guides":288,"pinned":24,"summary":289,"category":13,"component":290,"blog_posts":291,"content_hub":24,"icon_custom":292,"case_studies":293,"faq_sections":294,"help_articles":295,"featured_guides":296,"mailbox_category":13,"featured_articles":297,"featured_blog_posts":298,"featured_case_studies":299},"d6dae89a-907a-4bf7-82de-fe2ba875ee6e",[],"Get your questions answered with our browsable knowledge base.","help_center_category",[],{"id":55,"alt":55,"name":13,"focus":55,"title":55,"filename":13,"copyright":55,"fieldtype":77},[],[],[],[],[],[],[],"categories",530,[],2658,"19ebcdd2-027f-47f5-9a5b-a8992c959578","2022-09-19T16:24:39.219Z",[],{"name":308,"created_at":309,"published_at":310,"updated_at":311,"id":312,"uuid":313,"content":314,"slug":328,"full_slug":329,"sort_by_date":55,"position":330,"tag_list":331,"is_startpage":24,"parent_id":303,"meta_data":55,"group_id":332,"first_published_at":310,"release_id":55,"lang":61,"path":55,"alternates":333,"default_full_slug":55,"translated_slugs":55},"Configure The Checkout","2026-07-01T21:47:18.962Z","2026-07-01T21:49:01.946Z","2026-07-01T21:49:01.970Z",193547628436796,"2d85c136-b77a-4329-afb5-66ad5765a06c",{"_uid":315,"icon":13,"name":308,"type":316,"pinned":24,"summary":317,"category":318,"component":290,"blog_posts":319,"icon_custom":320,"case_studies":322,"faq_sections":323,"featured_guides":324,"mailbox_category":13,"featured_articles":325,"featured_blog_posts":326,"featured_case_studies":327},"490f188d-cc3f-4d7e-a9f2-7885fd5ac029","simple","Set up and configure checkout behavior, including required fields, guest\u002Faccount settings, and address autocomplete.","60b73dc2-7635-487c-bd1f-fd7fba18ab4d",[],{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":321},{},[],[],[],[],[],[],"configure-the-checkout","help\u002Fcategories\u002Fconfigure-the-checkout",-490,[],"1c00ed16-7940-48bd-9daf-8b28c2c7a207",[],[],[],[281,337],{"name":338,"created_at":339,"published_at":340,"updated_at":341,"id":342,"uuid":318,"content":343,"slug":357,"full_slug":358,"sort_by_date":55,"position":359,"tag_list":360,"is_startpage":24,"parent_id":303,"meta_data":55,"group_id":361,"first_published_at":362,"release_id":55,"lang":61,"path":55,"alternates":363,"default_full_slug":55,"translated_slugs":55},"Checkout","2024-11-06T19:56:29.907Z","2026-07-02T22:04:34.438Z","2026-07-02T22:04:34.451Z",14898631,{"_uid":344,"icon":13,"name":338,"type":316,"guides":345,"pinned":24,"summary":346,"category":13,"component":290,"blog_posts":347,"content_hub":24,"icon_custom":348,"case_studies":350,"faq_sections":351,"help_articles":352,"featured_guides":353,"mailbox_category":13,"featured_articles":354,"featured_blog_posts":355,"featured_case_studies":356},"0a484217-201f-4f60-a813-d8d8bda736e4",[],"How the checkout works, configuration options, customizations, and advanced integrations.",[],{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":349},{},[],[],[],[],[],[],[],"checkout","help\u002Fcategories\u002Fcheckout",0,[],"b3bfcd1f-8386-4ed8-9218-2f4c2989a1b2","2024-11-06T19:56:44.870Z",[],[365,765,1045,1086,1221,1371,1440,1490,1588,2373],{"name":366,"created_at":367,"published_at":368,"updated_at":369,"id":370,"uuid":371,"content":372,"slug":758,"full_slug":759,"sort_by_date":55,"position":760,"tag_list":761,"is_startpage":24,"parent_id":762,"meta_data":55,"group_id":763,"first_published_at":368,"release_id":55,"lang":61,"path":55,"alternates":764,"default_full_slug":55,"translated_slugs":55},"Allow guest checkout without an email address","2026-07-21T14:48:33.037Z","2026-07-22T17:45:03.417Z","2026-07-22T17:45:03.435Z",200522600662477,"fe4a5c58-100b-4591-b092-a465cb2dab1d",{"_uid":373,"body":374,"name":753,"image":754,"pinned":24,"summary":756,"category":313,"component":259,"related_articles":757},"959032bc-dd71-4063-8e59-dd76f074cfaa",{"type":375,"content":376},"doc",[377,384,391,396,406,411,429,435,440,445,479,484,517,522,531,536,542,547,552,557,562,623,628,633,638,643,666,671,693,698,709,730,735],{"type":378,"attrs":379,"content":380},"paragraph",{"textAlign":55},[381],{"text":382,"type":383},"If your site is made for creating quotes, or similar functionality, where you don't want to require payment from your customers, you can pre-fill the Purchase Order field and hide it so your customers can check out without providing payment or a Purchase Order.","text",{"type":385,"attrs":386,"content":388},"heading",{"level":387,"textAlign":55},2,[389],{"text":390,"type":383},"Step 1: Turn on purchase orders",{"type":378,"attrs":392,"content":393},{"textAlign":55},[394],{"text":395,"type":383},"Note: An active Foxy subscription is required in order to access and use the Purchase Order option.",{"type":378,"attrs":397,"content":398},{"textAlign":55},[399,401],{"text":400,"type":383},"Go to your Payment Gateway Settings and turn on the option for ",{"text":402,"type":383,"marks":403},"Let customers pay with a Purchase Order",[404],{"type":405},"code",{"type":385,"attrs":407,"content":408},{"level":387,"textAlign":55},[409],{"text":410,"type":383},"Step 2: Add snippet to your Checkout template to populate the P.O. field",{"type":412,"content":413},"bullet_list",[414,422],{"type":415,"content":416},"list_item",[417],{"type":378,"attrs":418,"content":419},{"textAlign":55},[420],{"text":421,"type":383},"In your Foxy administration, head to the checkout template page",{"type":415,"content":423},[424],{"type":378,"attrs":425,"content":426},{"textAlign":55},[427],{"text":428,"type":383},"In the template, after the line",{"type":430,"attrs":431,"content":432},"code_block",{"class":55},[433],{"text":434,"type":383},"{% embed 'checkout.inc.twig' %}",{"type":378,"attrs":436,"content":437},{"textAlign":55},[438],{"text":439,"type":383},"paste the following snippet:",{"type":430,"attrs":441,"content":442},{"class":55},[443],{"text":444,"type":383},"{% block payment_method %}\n    {% set purchase_order = \"Quote\" %}\n        \n{% endblock %}",{"type":412,"content":446},[447,472],{"type":415,"content":448},[449],{"type":378,"attrs":450,"content":451},{"textAlign":55},[452,454,458,460,464,466,470],{"text":453,"type":383},"You can customise the ",{"text":455,"type":383,"marks":456},"%%\"Quote\"%%",[457],{"type":405},{"text":459,"type":383}," string above to match whatever payment method type you're utilising here - for example that could be ",{"text":461,"type":383,"marks":462},"%%\"Cash On Pickup\"%%",[463],{"type":405},{"text":465,"type":383}," or ",{"text":467,"type":383,"marks":468},"%%\"Bank Transfer\"%%",[469],{"type":405},{"text":471,"type":383}," etc.",{"type":415,"content":473},[474],{"type":378,"attrs":475,"content":476},{"textAlign":55},[477],{"text":478,"type":383},"Save the template",{"type":385,"attrs":480,"content":481},{"level":387,"textAlign":55},[482],{"text":483,"type":383},"Step 3: Add snippet to custom header to hide the P.O.",{"type":412,"content":485},[486,505],{"type":415,"content":487},[488],{"type":378,"attrs":489,"content":490},{"textAlign":55},[491,493,497,499,503],{"text":492,"type":383},"Go to the \"Configuration\" page in the administration and look for the option labelled ",{"text":494,"type":383,"marks":495},"Add custom header and footer code to your templates",[496],{"type":405},{"text":498,"type":383},". You may need to check the box to see the following ",{"text":500,"type":383,"marks":501},"custom header",[502],{"type":405},{"text":504,"type":383}," textarea.",{"type":415,"content":506},[507],{"type":378,"attrs":508,"content":509},{"textAlign":55},[510,512,515],{"text":511,"type":383},"In the ",{"text":500,"type":383,"marks":513},[514],{"type":405},{"text":516,"type":383}," textarea, paste the following snippet. If there's already code in the box, paste at the bottom of the code already present there:",{"type":430,"attrs":518,"content":519},{"class":55},[520],{"text":521,"type":383},"\u003Cstyle type=\"text\u002Fcss\">\n#fc #fc-payment-method-purchase-order .fc-form-group {\n     display: none;\n}\n#fc #fc-payment-method-purchase-order .fc-input-group-container--active {\n     padding-bottom: 0px;\n}\n#fc #fc-payment-method-purchase-order .fc-input-group-container__title {\n     border-radius: 5px;\n}\n\u003C\u002Fstyle>",{"type":412,"content":523},[524],{"type":415,"content":525},[526],{"type":378,"attrs":527,"content":528},{"textAlign":55},[529],{"text":530,"type":383},"Save the configuration.",{"type":378,"attrs":532,"content":533},{"textAlign":55},[534],{"text":535,"type":383},"If you then load up your checkout - you should see the purchase order method still displayed - but without the text input section below it when selected.",{"type":385,"attrs":537,"content":539},{"level":538,"textAlign":55},3,[540],{"text":541,"type":383},"Hide purchase order entirely",{"type":378,"attrs":543,"content":544},{"textAlign":55},[545],{"text":546,"type":383},"If you instead want to hide the purchase order option entirely, and not provide any text reference to customers for how they would be paying, then you can simply use this CSS block instead:",{"type":430,"attrs":548,"content":549},{"class":55},[550],{"text":551,"type":383},"\u003Cstyle type=\"text\u002Fcss\">\n#fc #fc-payment-method-purchase-order {\n     display: none;\n}\n\u003C\u002Fstyle>",{"type":385,"attrs":553,"content":554},{"level":387,"textAlign":55},[555],{"text":556,"type":383},"Optional Step 4: Customize language on the Checkout",{"type":378,"attrs":558,"content":559},{"textAlign":55},[560],{"text":561,"type":383},"​You can change\u002Fremove the image and text for Purchase Order on the checkout by customizing the language strings.",{"type":412,"content":563},[564,571,584,597,610],{"type":415,"content":565},[566],{"type":378,"attrs":567,"content":568},{"textAlign":55},[569],{"text":570,"type":383},"Go to the language templates customization in your Foxy admin.",{"type":415,"content":572},[573],{"type":378,"attrs":574,"content":575},{"textAlign":55},[576,578,582],{"text":577,"type":383},"Click the ",{"text":579,"type":383,"marks":580},"show all details",[581],{"type":405},{"text":583,"type":383}," button. You'll see custom language fields.",{"type":415,"content":585},[586],{"type":378,"attrs":587,"content":588},{"textAlign":55},[589,591,595],{"text":590,"type":383},"You can scroll until you see ",{"text":592,"type":383,"marks":593},"pay with purchase order",[594],{"type":405},{"text":596,"type":383}," or use your browser's find feature to locate it. Just change the text to what you desire. If you want to format it, you can use html formatting.",{"type":415,"content":598},[599],{"type":378,"attrs":600,"content":601},{"textAlign":55},[602,604,608],{"text":603,"type":383},"You may also want to then edit the language string for ",{"text":605,"type":383,"marks":606},"purchase order",[607],{"type":405},{"text":609,"type":383},". This language string is used on the web and email receipt, and will be the label before whatever value you entered in step 2 (\"Quote\" in the default example code).",{"type":415,"content":611},[612],{"type":378,"attrs":613,"content":614},{"textAlign":55},[615,617,621],{"text":616,"type":383},"Scroll to the bottom of the page and click ",{"text":618,"type":383,"marks":619},"Update Language Customizations",[620],{"type":405},{"text":622,"type":383}," to save.",{"type":385,"attrs":624,"content":625},{"level":387,"textAlign":55},[626],{"text":627,"type":383},"Optional Step 5: Add custom language to the Web\u002FEmail Receipt",{"type":378,"attrs":629,"content":630},{"textAlign":55},[631],{"text":632,"type":383},"Depending on the type of custom payment option you're needing to allow, you may also need to provide some details for the customer on their receipt to complete their alternative payment method. This would be especially useful for Bank Transfer payment methods.",{"type":378,"attrs":634,"content":635},{"textAlign":55},[636],{"text":637,"type":383},"This step will add a little extra language after the default success message that appears at the top of the web and email receipts.",{"type":385,"attrs":639,"content":640},{"level":538,"textAlign":55},[641],{"text":642,"type":383},"Web Receipt",{"type":412,"content":644},[645,652,659],{"type":415,"content":646},[647],{"type":378,"attrs":648,"content":649},{"textAlign":55},[650],{"text":651,"type":383},"Go to the Web Receipt section in the Foxy admin.",{"type":415,"content":653},[654],{"type":378,"attrs":655,"content":656},{"textAlign":55},[657],{"text":658,"type":383},"Click the \"Custom Template\" radio input if it isn't already to show the template",{"type":415,"content":660},[661],{"type":378,"attrs":662,"content":663},{"textAlign":55},[664],{"text":665,"type":383},"At the top of the template, paste in the following code:",{"type":430,"attrs":667,"content":668},{"class":55},[669],{"text":670,"type":383},"{% if purchase_order %}\n{% set custom_purchase_order_message = '\u003Cbr>\u003Cbr>\u003Ch4>Bank Transfer Details\u003C\u002Fh4>\u003Cp>\u003Cspan style=\"text-decoration: underline;\">BSB\u003C\u002Fspan>: 123 456 | \u003Cspan style=\"text-decoration: underline;\">Account Number\u003C\u002Fspan>: 9876 54321 | \u003Cspan style=\"text-decoration: underline;\">Bank\u003C\u002Fspan>: My Bank\u003C\u002Fp>' %}\n{% set custom_lang = config.lang|merge({ \"receipt_message_order\": config.lang.receipt_message_order ~ custom_purchase_order_message }) %}\n{% set config = config|merge({\"lang\": custom_lang }) %}\n{% endif %}",{"type":412,"content":672},[673,686],{"type":415,"content":674},[675],{"type":378,"attrs":676,"content":677},{"textAlign":55},[678,680,684],{"text":679,"type":383},"Edit the code as needed to provide your details, specifically the value set in the ",{"text":681,"type":383,"marks":682},"custom_purchase_order_message",[683],{"type":405},{"text":685,"type":383}," line above. The example code above is formatted for a Bank Transfer type option, but you can add any custom HTML you want.",{"type":415,"content":687},[688],{"type":378,"attrs":689,"content":690},{"textAlign":55},[691],{"text":692,"type":383},"Save the updated template",{"type":385,"attrs":694,"content":695},{"level":538,"textAlign":55},[696],{"text":697,"type":383},"Email Receipt",{"type":378,"attrs":699,"content":700},{"textAlign":55},[701,703,707],{"text":702,"type":383},"Note: This approach relies on the HTML email template, activated by selecting ",{"text":704,"type":383,"marks":705},"Send Text and HTML E-mail",[706],{"type":405},{"text":708,"type":383},".",{"type":412,"content":710},[711,718,724],{"type":415,"content":712},[713],{"type":378,"attrs":714,"content":715},{"textAlign":55},[716],{"text":717,"type":383},"Go to the Email Receipt section in the Foxy admin.",{"type":415,"content":719},[720],{"type":378,"attrs":721,"content":722},{"textAlign":55},[723],{"text":658,"type":383},{"type":415,"content":725},[726],{"type":378,"attrs":727,"content":728},{"textAlign":55},[729],{"text":665,"type":383},{"type":430,"attrs":731,"content":732},{"class":55},[733],{"text":734,"type":383},"{% if purchase_order %}\n{% set custom_purchase_order_message = '\u003Cbr>\u003Ch2 style=\"margin:0;padding:0;font-family:Verdana,Helvetica,Arial,sans-serif;color:#666666;font-weight:normal;font-size:18px;margin-bottom:10px\">Bank Transfer Details\u003C\u002Fh2>\u003Cp style=\"margin-top:0; margin-bottom:30px\">\u003Cspan style=\"text-decoration: underline;\">BSB\u003C\u002Fspan>: 123 456 | \u003Cspan style=\"text-decoration: underline;\">Account Number\u003C\u002Fspan>: 9876 54321 | \u003Cspan style=\"text-decoration: underline;\">Bank\u003C\u002Fspan>: My Bank\u003C\u002Fp>' %}\n{% set custom_lang = config.lang|merge({ \"email_html_message_order\": config.lang.email_html_message_order ~ custom_purchase_order_message }) %}\n{% set config = config|merge({\"lang\": custom_lang }) %}\n{% endif %}",{"type":412,"content":736},[737,747],{"type":415,"content":738},[739],{"type":378,"attrs":740,"content":741},{"textAlign":55},[742,743,746],{"text":679,"type":383},{"text":681,"type":383,"marks":744},[745],{"type":405},{"text":685,"type":383},{"type":415,"content":748},[749],{"type":378,"attrs":750,"content":751},{"textAlign":55},[752],{"text":692,"type":383},"Auto fill and hide the purchase order field",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":755},{},"How to let customers check out without payment by pre filling and hiding the purchase order field (quote workflow).",[],"allow-guest-checkout-without-an-email-address","help\u002Farticles\u002Fallow-guest-checkout-without-an-email-address",-4080,[],2659,"8ec637a2-b059-421b-904c-554b8906a471",[],{"name":766,"created_at":767,"published_at":768,"updated_at":769,"id":770,"uuid":771,"content":772,"slug":1039,"full_slug":1040,"sort_by_date":55,"position":1041,"tag_list":1042,"is_startpage":24,"parent_id":762,"meta_data":55,"group_id":1043,"first_published_at":768,"release_id":55,"lang":61,"path":55,"alternates":1044,"default_full_slug":55,"translated_slugs":55},"Block checkout based on custom conditions","2026-07-21T15:22:25.020Z","2026-07-22T17:45:03.131Z","2026-07-22T17:45:03.154Z",200530923652571,"224ac76a-86be-4479-906d-335a3dd053f1",{"_uid":773,"body":774,"name":766,"image":1035,"pinned":24,"summary":1037,"category":313,"component":259,"related_articles":1038},"6022777f-a003-43d9-bbb9-ee9b3eac1c46",{"type":375,"content":775},[776,781,786,791,830,835,840,845,850,855,860,865,870,875,880,885,890,915,920,925,930,944,949,954,959,964,969,989,994,999,1004,1008,1030],{"type":378,"attrs":777,"content":778},{"textAlign":55},[779],{"text":780,"type":383},"Sometimes you need to prevent customers from being able to complete the checkout based on specific conditions, such as the total cost or quantity of products. This simple snippet will hide the checkout button and instead display a message for the customer.",{"type":385,"attrs":782,"content":783},{"level":387,"textAlign":55},[784],{"text":785,"type":383},"Step 1: Overwrite the default block",{"type":378,"attrs":787,"content":788},{"textAlign":55},[789],{"text":790,"type":383},"To overwrite the submit button - you need to customise the checkout template. To do so:",{"type":412,"content":792},[793,800,807,823],{"type":415,"content":794},[795],{"type":378,"attrs":796,"content":797},{"textAlign":55},[798],{"text":799,"type":383},"In the Foxy administration, head to the \"checkout\" template section.",{"type":415,"content":801},[802],{"type":378,"attrs":803,"content":804},{"textAlign":55},[805],{"text":806,"type":383},"If not already, select \"Custom Template\", and a text area will appear with the default checkout template.",{"type":415,"content":808},[809],{"type":378,"attrs":810,"content":811},{"textAlign":55},[812,814,817,819],{"text":813,"type":383},"Look for the following lines within the template: ",{"text":434,"type":383,"marks":815},[816],{"type":405},{"text":818,"type":383}," and ",{"text":820,"type":383,"marks":821},"{% endembed %}",[822],{"type":405},{"type":415,"content":824},[825],{"type":378,"attrs":826,"content":827},{"textAlign":55},[828],{"text":829,"type":383},"In between those two lines, paste the following code:",{"type":430,"attrs":831,"content":832},{"class":55},[833],{"text":834,"type":383},"{% block submit_button %}\n    {% set allow_order = true %}\n    {% if total_order \u003C 150 %}\n        {% set allow_order = false %}\n    {% endif %}\n\n    {% if not allow_order and not is_updateinfo and not is_subscription_cancel %}\n        \u003Cdiv class=\"fc-form-group\">\n            \u003Cdiv class=\"col-sm-7 col-sm-push-3\">\n                \u003Cp class=\"fc-alert fc-alert--danger\">\n                    A minimum order total of $150 is required to purchase.\n                \u003C\u002Fp>\n            \u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n    {% else %}\n        \n    {% endif %}\n{% endblock %}",{"type":385,"attrs":836,"content":837},{"level":387,"textAlign":55},[838],{"text":839,"type":383},"Step 2: Customise conditions",{"type":378,"attrs":841,"content":842},{"textAlign":55},[843],{"text":844,"type":383},"Depending on your requirements, you'll need to customise the conditions for when the custom message should be displayed. In the snippet above, it's based on the order total being at least $150 - specifically this part:",{"type":430,"attrs":846,"content":847},{"class":55},[848],{"text":849,"type":383},"{% if total_order \u003C 150 %}",{"type":378,"attrs":851,"content":852},{"textAlign":55},[853],{"text":854,"type":383},"You can customise this to check for whatever you need, using the view data available in the templates. For example, if you wanted to require at least 6 products:",{"type":430,"attrs":856,"content":857},{"class":55},[858],{"text":859,"type":383},"{% if item_count \u003C 6 %}",{"type":378,"attrs":861,"content":862},{"textAlign":55},[863],{"text":864,"type":383},"You'll also want to customise the message to match your requirements - within the script it's set to \"A minimum order total of $150 is required to purchase\" currently.",{"type":385,"attrs":866,"content":867},{"level":387,"textAlign":55},[868],{"text":869,"type":383},"Conditions based on Products",{"type":385,"attrs":871,"content":872},{"level":538,"textAlign":55},[873],{"text":874,"type":383},"Additional logic for product based conditions",{"type":378,"attrs":876,"content":877},{"textAlign":55},[878],{"text":879,"type":383},"If your Twig logic is based on product information (for example, the quantity or presence of specific products), you will need to also add a little bit of extra javascript to your store to ensure the submit button is re-rendered as required.",{"type":378,"attrs":881,"content":882},{"textAlign":55},[883],{"text":884,"type":383},"This logic is not required if your logic does not depend on product information.",{"type":378,"attrs":886,"content":887},{"textAlign":55},[888],{"text":889,"type":383},"To add the code, follow these steps:",{"type":412,"content":891},[892,899,906],{"type":415,"content":893},[894],{"type":378,"attrs":895,"content":896},{"textAlign":55},[897],{"text":898,"type":383},"Navigate to the \"configuration\" section of your store's Foxy administration",{"type":415,"content":900},[901],{"type":378,"attrs":902,"content":903},{"textAlign":55},[904],{"text":905,"type":383},"Look for the \"Add custom header and footer codes to your templates\" option, and enable it if not already.",{"type":415,"content":907},[908,913],{"type":378,"attrs":909,"content":910},{"textAlign":55},[911],{"text":912,"type":383},"Within the footer textarea, paste the following code and save the configuration.",{"type":378,"attrs":914},{"textAlign":55},{"type":430,"attrs":916,"content":917},{"class":55},[918],{"text":919,"type":383},"{% if context == \"checkout\" %}\n\u003Cscript>\nFC.client.on(\"cart-item-remove.done\", FC.checkout.renderSubmitButton);\nFC.client.on(\"cart-item-quantity-update.done\", FC.checkout.renderSubmitButton);\n\u003C\u002Fscript>\n{% endif %}",{"type":385,"attrs":921,"content":922},{"level":538,"textAlign":55},[923],{"text":924,"type":383},"Example: Minimum order total only for a specific category",{"type":378,"attrs":926,"content":927},{"textAlign":55},[928],{"text":929,"type":383},"This is an example of logic if you wanted to restrict orders not just by the total order amount, but also only if a specific category of products is present in the cart.",{"type":378,"attrs":931,"content":932},{"textAlign":55},[933,935,938,939,942],{"text":934,"type":383},"Follow the above steps for adding the javascript to your store's configuration, and use Twig like this in your checkout template in between the ",{"text":434,"type":383,"marks":936},[937],{"type":405},{"text":818,"type":383},{"text":820,"type":383,"marks":940},[941],{"type":405},{"text":943,"type":383}," tags:",{"type":430,"attrs":945,"content":946},{"class":55},[947],{"text":948,"type":383},"{% block submit_button %}\n    {% set allow_order = true %}\n    {% set is_wholesale = false %}\n    {% for item in items %}\n        {% if item.category == \"WHOLESALE\" %}\n            {% set is_wholesale = true %}\n        {% endif %}\n    {% endfor %}\n    {% if is_wholesale and total_order \u003C 150 %}\n        {% set allow_order = false %}\n    {% endif %}\n\n    {% if not allow_order and not is_updateinfo and not is_subscription_cancel %}\n        \u003Cdiv class=\"fc-form-group\">\n            \u003Cdiv class=\"col-sm-7 col-sm-push-3\">\n                \u003Cp class=\"fc-alert fc-alert--danger\">\n                    A minimum order total of $150 is required to purchase.\n                \u003C\u002Fp>\n            \u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n    {% else %}\n        \n    {% endif %}\n{% endblock %}",{"type":385,"attrs":950,"content":951},{"level":387,"textAlign":55},[952],{"text":953,"type":383},"Display error at top of the checkout",{"type":378,"attrs":955,"content":956},{"textAlign":55},[957],{"text":958,"type":383},"The snippet above just replaces the checkout submit button with the error message, so it's not immediately visible to the customer that their checkout attempt is not possible yet.",{"type":378,"attrs":960,"content":961},{"textAlign":55},[962],{"text":963,"type":383},"If you want to also display the error at the top of the page, you can follow these steps to achieve that:",{"type":385,"attrs":965,"content":966},{"level":538,"textAlign":55},[967],{"text":968,"type":383},"Additional block for the checkout template",{"type":378,"attrs":970,"content":971},{"textAlign":55},[972,974,977,978,981,983,987],{"text":973,"type":383},"Similar to how the custom block was included within the checkout template, you'll include an additional block inside the ",{"text":434,"type":383,"marks":975},[976],{"type":405},{"text":818,"type":383},{"text":820,"type":383,"marks":979},[980],{"type":405},{"text":982,"type":383}," tags. You can use the same conditional logic in this block as with the ",{"text":984,"type":383,"marks":985},"checkout_submit",[986],{"type":405},{"text":988,"type":383}," block above - but the HTML is slightly different for how it's shown on the page:",{"type":430,"attrs":990,"content":991},{"class":55},[992],{"text":993,"type":383},"{% block required_hidden_fields %}\n    {% set allow_order = true %}\n    {% if total_order \u003C 150 %}\n        {% set allow_order = false %}\n    {% endif %}\n\n    {% if not allow_order and not is_updateinfo and not is_subscription_cancel %}\n        \u003Cdiv class=\"fc-messages\">\n            \u003Cdiv class=\"fc-alert fc-alert--danger\">\n                \u003Cul>\n                    \u003Cli>A minimum order total of $150 is required to purchase.\u003C\u002Fli>\n                \u003C\u002Ful>\n            \u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n    {% endif %}\n    \n{% endblock required_hidden_fields %}",{"type":385,"attrs":995,"content":996},{"level":538,"textAlign":55},[997],{"text":998,"type":383},"Additional javascript for the custom footer",{"type":378,"attrs":1000,"content":1001},{"textAlign":55},[1002],{"text":1003,"type":383},"To ensure the error message at the top of the checkout is updated if the customer adjusts their cart, you will need to also add some javascript to your footer.",{"type":378,"attrs":1005,"content":1006},{"textAlign":55},[1007],{"text":889,"type":383},{"type":412,"content":1009},[1010,1016,1022],{"type":415,"content":1011},[1012],{"type":378,"attrs":1013,"content":1014},{"textAlign":55},[1015],{"text":898,"type":383},{"type":415,"content":1017},[1018],{"type":378,"attrs":1019,"content":1020},{"textAlign":55},[1021],{"text":905,"type":383},{"type":415,"content":1023},[1024,1028],{"type":378,"attrs":1025,"content":1026},{"textAlign":55},[1027],{"text":912,"type":383},{"type":378,"attrs":1029},{"textAlign":55},{"type":430,"attrs":1031,"content":1032},{"class":55},[1033],{"text":1034,"type":383},"{% if context == \"checkout\" %}\n\u003Cscript>\nFC.client.on(\"cart-item-remove.done\", FC.checkout.renderRequiredHiddenFields);\nFC.client.on(\"cart-item-quantity-update.done\", FC.checkout.renderRequiredHiddenFields);\n\u003C\u002Fscript>\n{% endif %}",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":1036},{},"How to prevent checkout unless conditions like a minimum order total or quantity are met.",[],"block-checkout-based-on-custom-conditions","help\u002Farticles\u002Fblock-checkout-based-on-custom-conditions",-4090,[],"73b43a3b-89b0-4c37-9c3a-79dd2381b4e4",[],{"name":1046,"created_at":1047,"published_at":1048,"updated_at":1049,"id":1050,"uuid":1051,"content":1052,"slug":1080,"full_slug":1081,"sort_by_date":55,"position":1082,"tag_list":1083,"is_startpage":24,"parent_id":762,"meta_data":55,"group_id":1084,"first_published_at":1048,"release_id":55,"lang":61,"path":55,"alternates":1085,"default_full_slug":55,"translated_slugs":55},"Change the terms of service link by location","2026-07-21T15:26:40.231Z","2026-07-22T17:45:02.858Z","2026-07-22T17:45:02.872Z",200531969000925,"e2c06cc3-43dd-467c-9ef1-19230c67e726",{"_uid":1053,"body":1054,"name":1046,"image":1076,"pinned":24,"summary":1078,"category":313,"component":259,"related_articles":1079},"4f21280b-f521-4295-8733-2adc3ac3a898",{"type":375,"content":1055},[1056,1061,1066,1071],{"type":378,"attrs":1057,"content":1058},{"textAlign":55},[1059],{"text":1060,"type":383},"The following functionality allows you to customize the terms of service link based on the states or countries selected by the user.",{"type":385,"attrs":1062,"content":1063},{"level":538,"textAlign":55},[1064],{"text":1065,"type":383},"Add Javascript",{"type":378,"attrs":1067,"content":1068},{"textAlign":55},[1069],{"text":1070,"type":383},"Paste the following into the \"footer\" textarea of the \"Add custom header and footer code to your templates\" option, found on the \"configuration\" page in your store's Foxy administration.",{"type":430,"attrs":1072,"content":1073},{"class":55},[1074],{"text":1075,"type":383},"{% if context == \"checkout\" %}\n\u003Cscript>\nfunction setTermsLink() {\n    \u002F\u002FBilling or Shipping Region or Country?\n    \u002F\u002Fvar string_to_check = FC.json.shipping_address.country;\n    \u002F\u002Fvar string_to_check = FC.json.billing_address.region;\n    var string_to_check = FC.json.shipping_address.region;\n \n    switch (string_to_check) {\n        case \"ID\":\n            url = \"http:\u002F\u002Flink-id.com\";\n            break;\n        case \"WA\":\n            url = \"http:\u002F\u002Flink-wa.com\";\n            break;\n        default:\n            url = \"http:\u002F\u002Flink-default.com\";\n    }\n    FC.json.config.template_config.tos_checkbox_settings.url = url;\n    FC.Template(\"checkout\").clearOutput();\n    FC.checkout.renderAdditionalFields();\n}\nFC.client.on(\"customer-address-change.done\", setTermsLink);\nFC.client.on(\"ready.done\", setTermsLink);\n\u003C\u002Fscript>\n",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":1077},{},"How to show a different terms of service link based on the customer's selected state or country.",[],"change-the-terms-of-service-link-by-location","help\u002Farticles\u002Fchange-the-terms-of-service-link-by-location",-4100,[],"7568e57f-11a9-48a1-871e-468121e0d61c",[],{"name":1087,"created_at":1088,"published_at":1089,"updated_at":1090,"id":1091,"uuid":1092,"content":1093,"slug":1215,"full_slug":1216,"sort_by_date":55,"position":1217,"tag_list":1218,"is_startpage":24,"parent_id":762,"meta_data":55,"group_id":1219,"first_published_at":1089,"release_id":55,"lang":61,"path":55,"alternates":1220,"default_full_slug":55,"translated_slugs":55},"Configure FoxyComplete address autocomplete settings","2026-07-02T19:53:25.229Z","2026-07-02T21:49:15.424Z","2026-07-02T21:49:15.437Z",193873531860222,"6d3ede0e-a42f-445a-8071-333bf34ce71c",{"_uid":1094,"body":1095,"name":1210,"image":1211,"pinned":24,"summary":1213,"category":313,"component":259,"related_articles":1214},"2def25fd-b969-4fe4-9d84-3e229114ac8a",{"type":375,"content":1096},[1097,1102,1107,1171,1176],{"type":378,"attrs":1098,"content":1099},{"textAlign":55},[1100],{"text":1101,"type":383},"Address autocomplete helps customers select their country and state. You can turn it on or off, and adjust its behavior, from your checkout settings.",{"type":385,"attrs":1103,"content":1104},{"level":387,"textAlign":55},[1105],{"text":1106,"type":383},"Steps",{"type":1108,"attrs":1109,"content":1111},"ordered_list",{"order":1110},1,[1112,1127,1145,1164],{"type":415,"content":1113},[1114],{"type":378,"attrs":1115,"content":1116},{"textAlign":55},[1117,1119,1126],{"text":1118,"type":383},"Go to the ",{"text":1120,"type":383,"marks":1121},"Foxy admin",[1122],{"type":1123,"attrs":1124},"link",{"href":1125,"uuid":55,"anchor":55,"target":55,"linktype":31},"https:\u002F\u002Fadmin.foxy.io",{"text":708,"type":383},{"type":415,"content":1128},[1129],{"type":378,"attrs":1130,"content":1131},{"textAlign":55},[1132,1134,1139,1141,1144],{"text":1133,"type":383},"Go to ",{"text":1135,"type":383,"marks":1136},"Settings",[1137],{"type":1138},"bold",{"text":1140,"type":383}," > ",{"text":338,"type":383,"marks":1142},[1143],{"type":1138},{"text":708,"type":383},{"type":415,"content":1146},[1147],{"type":378,"attrs":1148,"content":1149},{"textAlign":55},[1150,1152,1156,1158,1162],{"text":1151,"type":383},"Under the ",{"text":1153,"type":383,"marks":1154},"Country and region",[1155],{"type":1138},{"text":1157,"type":383}," section enable the ",{"text":1159,"type":383,"marks":1160},"Use autocomplete for country and region fields",[1161],{"type":1138},{"text":1163,"type":383}," option (enabled by default).",{"type":415,"content":1165},[1166],{"type":378,"attrs":1167,"content":1168},{"textAlign":55},[1169],{"text":1170,"type":383},"Configure other autocomplete settings as needed.",{"type":385,"attrs":1172,"content":1173},{"level":387,"textAlign":55},[1174],{"text":1175,"type":383},"Notes",{"type":412,"content":1177},[1178,1185,1198],{"type":415,"content":1179},[1180],{"type":378,"attrs":1181,"content":1182},{"textAlign":55},[1183],{"text":1184,"type":383},"Turning off this option removes the autocomplete widget entirely, leaving standard text inputs for the country and state fields.",{"type":415,"content":1186},[1187],{"type":378,"attrs":1188,"content":1189},{"textAlign":55},[1190,1192,1197],{"text":1191,"type":383},"For details on how the autocomplete matches locations, see ",{"text":1193,"type":383,"marks":1194},"How FoxyComplete matches addresses",[1195],{"type":1196},"italic",{"text":708,"type":383},{"type":415,"content":1199},[1200],{"type":378,"attrs":1201,"content":1202},{"textAlign":55},[1203,1205,1209],{"text":1204,"type":383},"For styling the widget itself, see ",{"text":1206,"type":383,"marks":1207},"Style the FoxyComplete autocomplete widget",[1208],{"type":1196},{"text":708,"type":383},"Configure address autocomplete settings",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":1212},{},"How to turn the checkout's address autocomplete functionality on or off and adjust its settings.",[],"configure-foxycomplete-address-autocomplete-settings","help\u002Farticles\u002Fconfigure-foxycomplete-address-autocomplete-settings",-2780,[],"05c7bdbc-61ad-432d-8cd1-6d674355f8d1",[],{"name":1222,"created_at":1223,"published_at":1224,"updated_at":1225,"id":1226,"uuid":1227,"content":1228,"slug":1365,"full_slug":1366,"sort_by_date":55,"position":1367,"tag_list":1368,"is_startpage":24,"parent_id":762,"meta_data":55,"group_id":1369,"first_published_at":1224,"release_id":55,"lang":61,"path":55,"alternates":1370,"default_full_slug":55,"translated_slugs":55},"Configure guest and account checkout options","2026-07-02T19:26:03.667Z","2026-07-02T21:49:16.205Z","2026-07-02T21:49:16.220Z",193866808025407,"cedf43c7-eda8-4a36-a02f-820ffcb1e8d3",{"_uid":1229,"body":1230,"name":1222,"image":1361,"pinned":24,"summary":1363,"category":313,"component":259,"related_articles":1364},"4f600e05-594e-4cf9-b205-47938b07fbbf",{"type":375,"content":1231},[1232,1237,1241,1332,1336],{"type":378,"attrs":1233,"content":1234},{"textAlign":55},[1235],{"text":1236,"type":383},"Your store’s checkout type setting controls whether customers can check out as a guest, create an account, or only use one of those options.",{"type":385,"attrs":1238,"content":1239},{"level":387,"textAlign":55},[1240],{"text":1106,"type":383},{"type":1108,"attrs":1242,"content":1243},{"order":1110},[1244,1255,1268],{"type":415,"content":1245},[1246],{"type":378,"attrs":1247,"content":1248},{"textAlign":55},[1249,1250,1254],{"text":1118,"type":383},{"text":1120,"type":383,"marks":1251},[1252],{"type":1123,"attrs":1253},{"href":1125,"uuid":55,"anchor":55,"target":55,"linktype":31},{"text":708,"type":383},{"type":415,"content":1256},[1257],{"type":378,"attrs":1258,"content":1259},{"textAlign":55},[1260,1261,1264,1265],{"text":1133,"type":383},{"text":1135,"type":383,"marks":1262},[1263],{"type":1138},{"text":1140,"type":383},{"text":338,"type":383,"marks":1266},[1267],{"type":1138},{"type":415,"content":1269},[1270,1286],{"type":378,"attrs":1271,"content":1272},{"textAlign":55},[1273,1274,1278,1280,1284],{"text":1151,"type":383},{"text":1275,"type":383,"marks":1276},"Customer accounts ",[1277],{"type":1138},{"text":1279,"type":383},"section, choose desired option for ",{"text":1281,"type":383,"marks":1282},"Allowed account types",[1283],{"type":1138},{"text":1285,"type":383},":",{"type":412,"content":1287},[1288,1299,1310,1321],{"type":415,"content":1289},[1290],{"type":378,"attrs":1291,"content":1292},{"textAlign":55},[1293,1297],{"text":1294,"type":383,"marks":1295},"Guest and account, default to account",[1296],{"type":1138},{"text":1298,"type":383}," — customers can do either, account is pre-selected.",{"type":415,"content":1300},[1301],{"type":378,"attrs":1302,"content":1303},{"textAlign":55},[1304,1308],{"text":1305,"type":383,"marks":1306},"Guest and account, default to guest",[1307],{"type":1138},{"text":1309,"type":383}," — customers can do either, guest is pre-selected.",{"type":415,"content":1311},[1312],{"type":378,"attrs":1313,"content":1314},{"textAlign":55},[1315,1319],{"text":1316,"type":383,"marks":1317},"Account only",[1318],{"type":1138},{"text":1320,"type":383}," — customers must create an account to complete a purchase.",{"type":415,"content":1322},[1323],{"type":378,"attrs":1324,"content":1325},{"textAlign":55},[1326,1330],{"text":1327,"type":383,"marks":1328},"Guest only",[1329],{"type":1138},{"text":1331,"type":383}," — customers cannot create an account or save payment\u002Faddress info for future orders.",{"type":385,"attrs":1333,"content":1334},{"level":387,"textAlign":55},[1335],{"text":1175,"type":383},{"type":412,"content":1337},[1338,1345],{"type":415,"content":1339},[1340],{"type":378,"attrs":1341,"content":1342},{"textAlign":55},[1343],{"text":1344,"type":383},"“Default to guest” and “default to account” only affect which option is pre-selected — customers can still switch to the other before submitting their order.",{"type":415,"content":1346},[1347],{"type":378,"attrs":1348,"content":1349},{"textAlign":55},[1350,1354,1355,1359],{"text":1351,"type":383,"marks":1352},"account_only",[1353],{"type":405},{"text":818,"type":383},{"text":1356,"type":383,"marks":1357},"guest_only",[1358],{"type":405},{"text":1360,"type":383}," remove the choice entirely; customers can only use the selected mode.",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":1362},{},"How to control whether customers can check out as a guest, create an account, or only use one of those options.",[],"configure-guest-and-account-checkout-options","help\u002Farticles\u002Fconfigure-guest-and-account-checkout-options",-2750,[],"ca61f77e-aca3-4df4-afb2-ded5c1a5b618",[],{"name":1372,"created_at":1373,"published_at":1374,"updated_at":1375,"id":1376,"uuid":1377,"content":1378,"slug":1434,"full_slug":1435,"sort_by_date":55,"position":1436,"tag_list":1437,"is_startpage":24,"parent_id":762,"meta_data":55,"group_id":1438,"first_published_at":1374,"release_id":55,"lang":61,"path":55,"alternates":1439,"default_full_slug":55,"translated_slugs":55},"How address autocomplete matches addresses","2026-07-02T19:58:18.575Z","2026-07-02T21:49:15.166Z","2026-07-02T21:49:15.181Z",193874733421826,"426d7c6c-c00a-4d1a-9d62-e81535d0a0b1",{"_uid":1379,"body":1380,"name":1372,"image":1430,"pinned":24,"summary":1432,"category":313,"component":259,"related_articles":1433},"069989cb-fcf8-4ea1-b42f-b4a1257ae900",{"type":375,"content":1381},[1382,1387,1392,1397,1402,1407,1412,1417,1421],{"type":378,"attrs":1383,"content":1384},{"textAlign":55},[1385],{"text":1386,"type":383},"Address autocomplete helps customers find their country and state faster by matching what they type against common alternate spellings, translations, and abbreviations, then ranking the results by relevance.",{"type":385,"attrs":1388,"content":1389},{"level":387,"textAlign":55},[1390],{"text":1391,"type":383},"How it matches locations",{"type":378,"attrs":1393,"content":1394},{"textAlign":55},[1395],{"text":1396,"type":383},"A customer can type a country’s common name, an abbreviation, or a name in another language, and still find the right result. For example, typing “UK,” “GB,” “Great Britain,” “England,” or “Britain” all match “United Kingdom.” This also works across languages — “Spain” matches “España,” “Russia” matches “Россия,” and “Japan” matches “日本.”",{"type":385,"attrs":1398,"content":1399},{"level":387,"textAlign":55},[1400],{"text":1401,"type":383},"How results are ranked",{"type":378,"attrs":1403,"content":1404},{"textAlign":55},[1405],{"text":1406,"type":383},"Matches are ranked using where the typed text appears in the location name (at the start of the name, the start of a word, or elsewhere), and whether it matches the main spelling or an alternate one. Locations are also weighted by overall sales volume across Foxy stores, so common selections like “United States” and “United Kingdom” appear above equally-relevant alphabetical matches.",{"type":385,"attrs":1408,"content":1409},{"level":387,"textAlign":55},[1410],{"text":1411,"type":383},"State and province behavior",{"type":378,"attrs":1413,"content":1414},{"textAlign":55},[1415],{"text":1416,"type":383},"If a country has known states or provinces in the system — the United States, Australia, and Germany, for example — the state field also gets autocomplete and becomes required. If a country doesn’t have known states, such as France, New Zealand, the Netherlands, or Ireland, the state field is a plain text input that isn’t required. The field’s label also adapts to match how that region refers to states, using labels like “State,” “Canton,” “County,” or “Province.”",{"type":385,"attrs":1418,"content":1419},{"level":387,"textAlign":55},[1420],{"text":1175,"type":383},{"type":412,"content":1422},[1423],{"type":415,"content":1424},[1425],{"type":378,"attrs":1426,"content":1427},{"textAlign":55},[1428],{"text":1429,"type":383},"State labels are customizable from the checkout section of your store’s language settings in the Foxy admin.",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":1431},{},"How the checkout's address autocomplete matches alternate spellings, ranks results, and adapts state fields by country.",[],"how-address-autocomplete-matches-addresses","help\u002Farticles\u002Fhow-address-autocomplete-matches-addresses",-2790,[],"0aedda10-e461-4e3f-b47e-c0a6102e6092",[],{"name":1441,"created_at":1442,"published_at":1443,"updated_at":1444,"id":1445,"uuid":1446,"content":1447,"slug":1484,"full_slug":1485,"sort_by_date":55,"position":1486,"tag_list":1487,"is_startpage":24,"parent_id":762,"meta_data":55,"group_id":1488,"first_published_at":1443,"release_id":55,"lang":61,"path":55,"alternates":1489,"default_full_slug":55,"translated_slugs":55},"Require a phone number based on shipping country","2026-07-21T15:27:53.439Z","2026-07-22T17:45:02.602Z","2026-07-22T17:45:02.619Z",200532268881375,"a72f10b8-5c54-4fbb-8e75-493c4e220931",{"_uid":1448,"body":1449,"name":1441,"image":1480,"pinned":24,"summary":1482,"category":313,"component":259,"related_articles":1483},"ea998913-ac71-405c-8c81-c13fed6ff897",{"type":375,"content":1450},[1451,1456,1461,1466,1470,1475],{"type":378,"attrs":1452,"content":1453},{"textAlign":55},[1454],{"text":1455,"type":383},"The following functionality allows you to dynamically require the shipping phone number depending on the shipping country of the customer.",{"type":385,"attrs":1457,"content":1458},{"level":538,"textAlign":55},[1459],{"text":1460,"type":383},"Set phone to optional",{"type":378,"attrs":1462,"content":1463},{"textAlign":55},[1464],{"text":1465,"type":383},"To dynamically require the phone, it will need to be set as optional by default. You can do that from the Settings > Checkout page in the admin, or the \"configuration\" page in the legacy admin within the \"Customize which checkout fields are shown and required\" option.",{"type":385,"attrs":1467,"content":1468},{"level":538,"textAlign":55},[1469],{"text":1065,"type":383},{"type":378,"attrs":1471,"content":1472},{"textAlign":55},[1473],{"text":1474,"type":383},"Copy and paste the following code into your store's \"custom footer\" option. This can be found on the Settings > Templates page in the admin, or on the \"configuration\" page of the legacy admin within the \"Add custom header and footer code to your templates\" option.",{"type":430,"attrs":1476,"content":1477},{"class":55},[1478],{"text":1479,"type":383},"{% if context == \"checkout\" %}\n\u003Cscript type=\"text\u002Fjavascript\">\nfunction requirePhone(params) {\n    var country = params.address.country;\n    var phone_required = FC.json.required_fields.indexOf(\"billing_phone\");\n    if (country != \"US\" && phone_required == -1) {\n        FC.json.required_fields.push('billing_phone');\n        FC.json.config.template_config.custom_checkout_field_requirements['billing_phone'] = \"required\";\n        FC.Template(\"checkout\").clearOutput();\n        FC.checkout.renderCustomerShipping();\n    } else if (country == \"US\" && phone_required > -1) {\n        FC.json.required_fields.splice(phone_required, 1);\n        FC.json.config.template_config.custom_checkout_field_requirements['billing_phone'] = \"optional\";\n        FC.util.removeError(params.address.prefix + \"_phone\");\n        FC.util.notifyErrors();\n        FC.Template(\"checkout\").clearOutput();\n        FC.checkout.renderCustomerShipping();\n    }\n}\n \nFC.client.on(\"customer-address-change\", requirePhone);\nFC.client.on(\"ready.done\", function() {\n    var addresses = [];\n    if (FC.json.shipping_address.has_shippable_products) {\n        addresses = FC.json.has_multiship ? FC.json.multiship_data : [FC.json.shipping_address];\n    }\n    if (FC.json.use_alternate_shipping_address || !FC.json.shipping_address.has_shippable_products) {\n        addresses.push(FC.json.billing_address);\n    }\n    for (var i = 0; i \u003C addresses.length; i++) {\n        requirePhone({\"address\": addresses[i]});\n    }\n});\n\u003C\u002Fscript>\n{% endif %}",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":1481},{},"How to require the shipping phone number depending on the customer's shipping country.",[],"require-a-phone-number-based-on-shipping-country","help\u002Farticles\u002Frequire-a-phone-number-based-on-shipping-country",-4110,[],"fe00fb27-74f5-4e9a-b500-1a71564d5ee8",[],{"name":1491,"created_at":1492,"published_at":1493,"updated_at":1494,"id":1495,"uuid":1496,"content":1497,"slug":1582,"full_slug":1583,"sort_by_date":55,"position":1584,"tag_list":1585,"is_startpage":24,"parent_id":762,"meta_data":55,"group_id":1586,"first_published_at":1493,"release_id":55,"lang":61,"path":55,"alternates":1587,"default_full_slug":55,"translated_slugs":55},"Restrict credit card types on your checkout","2026-07-02T19:29:34.369Z","2026-07-02T21:49:15.962Z","2026-07-02T21:49:15.975Z",193867671068064,"c2070b35-d650-40bb-b9e4-eb50153ef6c1",{"_uid":1498,"body":1499,"name":1491,"image":1578,"pinned":24,"summary":1580,"category":313,"component":259,"related_articles":1581},"b0958c70-59b2-4bb7-9996-9939d5153a4a",{"type":375,"content":1500},[1501,1506,1510,1551,1555],{"type":378,"attrs":1502,"content":1503},{"textAlign":55},[1504],{"text":1505,"type":383},"Restricting credit card types prevents customers from entering certain card numbers on your checkout — commonly used to block American Express when a payment gateway doesn’t support it.",{"type":385,"attrs":1507,"content":1508},{"level":387,"textAlign":55},[1509],{"text":1106,"type":383},{"type":1108,"attrs":1511,"content":1512},{"order":1110},[1513,1524,1539],{"type":415,"content":1514},[1515],{"type":378,"attrs":1516,"content":1517},{"textAlign":55},[1518,1519,1523],{"text":1118,"type":383},{"text":1120,"type":383,"marks":1520},[1521],{"type":1123,"attrs":1522},{"href":1125,"uuid":55,"anchor":55,"target":55,"linktype":31},{"text":708,"type":383},{"type":415,"content":1525},[1526],{"type":378,"attrs":1527,"content":1528},{"textAlign":55},[1529,1530,1533,1534,1538],{"text":1133,"type":383},{"text":1135,"type":383,"marks":1531},[1532],{"type":1138},{"text":1140,"type":383},{"text":1535,"type":383,"marks":1536},"Payments",[1537],{"type":1138},{"text":708,"type":383},{"type":415,"content":1540},[1541],{"type":378,"attrs":1542,"content":1543},{"textAlign":55},[1544,1545,1549],{"text":511,"type":383},{"text":1546,"type":383,"marks":1547},"Supported cards",[1548],{"type":1138},{"text":1550,"type":383}," section, enable\u002Fdisable cards as needed.",{"type":385,"attrs":1552,"content":1553},{"level":387,"textAlign":55},[1554],{"text":1175,"type":383},{"type":412,"content":1556},[1557,1564,1571],{"type":415,"content":1558},[1559],{"type":378,"attrs":1560,"content":1561},{"textAlign":55},[1562],{"text":1563,"type":383},"This setting only affects the checkout’s own validation — it doesn’t change what your payment gateway accepts or rejects.",{"type":415,"content":1565},[1566],{"type":378,"attrs":1567,"content":1568},{"textAlign":55},[1569],{"text":1570,"type":383},"If a restricted card type is entered, the customer sees a JavaScript validation error, not a gateway decline.",{"type":415,"content":1572},[1573],{"type":378,"attrs":1574,"content":1575},{"textAlign":55},[1576],{"text":1577,"type":383},"If your gateway already rejects a card type on its own, this setting isn’t required, but it can stop customers from hitting a gateway-level decline in the first place.",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":1579},{},"How to block specific credit card types, such as American Express, from being entered on your checkout.",[],"restrict-credit-card-types-on-your-checkout","help\u002Farticles\u002Frestrict-credit-card-types-on-your-checkout",-2760,[],"62033bfb-0600-4e1f-afa6-66fd2dbb5600",[],{"name":1589,"created_at":1590,"published_at":1591,"updated_at":1592,"id":1593,"uuid":1594,"content":1595,"slug":2367,"full_slug":2368,"sort_by_date":55,"position":2369,"tag_list":2370,"is_startpage":24,"parent_id":762,"meta_data":55,"group_id":2371,"first_published_at":1591,"release_id":55,"lang":61,"path":55,"alternates":2372,"default_full_slug":55,"translated_slugs":55},"Dynamically restrict the countries and states available at checkout","2026-07-21T15:30:33.682Z","2026-07-22T17:45:02.077Z","2026-07-22T17:45:02.098Z",200532925224416,"86c040d2-207c-4a5d-852e-2008a6e5b949",{"_uid":1596,"body":1597,"name":2362,"image":2363,"pinned":24,"summary":2365,"category":313,"component":259,"related_articles":2366},"2707a2a9-18ad-4503-994a-260d2b70295d",{"type":375,"content":1598},[1599,1604,1616,1621,1626,1631,1636,1641,1646,1651,1656,1672,1678,1683,1690,1758,1765,1789,1791,1796,1801,1807,1859,1865,1889,1890,1895,1900,1906,1976,1982,2006,2007,2012,2017,2023,2088,2094,2118,2119,2124,2129,2135,2174,2180,2204,2209,2214,2223,2228,2233,2238,2247,2251,2256,2261,2270,2274,2279,2284,2293,2297,2302,2307,2323,2328],{"type":378,"attrs":1600,"content":1601},{"textAlign":55},[1602],{"text":1603,"type":383},"The following functionality adds some helper functions to your templates to allow you to dynamically restrict the countries and states that can be used by your customers to check out.",{"type":1605,"content":1606},"blockquote",[1607],{"type":378,"attrs":1608,"content":1609},{"textAlign":55},[1610,1614],{"text":1611,"type":383,"marks":1612},"Important:",[1613],{"type":1138},{"text":1615,"type":383}," The functionality described on this page require advanced javascript knowledge, and are not officially supported. They are included in our official wiki because certain shipping methods and functionality are not natively supported, and though we are working on radically improving our shipping functionality, in the meantime these methods may be great workarounds.",{"type":378,"attrs":1617,"content":1618},{"textAlign":55},[1619],{"text":1620,"type":383},"See the changelog for details on updates to this script.",{"type":385,"attrs":1622,"content":1623},{"level":387,"textAlign":55},[1624],{"text":1625,"type":383},"Important note",{"type":378,"attrs":1627,"content":1628},{"textAlign":55},[1629],{"text":1630,"type":383},"Starting in 2.0, there is now a template configuration option to limit countries and states from right within your store's Foxy administration. This new option allows you to alter what locations are available for both the billing and shipping (either matching or independent of each other), without the need for the following snippet. You can access this feature from the \"configuration\" section under \"templates\", look for \"Customize allowlist\u002Fblocklist filtering of countries and regions\".",{"type":378,"attrs":1632,"content":1633},{"textAlign":55},[1634],{"text":1635,"type":383},"If you need to dynamically restrict the locations - for example, prevent orders from outside your country if perishable products are purchased, you can utilise the following script to do that. Otherwise, if your restrictions are static and don't depend on certain conditions being met, use the option in your store's admin.",{"type":385,"attrs":1637,"content":1638},{"level":387,"textAlign":55},[1639],{"text":1640,"type":383},"Step 1: Add Javascript",{"type":378,"attrs":1642,"content":1643},{"textAlign":55},[1644],{"text":1645,"type":383},"Add the following in the \"footer\" section of the \"Add custom header and footer code to your templates\" option, found on the \"configuration\" page of your store's Foxy administration.",{"type":430,"attrs":1647,"content":1648},{"class":55},[1649],{"text":1650,"type":383},"{% if context == 'cart' or context == 'checkout' %}\n\u003Cscript type=\"text\u002Fjavascript\" charset=\"utf-8\">\n(function($, FC) {\n    FC.locations.logic = function() {\n    \u002F* BEGIN CUSTOM LOCATION LOGIC *\u002F\n\n    \u002F* END CUSTOM LOCATION LOGIC *\u002F\n    };\n\n    \u002F* Country\u002FState Helper Functions v2.2 *\u002F\n    FC.locations.removeCountries=function(a,b){if(\"undefined\"==typeof a)return!1;\"string\"==typeof a&&(a=[a]);b=FC.locations.validateLocationArrayNames(b);for(l in b){0===FC.json.config[\"locations_\"+b[l]].length&&(FC.json.config[\"locations_\"+b[l]]={});for(var c in a)FC.json.config[\"locations_\"+b[l]][a[c]]=\"*\"}return!0};\n    FC.locations.limitCountriesTo=function(a,b){if(\"undefined\"==typeof a)return!1;\"string\"==typeof a&&(a=[a]);b=FC.locations.validateLocationArrayNames(b);for(l in b){var c=FC.json.config.locations;FC.json.config[\"locations_\"+b[l]]={};for(var d in c)-1==a.indexOf(d)&&(FC.json.config[\"locations_\"+b[l]][d]=\"*\")}return!0};\n    FC.locations.removeStates=function(a,b,c){if(\"undefined\"==typeof a||\"undefined\"==typeof b)return!1;\"string\"==typeof b&&(b=[b]);c=FC.locations.validateLocationArrayNames(c);for(l in c){if(\"undefined\"==typeof FC.json.config.locations[a])return!1;FC.json.config[\"locations_\"+c[l]].hasOwnProperty(a)||(FC.json.config[\"locations_\"+c[l]][a]=[]);for(var d in b)FC.json.config[\"locations_\"+c[l]][a].push(b[d])}return!0};\n    FC.locations.limitStatesTo=function(a,b,c){if(\"undefined\"==typeof a||\"undefined\"==typeof b)return!1;\"string\"==typeof b&&(b=[b]);c=FC.locations.validateLocationArrayNames(c);for(l in c){var d=FC.json.config.locations;if(\"undefined\"==typeof d[a])return!1;FC.json.config[\"locations_\"+c[l]][a]=[];for(var e in d[a].r.options)-1==jQuery.inArray(e,b)&&FC.json.config[\"locations_\"+c[l]][a].push(e)}return!0};\n    FC.locations.validateLocationArrayNames=function(a){if(\"undefined\"==typeof a||\"\"==a||\"both\"==a)a=[\"billing\",\"shipping\"];\"string\"==typeof a&&(a=[a]);for(var b=0;b\u003Ca.length;b++)\"customer\"==a[b]&&(a[b]=\"billing\");return a};FC.locations.reset=function(a){a=FC.locations.validateLocationArrayNames(a);for(l in a)FC.json.config[\"locations_\"+a[l]]=FC.locations.hasOwnProperty(\"locations_\"+a[l]+\"_default\")?FC.locations[\"locations_\"+a[l]+\"_default\"]:{};customLocationsExecute()};\n    function customLocationsHandler(){FC.locations.hasOwnProperty(\"locations_billing_default\")?FC.locations.reset():(FC.locations.locations_billing_default=FC.json.config.locations_billing,FC.locations.locations_shipping_default=FC.json.config.locations_shipping,customLocationsExecute())}\n    function customLocationsExecute(){FC.locations.logic();FC.Template(FC.json.context).clearOutput();\"cart\"==FC.json.context?FC.cart.renderAddressEntry():(FC.checkout.renderCustomerBilling(),FC.checkout.renderCustomerShipping())};\n    {% if cart_is_fullpage or context == 'checkout' %}FC.client.on('ready', customLocationsHandler);{% else %}customLocationsHandler();{% endif %}\n})(jQuery, FC);\n\u003C\u002Fscript>\n{% endif %}",{"type":385,"attrs":1652,"content":1653},{"level":387,"textAlign":55},[1654],{"text":1655,"type":383},"Step 2: Add Custom Location Rules",{"type":378,"attrs":1657,"content":1658},{"textAlign":55},[1659,1661,1665,1666,1670],{"text":1660,"type":383},"Now the fun part, based on whatever criteria you want, add in the different country\u002Fstate restrictions you require for your checkout. Add your custom code between the ",{"text":1662,"type":383,"marks":1663},"\u002F* BEGIN CUSTOM LOCATION LOGIC *\u002F",[1664],{"type":405},{"text":818,"type":383},{"text":1667,"type":383,"marks":1668},"\u002F* END CUSTOM LOCATION LOGIC *\u002F",[1669],{"type":405},{"text":1671,"type":383}," lines at the top of the script block. There are five functions available to you.",{"type":385,"attrs":1673,"content":1675},{"level":1674,"textAlign":55},4,[1676],{"text":1677,"type":383},"FC.locations.removeCountries()",{"type":378,"attrs":1679,"content":1680},{"textAlign":55},[1681],{"text":1682,"type":383},"Removes the specified countries from the specified locations arrays",{"type":378,"attrs":1684,"content":1685},{"textAlign":55},[1686],{"text":1687,"type":383,"marks":1688},"Parameters:",[1689],{"type":1138},{"type":412,"content":1691},[1692,1709],{"type":415,"content":1693},[1694],{"type":378,"attrs":1695,"content":1696},{"textAlign":55},[1697,1701,1703,1707],{"text":1698,"type":383,"marks":1699},"countries",[1700],{"type":405},{"text":1702,"type":383}," ",{"text":1704,"type":383,"marks":1705},"\u003Cwrap lo>(String or Array)\u003C\u002Fwrap>",[1706],{"type":1196},{"text":1708,"type":383}," - Either a string or an array of strings of the 2 character ISO country codes",{"type":415,"content":1710},[1711],{"type":378,"attrs":1712,"content":1713},{"textAlign":55},[1714,1718,1719,1722,1724,1728,1730,1734,1736,1740,1741,1745,1747,1751,1753,1756],{"text":1715,"type":383,"marks":1716},"locationArrayNames",[1717],{"type":405},{"text":1702,"type":383},{"text":1704,"type":383,"marks":1720},[1721],{"type":1196},{"text":1723,"type":383}," - ",{"text":1725,"type":383,"marks":1726},"Optional",[1727],{"type":1196},{"text":1729,"type":383}," - Either a string of either ",{"text":1731,"type":383,"marks":1732},"'billing'",[1733],{"type":405},{"text":1735,"type":383},", ",{"text":1737,"type":383,"marks":1738},"'shipping'",[1739],{"type":405},{"text":465,"type":383},{"text":1742,"type":383,"marks":1743},"'both'",[1744],{"type":405},{"text":1746,"type":383},", or an array of both like ",{"text":1748,"type":383,"marks":1749},"['billing', 'shipping']",[1750],{"type":405},{"text":1752,"type":383},". If not specified, ",{"text":1742,"type":383,"marks":1754},[1755],{"type":405},{"text":1757,"type":383}," is the automatic default.",{"type":378,"attrs":1759,"content":1760},{"textAlign":55},[1761],{"text":1762,"type":383,"marks":1763},"Example:",[1764],{"type":1138},{"type":412,"content":1766},[1767,1778],{"type":415,"content":1768},[1769],{"type":378,"attrs":1770,"content":1771},{"textAlign":55},[1772,1776],{"text":1773,"type":383,"marks":1774},"FC.locations.removeCountries('US');",[1775],{"type":405},{"text":1777,"type":383}," - Removes the United States from both the billing and the shipping country location fields",{"type":415,"content":1779},[1780],{"type":378,"attrs":1781,"content":1782},{"textAlign":55},[1783,1787],{"text":1784,"type":383,"marks":1785},"FC.locations.removeCountries(['CA', 'GB'], 'shipping');",[1786],{"type":405},{"text":1788,"type":383}," - Removes Canada and the United Kingdom from the shipping location fields",{"type":1790},"horizontal_rule",{"type":385,"attrs":1792,"content":1793},{"level":1674,"textAlign":55},[1794],{"text":1795,"type":383},"FC.locations.limitCountriesTo()",{"type":378,"attrs":1797,"content":1798},{"textAlign":55},[1799],{"text":1800,"type":383},"Restricts the specified locations arrays to just the countries specified",{"type":378,"attrs":1802,"content":1803},{"textAlign":55},[1804],{"text":1687,"type":383,"marks":1805},[1806],{"type":1138},{"type":412,"content":1808},[1809,1822],{"type":415,"content":1810},[1811],{"type":378,"attrs":1812,"content":1813},{"textAlign":55},[1814,1817,1818,1821],{"text":1698,"type":383,"marks":1815},[1816],{"type":405},{"text":1702,"type":383},{"text":1704,"type":383,"marks":1819},[1820],{"type":1196},{"text":1708,"type":383},{"type":415,"content":1823},[1824],{"type":378,"attrs":1825,"content":1826},{"textAlign":55},[1827,1830,1831,1834,1835,1838,1839,1842,1843,1846,1847,1850,1851,1854,1855,1858],{"text":1715,"type":383,"marks":1828},[1829],{"type":405},{"text":1702,"type":383},{"text":1704,"type":383,"marks":1832},[1833],{"type":1196},{"text":1723,"type":383},{"text":1725,"type":383,"marks":1836},[1837],{"type":1196},{"text":1729,"type":383},{"text":1731,"type":383,"marks":1840},[1841],{"type":405},{"text":1735,"type":383},{"text":1737,"type":383,"marks":1844},[1845],{"type":405},{"text":465,"type":383},{"text":1742,"type":383,"marks":1848},[1849],{"type":405},{"text":1746,"type":383},{"text":1748,"type":383,"marks":1852},[1853],{"type":405},{"text":1752,"type":383},{"text":1742,"type":383,"marks":1856},[1857],{"type":405},{"text":1757,"type":383},{"type":378,"attrs":1860,"content":1861},{"textAlign":55},[1862],{"text":1762,"type":383,"marks":1863},[1864],{"type":1138},{"type":412,"content":1866},[1867,1878],{"type":415,"content":1868},[1869],{"type":378,"attrs":1870,"content":1871},{"textAlign":55},[1872,1876],{"text":1873,"type":383,"marks":1874},"FC.locations.limitCountriesTo('AU');",[1875],{"type":405},{"text":1877,"type":383}," - Allows only Australia to be selected in the billing and shipping country location fields",{"type":415,"content":1879},[1880],{"type":378,"attrs":1881,"content":1882},{"textAlign":55},[1883,1887],{"text":1884,"type":383,"marks":1885},"FC.locations.limitCountriesTo(['US', 'CA'], 'shipping');",[1886],{"type":405},{"text":1888,"type":383}," - Allows only the United States and Canada to be selected for the shipping country",{"type":1790},{"type":385,"attrs":1891,"content":1892},{"level":1674,"textAlign":55},[1893],{"text":1894,"type":383},"FC.locations.removeStates()",{"type":378,"attrs":1896,"content":1897},{"textAlign":55},[1898],{"text":1899,"type":383},"Removes the specified states from the specified locations arrays for the specified country",{"type":378,"attrs":1901,"content":1902},{"textAlign":55},[1903],{"text":1687,"type":383,"marks":1904},[1905],{"type":1138},{"type":412,"content":1907},[1908,1924,1939],{"type":415,"content":1909},[1910],{"type":378,"attrs":1911,"content":1912},{"textAlign":55},[1913,1917,1918,1922],{"text":1914,"type":383,"marks":1915},"country",[1916],{"type":405},{"text":1702,"type":383},{"text":1919,"type":383,"marks":1920},"\u003Cwrap lo>(String)\u003C\u002Fwrap>",[1921],{"type":1196},{"text":1923,"type":383}," - A string of the 2 character ISO country codes",{"type":415,"content":1925},[1926],{"type":378,"attrs":1927,"content":1928},{"textAlign":55},[1929,1933,1934,1937],{"text":1930,"type":383,"marks":1931},"states",[1932],{"type":405},{"text":1702,"type":383},{"text":1704,"type":383,"marks":1935},[1936],{"type":1196},{"text":1938,"type":383}," - Either a string or an array of strings of the ISO state codes",{"type":415,"content":1940},[1941],{"type":378,"attrs":1942,"content":1943},{"textAlign":55},[1944,1947,1948,1951,1952,1955,1956,1959,1960,1963,1964,1967,1968,1971,1972,1975],{"text":1715,"type":383,"marks":1945},[1946],{"type":405},{"text":1702,"type":383},{"text":1704,"type":383,"marks":1949},[1950],{"type":1196},{"text":1723,"type":383},{"text":1725,"type":383,"marks":1953},[1954],{"type":1196},{"text":1729,"type":383},{"text":1731,"type":383,"marks":1957},[1958],{"type":405},{"text":1735,"type":383},{"text":1737,"type":383,"marks":1961},[1962],{"type":405},{"text":465,"type":383},{"text":1742,"type":383,"marks":1965},[1966],{"type":405},{"text":1746,"type":383},{"text":1748,"type":383,"marks":1969},[1970],{"type":405},{"text":1752,"type":383},{"text":1742,"type":383,"marks":1973},[1974],{"type":405},{"text":1757,"type":383},{"type":378,"attrs":1977,"content":1978},{"textAlign":55},[1979],{"text":1762,"type":383,"marks":1980},[1981],{"type":1138},{"type":412,"content":1983},[1984,1995],{"type":415,"content":1985},[1986],{"type":378,"attrs":1987,"content":1988},{"textAlign":55},[1989,1993],{"text":1990,"type":383,"marks":1991},"FC.locations.removeStates('US', 'AK');",[1992],{"type":405},{"text":1994,"type":383}," - Prevents Alaska from being selected as a state when the United States is selected",{"type":415,"content":1996},[1997],{"type":378,"attrs":1998,"content":1999},{"textAlign":55},[2000,2004],{"text":2001,"type":383,"marks":2002},"FC.locations.removeStates('US', ['AK', 'HI'], 'shipping');",[2003],{"type":405},{"text":2005,"type":383}," - Prevents Alaska and Hawaii from being selected as a state for shipping when the United States is selected as the shipping country",{"type":1790},{"type":385,"attrs":2008,"content":2009},{"level":1674,"textAlign":55},[2010],{"text":2011,"type":383},"FC.locations.limitStatesTo()",{"type":378,"attrs":2013,"content":2014},{"textAlign":55},[2015],{"text":2016,"type":383},"Restricts the states for the specified country to only those specified",{"type":378,"attrs":2018,"content":2019},{"textAlign":55},[2020],{"text":1687,"type":383,"marks":2021},[2022],{"type":1138},{"type":412,"content":2024},[2025,2038,2051],{"type":415,"content":2026},[2027],{"type":378,"attrs":2028,"content":2029},{"textAlign":55},[2030,2033,2034,2037],{"text":1914,"type":383,"marks":2031},[2032],{"type":405},{"text":1702,"type":383},{"text":1919,"type":383,"marks":2035},[2036],{"type":1196},{"text":1923,"type":383},{"type":415,"content":2039},[2040],{"type":378,"attrs":2041,"content":2042},{"textAlign":55},[2043,2046,2047,2050],{"text":1930,"type":383,"marks":2044},[2045],{"type":405},{"text":1702,"type":383},{"text":1704,"type":383,"marks":2048},[2049],{"type":1196},{"text":1938,"type":383},{"type":415,"content":2052},[2053],{"type":378,"attrs":2054,"content":2055},{"textAlign":55},[2056,2059,2060,2063,2064,2067,2068,2071,2072,2075,2076,2079,2080,2083,2084,2087],{"text":1715,"type":383,"marks":2057},[2058],{"type":405},{"text":1702,"type":383},{"text":1704,"type":383,"marks":2061},[2062],{"type":1196},{"text":1723,"type":383},{"text":1725,"type":383,"marks":2065},[2066],{"type":1196},{"text":1729,"type":383},{"text":1731,"type":383,"marks":2069},[2070],{"type":405},{"text":1735,"type":383},{"text":1737,"type":383,"marks":2073},[2074],{"type":405},{"text":465,"type":383},{"text":1742,"type":383,"marks":2077},[2078],{"type":405},{"text":1746,"type":383},{"text":1748,"type":383,"marks":2081},[2082],{"type":405},{"text":1752,"type":383},{"text":1742,"type":383,"marks":2085},[2086],{"type":405},{"text":1757,"type":383},{"type":378,"attrs":2089,"content":2090},{"textAlign":55},[2091],{"text":1762,"type":383,"marks":2092},[2093],{"type":1138},{"type":412,"content":2095},[2096,2107],{"type":415,"content":2097},[2098],{"type":378,"attrs":2099,"content":2100},{"textAlign":55},[2101,2105],{"text":2102,"type":383,"marks":2103},"FC.locations.limitStatesTo('US', 'CA');",[2104],{"type":405},{"text":2106,"type":383}," - Allows only California to be selected as a state when the United States is selected",{"type":415,"content":2108},[2109],{"type":378,"attrs":2110,"content":2111},{"textAlign":55},[2112,2116],{"text":2113,"type":383,"marks":2114},"FC.locations.limitStatesTo('AU', ['SA', 'VIC', 'QLD'], 'shipping');",[2115],{"type":405},{"text":2117,"type":383}," - Allows only South Australia, Victoria and Queensland from being selected for shipping when Australia is selected as the shipping country.",{"type":1790},{"type":385,"attrs":2120,"content":2121},{"level":1674,"textAlign":55},[2122],{"text":2123,"type":383},"FC.locations.reset()",{"type":378,"attrs":2125,"content":2126},{"textAlign":55},[2127],{"text":2128,"type":383},"Resets the location restrictions back to the store default, as set in the \"configuration\" in the Foxy administration. Best used through the javascript events on the cart\u002Fcheckout to trigger the reset based on events, such as removing an item from the cart.",{"type":378,"attrs":2130,"content":2131},{"textAlign":55},[2132],{"text":1687,"type":383,"marks":2133},[2134],{"type":1138},{"type":412,"content":2136},[2137],{"type":415,"content":2138},[2139],{"type":378,"attrs":2140,"content":2141},{"textAlign":55},[2142,2145,2146,2149,2150,2153,2154,2157,2158,2161,2162,2165,2166,2169,2170,2173],{"text":1715,"type":383,"marks":2143},[2144],{"type":405},{"text":1702,"type":383},{"text":1704,"type":383,"marks":2147},[2148],{"type":1196},{"text":1723,"type":383},{"text":1725,"type":383,"marks":2151},[2152],{"type":1196},{"text":1729,"type":383},{"text":1731,"type":383,"marks":2155},[2156],{"type":405},{"text":1735,"type":383},{"text":1737,"type":383,"marks":2159},[2160],{"type":405},{"text":465,"type":383},{"text":1742,"type":383,"marks":2163},[2164],{"type":405},{"text":1746,"type":383},{"text":1748,"type":383,"marks":2167},[2168],{"type":405},{"text":1752,"type":383},{"text":1742,"type":383,"marks":2171},[2172],{"type":405},{"text":1757,"type":383},{"type":378,"attrs":2175,"content":2176},{"textAlign":55},[2177],{"text":1762,"type":383,"marks":2178},[2179],{"type":1138},{"type":412,"content":2181},[2182,2193],{"type":415,"content":2183},[2184],{"type":378,"attrs":2185,"content":2186},{"textAlign":55},[2187,2191],{"text":2188,"type":383,"marks":2189},"FC.locations.reset;",[2190],{"type":405},{"text":2192,"type":383}," - Reset the location restrictions back to default",{"type":415,"content":2194},[2195],{"type":378,"attrs":2196,"content":2197},{"textAlign":55},[2198,2202],{"text":2199,"type":383,"marks":2200},"FC.client.on('cart-item-remove.done', function() { FC.locations.reset(); });",[2201],{"type":405},{"text":2203,"type":383}," - Reset location restrictions whenever an item is removed from the cart",{"type":385,"attrs":2205,"content":2206},{"level":538,"textAlign":55},[2207],{"text":2208,"type":383},"Examples",{"type":385,"attrs":2210,"content":2211},{"level":1674,"textAlign":55},[2212],{"text":2213,"type":383},"Example 1",{"type":412,"content":2215},[2216],{"type":415,"content":2217},[2218],{"type":378,"attrs":2219,"content":2220},{"textAlign":55},[2221],{"text":2222,"type":383},"Restricting the checkout to only allow shipping to the United States, but allow billing to be from any country",{"type":378,"attrs":2224,"content":2225},{"textAlign":55},[2226],{"text":2227,"type":383},"javascript",{"type":430,"attrs":2229,"content":2230},{"class":55},[2231],{"text":2232,"type":383},"FC.locations.limitCountriesTo('US', 'shipping');",{"type":385,"attrs":2234,"content":2235},{"level":1674,"textAlign":55},[2236],{"text":2237,"type":383},"Example 2",{"type":412,"content":2239},[2240],{"type":415,"content":2241},[2242],{"type":378,"attrs":2243,"content":2244},{"textAlign":55},[2245],{"text":2246,"type":383},"Only allow customers from the US and Canada, and not from Alaska or Hawaii.",{"type":378,"attrs":2248,"content":2249},{"textAlign":55},[2250],{"text":2227,"type":383},{"type":430,"attrs":2252,"content":2253},{"class":55},[2254],{"text":2255,"type":383},"FC.locations.limitCountriesTo(['US', 'CA']);\nFC.locations.removeStates('US', ['AK', 'HI']);",{"type":385,"attrs":2257,"content":2258},{"level":1674,"textAlign":55},[2259],{"text":2260,"type":383},"Example 3",{"type":412,"content":2262},[2263],{"type":415,"content":2264},[2265],{"type":378,"attrs":2266,"content":2267},{"textAlign":55},[2268],{"text":2269,"type":383},"Remove all non-standard US States",{"type":378,"attrs":2271,"content":2272},{"textAlign":55},[2273],{"text":2227,"type":383},{"type":430,"attrs":2275,"content":2276},{"class":55},[2277],{"text":2278,"type":383},"FC.locations.removeStates('US', ['AF','AA','AC','AE','AM','AP','AS','PR','VI','GU','FM','MH','MP'], 'both');",{"type":385,"attrs":2280,"content":2281},{"level":1674,"textAlign":55},[2282],{"text":2283,"type":383},"Example 4",{"type":412,"content":2285},[2286],{"type":415,"content":2287},[2288],{"type":378,"attrs":2289,"content":2290},{"textAlign":55},[2291],{"text":2292,"type":383},"Remove countries that are currently under sanction restrictions from the US Office of Foreign Assets Control (Note that this list may not be up to date)",{"type":378,"attrs":2294,"content":2295},{"textAlign":55},[2296],{"text":2227,"type":383},{"type":430,"attrs":2298,"content":2299},{"class":55},[2300],{"text":2301,"type":383},"FC.locations.removeCountries(['CU','IR','SD','KP']);",{"type":385,"attrs":2303,"content":2304},{"level":387,"textAlign":55},[2305],{"text":2306,"type":383},"What about making it read-only?",{"type":378,"attrs":2308,"content":2309},{"textAlign":55},[2310,2312,2316,2317,2321],{"text":2311,"type":383},"As part of the new autocomplete functionality from version 1.0, any location object that only has one option will automatically become read-only with that location selected by default. If you want to set a field read only, utilise the ",{"text":2313,"type":383,"marks":2314},"limitCountriesTo()",[2315],{"type":405},{"text":465,"type":383},{"text":2318,"type":383,"marks":2319},"limitStatesTo()",[2320],{"type":405},{"text":2322,"type":383}," functions with only a single location specified.",{"type":385,"attrs":2324,"content":2325},{"level":387,"textAlign":55},[2326],{"text":2327,"type":383},"Changelog",{"type":412,"content":2329},[2330,2337,2350],{"type":415,"content":2331},[2332],{"type":378,"attrs":2333,"content":2334},{"textAlign":55},[2335],{"text":2336,"type":383},"2014\u002F08\u002F21 - v2.0 - Initial version",{"type":415,"content":2338},[2339],{"type":378,"attrs":2340,"content":2341},{"textAlign":55},[2342,2344,2348],{"text":2343,"type":383},"2019\u002F11\u002F09 - v2.1 - Adding ",{"text":2345,"type":383,"marks":2346},"reset()",[2347],{"type":405},{"text":2349,"type":383}," function",{"type":415,"content":2351},[2352],{"type":378,"attrs":2353,"content":2354},{"textAlign":55},[2355,2357,2360],{"text":2356,"type":383},"2020\u002F02\u002F20 - v2.2 - Triggering ",{"text":2345,"type":383,"marks":2358},[2359],{"type":405},{"text":2361,"type":383}," before the custom logic is run subsequent times on the same page","Restrict the countries and states available at checkout",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":2364},{},"How to dynamically restrict which countries and states customers can select at checkout.",[],"dynamically-restrict-the-countries-and-states-available-at-checkout","help\u002Farticles\u002Fdynamically-restrict-the-countries-and-states-available-at-checkout",-4120,[],"8dd6d3c5-fe95-44d9-a931-529b6523021f",[],{"name":2374,"created_at":2375,"published_at":2376,"updated_at":2377,"id":2378,"uuid":2379,"content":2380,"slug":2463,"full_slug":2464,"sort_by_date":55,"position":2465,"tag_list":2466,"is_startpage":24,"parent_id":762,"meta_data":55,"group_id":2467,"first_published_at":2376,"release_id":55,"lang":61,"path":55,"alternates":2468,"default_full_slug":55,"translated_slugs":55},"Set required fields on your checkout","2026-07-02T19:32:44.137Z","2026-07-02T21:49:15.667Z","2026-07-02T21:49:15.679Z",193868448357796,"a6e80bc1-5ec9-4bc9-97fd-d95d6c1e0834",{"_uid":2381,"body":2382,"name":2374,"image":2459,"pinned":24,"summary":2461,"category":313,"component":259,"related_articles":2462},"8d38dce8-9034-4faa-b81e-a13b74780ccd",{"type":375,"content":2383},[2384,2389,2393,2433,2437],{"type":378,"attrs":2385,"content":2386},{"textAlign":55},[2387],{"text":2388,"type":383},"Foxy lets you mark standard checkout fields, like phone number, as required directly from your store’s configuration, without editing the checkout template.",{"type":385,"attrs":2390,"content":2391},{"level":387,"textAlign":55},[2392],{"text":1106,"type":383},{"type":1108,"attrs":2394,"content":2395},{"order":1110},[2396,2407,2421],{"type":415,"content":2397},[2398],{"type":378,"attrs":2399,"content":2400},{"textAlign":55},[2401,2402,2406],{"text":1118,"type":383},{"text":1120,"type":383,"marks":2403},[2404],{"type":1123,"attrs":2405},{"href":1125,"uuid":55,"anchor":55,"target":55,"linktype":31},{"text":708,"type":383},{"type":415,"content":2408},[2409],{"type":378,"attrs":2410,"content":2411},{"textAlign":55},[2412,2413,2416,2417,2420],{"text":1133,"type":383},{"text":1135,"type":383,"marks":2414},[2415],{"type":1138},{"text":1140,"type":383},{"text":338,"type":383,"marks":2418},[2419],{"type":1138},{"text":708,"type":383},{"type":415,"content":2422},[2423],{"type":378,"attrs":2424,"content":2425},{"textAlign":55},[2426,2427,2431],{"text":1151,"type":383},{"text":2428,"type":383,"marks":2429},"Checkout form settings",[2430],{"type":1138},{"text":2432,"type":383}," section, configure fields as needed.",{"type":385,"attrs":2434,"content":2435},{"level":387,"textAlign":55},[2436],{"text":1175,"type":383},{"type":412,"content":2438},[2439,2446],{"type":415,"content":2440},[2441],{"type":378,"attrs":2442,"content":2443},{"textAlign":55},[2444],{"text":2445,"type":383},"This setting applies store-wide to standard checkout fields. It doesn’t support conditional requirements, such as only requiring a phone number when the cart contains shippable items — that needs custom JavaScript instead.",{"type":415,"content":2447},[2448],{"type":378,"attrs":2449,"content":2450},{"textAlign":55},[2451,2453,2457],{"text":2452,"type":383},"Custom fields you add yourself aren’t covered by this setting. They’re made required using the ",{"text":2454,"type":383,"marks":2455},"data-fc-required",[2456],{"type":405},{"text":2458,"type":383}," attribute on the field itself.",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":2460},{},"How to require or make optional standard checkout fields.",[],"set-required-fields-on-your-checkout","help\u002Farticles\u002Fset-required-fields-on-your-checkout",-2770,[],"f3cd55fb-dbf9-40d3-88ba-7fc6fb277ae9",[],{"name":2470,"created_at":2471,"published_at":2472,"updated_at":2473,"id":2474,"uuid":42,"content":2475,"slug":43,"full_slug":43,"sort_by_date":55,"position":2652,"tag_list":2653,"is_startpage":24,"parent_id":55,"meta_data":55,"group_id":2654,"first_published_at":2655,"release_id":55,"lang":61,"path":55,"alternates":2656,"default_full_slug":55,"translated_slugs":55},"Contact","2022-09-23T19:56:58.957Z","2025-05-08T18:24:40.382Z","2025-05-08T18:24:40.392Z",3138,{"seo":2476,"_uid":2479,"title":2480,"action":2481,"fields":2482,"method":2628,"columns":2629,"subtitle":2643,"component":43,"button_text":2649,"submit_title":2650,"submit_subtitle":2651},{"_uid":2477,"title":2470,"plugin":2478,"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",[2483,2488,2492,2599,2602,2607,2622],{"_uid":2484,"name":2485,"type":383,"label":2486,"options":13,"required":33,"component":2487,"placeholder":13},"9a70b226-2036-4f90-a052-b3efa61c5896","name","Name","form___field",{"_uid":2489,"name":2490,"type":2490,"label":2491,"options":13,"required":33,"component":2487,"placeholder":13},"86ba35be-ff43-4a28-8633-14052a8f6622","email","Email Address",{"_uid":2493,"name":2494,"type":2495,"label":2496,"options":2497,"required":33,"component":2487,"conditions":2498,"placeholder":13},"3f827475-492c-4f97-aa1e-2386ac263b6c","topic","select","Topic","Presales, Support, Billing, Partnerships, Order Enquiry, Other",[2499,2553,2563,2570,2578,2586,2592],{"_uid":2500,"equals":2501,"fields":2502,"component":2552},"e21d97dd-e68e-4fa6-ba97-bc40f3041dde","Order Enquiry",[2503],{"_uid":2504,"body":2505,"type":2550,"title":13,"component":2551},"b64992bc-6d53-48b8-b7a0-d81e5a062e50",{"type":375,"content":2506},[2507],{"type":378,"content":2508},[2509,2511,2518,2520,2522,2523,2527,2529,2533,2541,2543,2548],{"text":2510,"type":383},"We are ",{"text":2512,"type":383,"marks":2513},"Foxy.io",[2514],{"type":1123,"attrs":2515},{"href":2516,"uuid":55,"anchor":55,"custom":2517,"target":55,"linktype":31},"http:\u002F\u002FFoxy.io",{},{"text":2519,"type":383},", 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":2521},"hard_break",{"type":2521},{"text":2524,"type":383,"marks":2525},"NOTE:",[2526],{"type":1138},{"text":2528,"type":383}," We are ",{"text":2530,"type":383,"marks":2531},"not ",[2532],{"type":1196},{"text":2534,"type":383,"marks":2535},"Foxy.in",[2536,2540],{"type":1123,"attrs":2537},{"href":2538,"uuid":55,"anchor":55,"custom":2539,"target":55,"linktype":31},"http:\u002F\u002FFoxy.in",{},{"type":1196},{"text":2542,"type":383},". We are not in any way affiliated with ",{"text":2534,"type":383,"marks":2544},[2545],{"type":1123,"attrs":2546},{"href":2538,"uuid":55,"anchor":55,"custom":2547,"target":55,"linktype":31},{},{"text":2549,"type":383},", and cannot help in any way with your order from that website.","danger","global___alert","form___condition",{"_uid":2554,"equals":2555,"fields":2556,"component":2552},"8765c3e1-25cf-44aa-b8ea-fc6094acf9c3","Presales",[2557],{"_uid":2558,"name":2559,"type":2560,"label":13,"options":13,"required":24,"component":2487,"conditions":2561,"placeholder":13,"default_value":2562},"cf464f8e-d643-4f6e-af29-d3abffaf7380","department_email_address","hidden",[],"hello@foxy.io",{"_uid":2564,"equals":204,"fields":2565,"component":2552},"4007b6d8-77e5-421d-bd1e-6f336dd853fb",[2566],{"_uid":2567,"name":2559,"type":2560,"label":13,"options":13,"required":24,"component":2487,"conditions":2568,"placeholder":13,"default_value":2569},"7b4c6aa5-a68c-45e0-9ce1-0a36af10c0c2",[],"help@foxy.io",{"_uid":2571,"equals":2572,"fields":2573,"component":2552},"1dbb8f11-613d-43cd-9e09-1b94f6e19219","Billing",[2574],{"_uid":2575,"name":2559,"type":2560,"label":13,"options":13,"required":24,"component":2487,"conditions":2576,"placeholder":13,"default_value":2577},"a0ac0d1b-bc4f-4a6c-a682-581d450b0b73",[],"help+billing@foxy.io",{"_uid":2579,"equals":2580,"fields":2581,"component":2552},"a0a53a50-7172-4a29-ba58-181e38874e12","Partnerships",[2582],{"_uid":2583,"name":2559,"type":2560,"label":13,"options":13,"required":24,"component":2487,"conditions":2584,"placeholder":13,"default_value":2585},"7aa011d9-f374-4aed-b5a5-929b54aaf152",[],"partners@foxy.io",{"_uid":2587,"equals":2501,"fields":2588,"component":2552},"a4cd431f-25d5-41c7-bfdc-02c908c8fb47",[2589],{"_uid":2590,"name":2559,"type":2560,"label":13,"options":13,"required":24,"component":2487,"conditions":2591,"placeholder":13,"default_value":2562},"f5d52168-d6ae-451b-94ee-2ced1cbd28ad",[],{"_uid":2593,"equals":2594,"fields":2595,"component":2552},"25aba1ed-eb41-4bbc-aa89-f7a7167ea86e","Other",[2596],{"_uid":2597,"name":2559,"type":2560,"label":13,"options":13,"required":24,"component":2487,"conditions":2598,"placeholder":13,"default_value":2562},"f40dfaef-c203-4b71-bf4e-e1b43cef192b",[],{"_uid":2600,"component":2601},"e9c53a05-f40a-4510-aaf8-bc072a235a0c","form___subject",{"_uid":2603,"name":2604,"type":2605,"label":2606,"options":13,"required":33,"component":2487,"placeholder":13},"a4c4d385-fff4-4978-99fb-b68cfea623d6","message","textarea","Message",{"_uid":2608,"name":2609,"type":2495,"label":2610,"options":2611,"required":33,"component":2487,"conditions":2612,"placeholder":13},"8a3c9f85-f438-427d-9c7a-d7b295a14b5b","existing_user","Are you an existing user?","No, Yes",[2613],{"_uid":2614,"equals":2615,"fields":2616,"component":2552},"115933d6-262a-4b59-8fa8-579c5ad73de1","Yes",[2617],{"_uid":2618,"name":2619,"type":383,"label":2620,"options":13,"required":33,"component":2487,"conditions":2621,"placeholder":13},"44b6ff23-98f0-4e95-b7f5-c23e06415c2d","subdomain","Store Subdomain",[],{"_uid":2623,"name":2624,"type":2495,"label":2625,"options":2626,"required":33,"component":2487,"conditions":2627,"placeholder":13},"922a5cef-3af2-4113-8855-36c7910e3ee3","user_type","What type of user are you?","Developer, Designer, Merchant",[],"POST",[2630],{"_uid":2631,"text":2632,"title":2641,"component":2642},"7323b90d-a93a-4bf1-baa9-20d0b7ead61b",{"type":375,"content":2633},[2634],{"type":378,"content":2635},[2636,2638,2639],{"text":2637,"type":383},"855.369.9227",{"type":2521},{"text":2640,"type":383},"9:30am-6pm Central M-F","Pre-sales, Sales, & Partnerships","contact___footer_column",{"type":375,"content":2644},[2645],{"type":378,"content":2646},[2647],{"text":2648,"type":383},"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",[],{},1785861255677]