[{"data":1,"prerenderedAt":1965},["ShallowReactive",2],{"header:help":3,"footer:default":63,"story:navigation\u002Fsearch:help":243,"story:help\u002Fcategories":281,"story:help\u002Fcategories\u002Fmulticurrency":307,"help:tree:c79a3dcc-329d-4b00-84cb-a4c50922a48f:default":333,"help:categories:c79a3dcc-329d-4b00-84cb-a4c50922a48f":334,"help:guides:c79a3dcc-329d-4b00-84cb-a4c50922a48f":335,"help:articles:c79a3dcc-329d-4b00-84cb-a4c50922a48f":336,"story:contact":1776,"_apollo:default":1964},{"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":327,"full_slug":328,"sort_by_date":55,"position":329,"tag_list":330,"is_startpage":24,"parent_id":303,"meta_data":55,"group_id":331,"first_published_at":310,"release_id":55,"lang":61,"path":55,"alternates":332,"default_full_slug":55,"translated_slugs":55},"Multicurrency","2026-07-17T19:03:56.599Z","2026-07-17T19:10:36.994Z","2026-07-17T19:10:37.002Z",199169788360190,"c79a3dcc-329d-4b00-84cb-a4c50922a48f",{"_uid":315,"icon":13,"name":308,"type":316,"pinned":24,"summary":317,"category":13,"component":290,"blog_posts":318,"icon_custom":319,"case_studies":321,"faq_sections":322,"featured_guides":323,"mailbox_category":13,"featured_articles":324,"featured_blog_posts":325,"featured_case_studies":326},"4cd3566a-380a-4613-8ee5-2a78ec382ebb","simple","Sell in multiple currencies and convert product prices automatically.",[],{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":320},{},[],[],[],[],[],[],"multicurrency","help\u002Fcategories\u002Fmulticurrency",-740,[],"faa6b6b7-a38e-488d-b22e-5bb9546ae708",[],[281],[],[],[337,449,552,646,793,919],{"name":338,"created_at":339,"published_at":340,"updated_at":341,"id":342,"uuid":343,"content":344,"slug":442,"full_slug":443,"sort_by_date":55,"position":444,"tag_list":445,"is_startpage":24,"parent_id":446,"meta_data":55,"group_id":447,"first_published_at":340,"release_id":55,"lang":61,"path":55,"alternates":448,"default_full_slug":55,"translated_slugs":55},"Multicurrency overview","2026-07-17T19:30:16.893Z","2026-07-17T21:30:08.217Z","2026-07-17T21:30:08.232Z",199176261246735,"c6caad36-a0da-484e-981b-b076969fb277",{"_uid":345,"body":346,"name":338,"image":438,"pinned":24,"summary":440,"category":313,"component":259,"related_articles":441},"fe872614-3815-40d6-8b63-8154f0cd57ba",{"type":347,"content":348},"doc",[349,369,376,392,407,412,417,422,427],{"type":350,"attrs":351,"content":352},"paragraph",{"textAlign":55},[353,356,361,363,367],{"text":354,"type":355},"Foxy supports multicurrency in two ways: changing the currency of the entire cart, and dynamically converting an individual product's price from one currency to another. Both are driven by two parameters, ","text",{"text":357,"type":355,"marks":358},"template_set",[359],{"type":360},"code",{"text":362,"type":355}," and ",{"text":364,"type":355,"marks":365},"price",[366],{"type":360},{"text":368,"type":355},".",{"type":370,"attrs":371,"content":373},"heading",{"level":372,"textAlign":55},2,[374],{"text":375,"type":355},"The two mechanisms",{"type":350,"attrs":377,"content":378},{"textAlign":55},[379,382,384,391],{"text":357,"type":355,"marks":380},[381],{"type":360},{"text":383,"type":355}," switches the currency (and, if configured, the language) for the customer's whole cart for that session. It's set once per session, not per product. See ",{"text":385,"type":355,"marks":386},"Set up multicurrency with template sets",[387],{"type":388,"attrs":389},"link",{"href":390,"uuid":55,"anchor":55,"target":55,"linktype":31},"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fset-up-multicurrency-with-template-sets",{"text":368,"type":355},{"type":350,"attrs":393,"content":394},{"textAlign":55},[395,398,400,406],{"text":364,"type":355,"marks":396},[397],{"type":360},{"text":399,"type":355}," with a currency code appended sets the currency for a single product. If that currency doesn't match the cart's current currency, Foxy converts it. See ",{"text":401,"type":355,"marks":402},"Set product prices in a specific currency",[403],{"type":388,"attrs":404},{"href":405,"uuid":55,"anchor":55,"target":55,"linktype":31},"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fset-product-prices-in-a-specific-currency",{"text":368,"type":355},{"type":370,"attrs":408,"content":409},{"level":372,"textAlign":55},[410],{"text":411,"type":355},"How conversion works",{"type":350,"attrs":413,"content":414},{"textAlign":55},[415],{"text":416,"type":355},"When a product's currency differs from the cart's currency, Foxy converts the price to the cart currency automatically. Exchange rates come from openexchangerates.org.",{"type":350,"attrs":418,"content":419},{"textAlign":55},[420],{"text":421,"type":355},"Dynamic conversion requires at least two template sets with differing locales configured on your store. With only one locale, there's nothing to convert between.",{"type":370,"attrs":423,"content":424},{"level":372,"textAlign":55},[425],{"text":426,"type":355},"Default currency",{"type":350,"attrs":428,"content":429},{"textAlign":55},[430,432,436],{"text":431,"type":355},"New customers see your store's default locale, taken from the ",{"text":433,"type":355,"marks":434},"DEFAULT",[435],{"type":360},{"text":437,"type":355}," template set (or the store locale setting on your store's settings page).",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":439},{},"How Foxy handles multiple currencies, including switching the whole cart's currency with template sets and converting individual product prices automatically",[],"multicurrency-overview","help\u002Farticles\u002Fmulticurrency-overview",-3770,[],2659,"88007fa2-452e-459e-b1b0-ff7eb7dd0453",[],{"name":401,"created_at":450,"published_at":451,"updated_at":452,"id":453,"uuid":454,"content":455,"slug":546,"full_slug":547,"sort_by_date":55,"position":548,"tag_list":549,"is_startpage":24,"parent_id":446,"meta_data":55,"group_id":550,"first_published_at":451,"release_id":55,"lang":61,"path":55,"alternates":551,"default_full_slug":55,"translated_slugs":55},"2026-07-17T21:23:58.032Z","2026-07-17T21:30:07.678Z","2026-07-17T21:30:07.693Z",199204200630453,"029d74bd-1e10-4efe-a5dc-4c4d40c459df",{"_uid":456,"body":457,"name":401,"image":542,"pinned":24,"summary":544,"category":313,"component":259,"related_articles":545},"f0da7089-f638-49df-ab8e-3144eaf626c2",{"type":347,"content":458},[459,469,474,485,490,495,500,505,510,516,521],{"type":350,"attrs":460,"content":461},{"textAlign":55},[462,464,468],{"text":463,"type":355},"Append a 3-character ISO currency code to a product's price to set that product's currency, for example ",{"text":465,"type":355,"marks":466},"price=15.99usd",[467],{"type":360},{"text":368,"type":355},{"type":370,"attrs":470,"content":471},{"level":372,"textAlign":55},[472],{"text":473,"type":355},"How conversion behaves",{"type":350,"attrs":475,"content":476},{"textAlign":55},[477,479,483],{"text":478,"type":355},"If a product is added in a currency that doesn't match the cart's current currency, Foxy converts the price to the cart currency. For example, with a cart set to USD and a product added as ",{"text":480,"type":355,"marks":481},"price=50mxn",[482],{"type":360},{"text":484,"type":355},", the 50 MXN is converted to USD.",{"type":350,"attrs":486,"content":487},{"textAlign":55},[488],{"text":489,"type":355},"If no currency code is appended, the price is assumed to be in your store's default currency, then converted to the cart's current currency if they differ.",{"type":350,"attrs":491,"content":492},{"textAlign":55},[493],{"text":494,"type":355},"Dynamic conversion requires at least two template sets with differing locales configured on your store. Rates come from openexchangerates.org.",{"type":370,"attrs":496,"content":497},{"level":372,"textAlign":55},[498],{"text":499,"type":355},"Product option modifiers",{"type":350,"attrs":501,"content":502},{"textAlign":55},[503],{"text":504,"type":355},"When a product option modifier changes the price, append the currency code to the modifier's amount too. Without it, the amount is assumed to be in your store's default currency:",{"type":350,"attrs":506,"content":507},{"textAlign":55},[508],{"text":509,"type":355},"html",{"type":511,"attrs":512,"content":513},"code_block",{"class":55},[514],{"text":515,"type":355},"\u003Cinput type=\"checkbox\" name=\"gift_wrapping\" value=\"Yes{p+15CAD}\" \u002F>",{"type":370,"attrs":517,"content":518},{"level":372,"textAlign":55},[519],{"text":520,"type":355},"Notes",{"type":522,"content":523},"bullet_list",[524],{"type":525,"content":526},"list_item",[527],{"type":350,"attrs":528,"content":529},{"textAlign":55},[530,532,535,537,541],{"text":531,"type":355},"To add a product in its own currency instead of converting it, use a ",{"text":357,"type":355,"marks":533},[534],{"type":360},{"text":536,"type":355}," for that locale so the whole cart is in that currency. See ",{"text":385,"type":355,"marks":538},[539],{"type":388,"attrs":540},{"href":390,"uuid":55,"anchor":55,"target":55,"linktype":31},{"text":368,"type":355},{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":543},{},"How to add products in a specific currency using the price parameter, and how Foxy converts prices to the cart's currency",[],"set-product-prices-in-a-specific-currency","help\u002Farticles\u002Fset-product-prices-in-a-specific-currency",-3790,[],"1b4f2586-76e2-48c6-b34b-ec78cab146b8",[],{"name":553,"created_at":554,"published_at":555,"updated_at":556,"id":557,"uuid":558,"content":559,"slug":640,"full_slug":641,"sort_by_date":55,"position":642,"tag_list":643,"is_startpage":24,"parent_id":446,"meta_data":55,"group_id":644,"first_published_at":555,"release_id":55,"lang":61,"path":55,"alternates":645,"default_full_slug":55,"translated_slugs":55},"Set up multicurrency discounts and coupons","2026-07-17T21:29:29.658Z","2026-07-17T21:30:07.180Z","2026-07-17T21:30:07.194Z",199205558966455,"876e3cfe-14bb-49d4-b681-42f07e562ebb",{"_uid":560,"body":561,"name":553,"image":636,"pinned":24,"summary":638,"category":313,"component":259,"related_articles":639},"f26c4ed8-b088-4e6f-9d93-c1b5bfcc5afc",{"type":347,"content":562},[563,575,580,585,590,595,600,604,609,613],{"type":350,"attrs":564,"content":565},{"textAlign":55},[566,568,574],{"text":567,"type":355},"Product discounts, category discounts, and coupon codes can all set different values per currency using JSON syntax. Before setting these up, make sure you're familiar with ",{"text":569,"type":355,"marks":570},"how coupons and discounts work",[571],{"type":388,"attrs":572},{"href":573,"uuid":55,"anchor":55,"target":55,"linktype":31},"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Fcategories\u002Fcoupons-discounts",{"text":368,"type":355},{"type":370,"attrs":576,"content":577},{"level":372,"textAlign":55},[578],{"text":579,"type":355},"Syntax",{"type":350,"attrs":581,"content":582},{"textAlign":55},[583],{"text":584,"type":355},"Add a JSON object with a value per currency code. For a product discount:",{"type":511,"attrs":586,"content":587},{"class":55},[588],{"text":589,"type":355},"&discount_quantity_amount=bogo 100{\"discount_type\": \"repeat\", \"USD\": \"2-10\", \"MXN\": \"2-150\"}",{"type":350,"attrs":591,"content":592},{"textAlign":55},[593],{"text":594,"type":355},"The same JSON goes directly into the coupon or discount details field for category discounts and coupon codes.",{"type":370,"attrs":596,"content":597},{"level":372,"textAlign":55},[598],{"text":599,"type":355},"In a form",{"type":350,"attrs":601,"content":602},{"textAlign":55},[603],{"text":509,"type":355},{"type":511,"attrs":605,"content":606},{"class":55},[607],{"text":608,"type":355},"\u003Cform action=\"https:\u002F\u002Fyourdomain.foxycart.com\u002Fcart\">\n  \u003Cinput type=\"hidden\" name=\"name\" value=\"975mxn bogo 2\">\n  \u003Cinput type=\"hidden\" name=\"price\" value=\"975MXN\">\n  \u003Cinput type=\"hidden\" name=\"code\" value=\"abc130\">\n  \u003C!-- Use single quotes here, because form inputs don't handle URL encoding -->\n  \u003Cinput type=\"hidden\" name=\"discount_quantity_amount\"\n    value='bogo 100{\"discount_type\": \"repeat\", \"USD\": \"2-10\", \"MXN\": \"2-150\"}'>\n  \u003Cinput type=\"submit\">\n\u003C\u002Fform>",{"type":370,"attrs":610,"content":611},{"level":372,"textAlign":55},[612],{"text":520,"type":355},{"type":522,"content":614},[615,622,629],{"type":525,"content":616},[617],{"type":350,"attrs":618,"content":619},{"textAlign":55},[620],{"text":621,"type":355},"The syntax must be valid JSON, so use double quotes around all values.",{"type":525,"content":623},[624],{"type":350,"attrs":625,"content":626},{"textAlign":55},[627],{"text":628,"type":355},"Because of the double quotes, either URL encode the whole string, or wrap it in single quotes instead. For form inputs, use single quotes (form inputs don't handle URL encoding).",{"type":525,"content":630},[631],{"type":350,"attrs":632,"content":633},{"textAlign":55},[634],{"text":635,"type":355},"If a currency isn't included in the JSON, the discount won't apply for that currency. This is intentional, to prevent discounts from applying with significantly wrong values after conversion.",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":637},{},"How to set different discount and coupon values per currency using JSON syntax for product discounts, category discounts, and coupon codes.\n",[],"set-up-multicurrency-discounts-and-coupons","help\u002Farticles\u002Fset-up-multicurrency-discounts-and-coupons",-3810,[],"38ccd7b4-6c72-4f35-9666-6f7558f7afd3",[],{"name":385,"created_at":647,"published_at":648,"updated_at":649,"id":650,"uuid":651,"content":652,"slug":787,"full_slug":788,"sort_by_date":55,"position":789,"tag_list":790,"is_startpage":24,"parent_id":446,"meta_data":55,"group_id":791,"first_published_at":648,"release_id":55,"lang":61,"path":55,"alternates":792,"default_full_slug":55,"translated_slugs":55},"2026-07-17T19:31:57.136Z","2026-07-17T21:30:07.892Z","2026-07-17T21:30:07.906Z",199176671842064,"b1e5eec6-9ca9-4a1f-ae0b-708b09555f19",{"_uid":653,"body":654,"name":385,"image":783,"pinned":24,"summary":785,"category":313,"component":259,"related_articles":786},"b8c0a0ae-6f36-4c9e-94a4-71cd781aee18",{"type":347,"content":655},[656,672,677,714,719,724,734,738,743,747],{"type":350,"attrs":657,"content":658},{"textAlign":55},[659,661,664,666,670],{"text":660,"type":355},"The ",{"text":357,"type":355,"marks":662},[663],{"type":360},{"text":665,"type":355}," parameter switches the currency (and optionally the language) for a customer's entire cart session. It's passed as the template set's code, for example ",{"text":667,"type":355,"marks":668},"&template_set=fr",[669],{"type":360},{"text":671,"type":355},", and applies session-wide rather than to individual products.",{"type":370,"attrs":673,"content":674},{"level":372,"textAlign":55},[675],{"text":676,"type":355},"How to set it up",{"type":678,"attrs":679,"content":681},"ordered_list",{"order":680},1,[682,696],{"type":525,"content":683},[684],{"type":350,"attrs":685,"content":686},{"textAlign":55},[687,689,695],{"text":688,"type":355},"Create a template set for each locale you want to offer, each with the right currency and language. See ",{"text":690,"type":355,"marks":691},"Create a new template set",[692],{"type":388,"attrs":693},{"href":694,"uuid":55,"anchor":55,"target":55,"linktype":31},"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fcreate-a-new-template-set",{"text":368,"type":355},{"type":525,"content":697},[698],{"type":350,"attrs":699,"content":700},{"textAlign":55},[701,703,706,708,712],{"text":702,"type":355},"Add the ",{"text":357,"type":355,"marks":704},[705],{"type":360},{"text":707,"type":355}," parameter to a link or form that hits your store's ",{"text":709,"type":355,"marks":710},"\u002Fcart",[711],{"type":360},{"text":713,"type":355}," endpoint, using the template set's code:",{"type":511,"attrs":715,"content":716},{"class":55},[717],{"text":718,"type":355},"https:\u002F\u002Fyourdomain.foxycart.com\u002Fcart?name=Example&price=50mxn&code=a33938&template_set=mx",{"type":370,"attrs":720,"content":721},{"level":372,"textAlign":55},[722],{"text":723,"type":355},"Set the currency silently on page load",{"type":350,"attrs":725,"content":726},{"textAlign":55},[727,729,732],{"text":728,"type":355},"To set the session's currency without sending the customer to the cart (for example, on page load or when they click a locale link), request the ",{"text":709,"type":355,"marks":730},[731],{"type":360},{"text":733,"type":355}," endpoint in the background:",{"type":350,"attrs":735,"content":736},{"textAlign":55},[737],{"text":509,"type":355},{"type":511,"attrs":739,"content":740},{"class":55},[741],{"text":742,"type":355},"\u003Ca id=\"locale-mxn\" href=\"javascript:;\">Set locale to MXN in the background\u003C\u002Fa>\n\u003Cscript>\n  document.getElementById('locale-mxn').onclick = function(){\n    FC.client.request('https:\u002F\u002F' + FC.settings.storedomain + '\u002Fcart?template_set=mx')\n    .done(function(data){\n      console.log(data.locale_info.int_curr_symbol);\n    });\n  };\n\u003C\u002Fscript>",{"type":370,"attrs":744,"content":745},{"level":372,"textAlign":55},[746],{"text":520,"type":355},{"type":522,"content":748},[749,766],{"type":525,"content":750},[751],{"type":350,"attrs":752,"content":753},{"textAlign":55},[754,756,759,761,764],{"text":755,"type":355},"Changing ",{"text":357,"type":355,"marks":757},[758],{"type":360},{"text":760,"type":355}," to one with a different locale than the cart is currently using will empty the cart. To avoid losing items, add the products in the same request that changes the ",{"text":357,"type":355,"marks":762},[763],{"type":360},{"text":765,"type":355}," and they'll be added in the correct currency.",{"type":525,"content":767},[768],{"type":350,"attrs":769,"content":770},{"textAlign":55},[771,773,776,778,781],{"text":772,"type":355},"If you don't pass a ",{"text":357,"type":355,"marks":774},[775],{"type":360},{"text":777,"type":355},", customers see your store's default locale (the ",{"text":433,"type":355,"marks":779},[780],{"type":360},{"text":782,"type":355}," template set, or the store locale setting on your store's settings page).",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":784},{},"How to switch a customer's entire cart to a different currency and language using the template_set parameter.",[],"set-up-multicurrency-with-template-sets","help\u002Farticles\u002Fset-up-multicurrency-with-template-sets",-3780,[],"f63d45f7-c04d-4148-a28f-d259efe1dee2",[],{"name":794,"created_at":795,"published_at":796,"updated_at":797,"id":798,"uuid":799,"content":800,"slug":913,"full_slug":914,"sort_by_date":55,"position":915,"tag_list":916,"is_startpage":24,"parent_id":446,"meta_data":55,"group_id":917,"first_published_at":796,"release_id":55,"lang":61,"path":55,"alternates":918,"default_full_slug":55,"translated_slugs":55},"Set up per-currency payment gateway credentials","2026-07-17T21:28:14.410Z","2026-07-17T21:30:07.415Z","2026-07-17T21:30:07.429Z",199205250775222,"cab420c3-05a3-407e-96bf-61a7f180321b",{"_uid":801,"body":802,"name":794,"image":909,"pinned":24,"summary":911,"category":313,"component":259,"related_articles":912},"9bee2143-e455-46a1-b98c-f034794a69ee",{"type":347,"content":803},[804,809,813,857,862,867,871],{"type":350,"attrs":805,"content":806},{"textAlign":55},[807],{"text":808,"type":355},"Some payment gateways support multiple currencies on a single account, in which case no extra setup is needed. Others require a separate set of credentials (username, password, ID, transaction key, and so on) per currency. For those, enter your credentials as JSON keyed by currency code.",{"type":370,"attrs":810,"content":811},{"level":372,"textAlign":55},[812],{"text":676,"type":355},{"type":678,"attrs":814,"content":815},{"order":680},[816,830,843,850],{"type":525,"content":817},[818],{"type":350,"attrs":819,"content":820},{"textAlign":55},[821,823,829],{"text":822,"type":355},"Go to the ",{"text":824,"type":355,"marks":825},"Foxy admin",[826],{"type":388,"attrs":827},{"href":828,"uuid":55,"anchor":55,"target":55,"linktype":31},"https:\u002F\u002Fadmin.foxy.io",{"text":368,"type":355},{"type":525,"content":831},[832],{"type":350,"attrs":833,"content":834},{"textAlign":55},[835,837,842],{"text":836,"type":355},"Go to ",{"text":838,"type":355,"marks":839},"Settings > Payments",[840],{"type":841},"bold",{"text":368,"type":355},{"type":525,"content":844},[845],{"type":350,"attrs":846,"content":847},{"textAlign":55},[848],{"text":849,"type":355},"Open the payment set that contains your gateway, then open the gateway's configuration.",{"type":525,"content":851},[852],{"type":350,"attrs":853,"content":854},{"textAlign":55},[855],{"text":856,"type":355},"In the credential field, enter a JSON object mapping each currency code to its credential:",{"type":350,"attrs":858,"content":859},{"textAlign":55},[860],{"text":861,"type":355},"json",{"type":511,"attrs":863,"content":864},{"class":55},[865],{"text":866,"type":355},"{\"USD\": \"x39gA5Me2K\", \"GBP\": \"9s77FvP6ts\"}",{"type":370,"attrs":868,"content":869},{"level":372,"textAlign":55},[870],{"text":520,"type":355},{"type":522,"content":872},[873,880,887,894],{"type":525,"content":874},[875],{"type":350,"attrs":876,"content":877},{"textAlign":55},[878],{"text":879,"type":355},"Wrap every value in double quotes, even if the value is an integer.",{"type":525,"content":881},[882],{"type":350,"attrs":883,"content":884},{"textAlign":55},[885],{"text":886,"type":355},"If the cart's currency has no match in your credential string (for example, the cart is in SGD but you only listed USD and GBP), Foxy uses the first value in the list.",{"type":525,"content":888},[889],{"type":350,"attrs":890,"content":891},{"textAlign":55},[892],{"text":893,"type":355},"The string must be valid JSON and cannot exceed 500 characters.",{"type":525,"content":895},[896],{"type":350,"attrs":897,"content":898},{"textAlign":55},[899,901,907],{"text":900,"type":355},"Not all gateways support multicurrency. Check the ",{"text":902,"type":355,"marks":903},"supported gateways list",[904],{"type":388,"attrs":905},{"href":906,"uuid":55,"anchor":55,"target":55,"linktype":31},"https:\u002F\u002Fwiki.foxycart.com\u002Fgateways\u002Fstart?dataflt%5B0%5D=supports-multicurrency%3Dyes",{"text":908,"type":355},", and contact us if yours isn't listed.",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":910},{},"How to configure separate gateway credentials for each currency when your payment gateway requires one set of credentials per currency.\n",[],"set-up-per-currency-payment-gateway-credentials","help\u002Farticles\u002Fset-up-per-currency-payment-gateway-credentials",-3800,[],"94b4658e-1561-45d3-becc-50b1eb38e069",[],{"name":920,"created_at":921,"published_at":922,"updated_at":923,"id":924,"uuid":925,"content":926,"slug":1770,"full_slug":1771,"sort_by_date":55,"position":1772,"tag_list":1773,"is_startpage":24,"parent_id":446,"meta_data":55,"group_id":1774,"first_published_at":922,"release_id":55,"lang":61,"path":55,"alternates":1775,"default_full_slug":55,"translated_slugs":55},"Update product totals with multicurrency support before add to cart","2026-07-22T17:21:07.911Z","2026-07-22T17:44:56.916Z","2026-07-22T17:44:56.934Z",200913993418882,"a35f060c-799a-4ebb-8b95-452152320048",{"_uid":927,"body":928,"name":920,"image":1766,"pinned":24,"summary":1768,"category":313,"component":259,"related_articles":1769},"4d41d031-9dbd-40cc-8dba-b3cd86ebd6b9",{"type":347,"content":929},[930,935,940,945,975,980,997,1015,1020,1025,1030,1036,1041,1046,1051,1056,1061,1072,1077,1087,1092,1107,1112,1132,1143,1148,1153,1164,1175,1480,1499,1504,1509,1526,1546,1551,1556,1571,1600,1605,1610,1621,1632,1637,1642,1661,1675,1680,1691,1696,1701,1706,1711,1716,1721,1726],{"type":350,"attrs":931,"content":932},{"textAlign":55},[933],{"text":934,"type":355},"For stores looking to support multiple different currencies, it's important to be able to show product prices in those different currencies. This helps customers to be able to know exactly what they'll be paying - rather than needing to do those calculations themselves.",{"type":350,"attrs":936,"content":937},{"textAlign":55},[938],{"text":939,"type":355},"Not all website builders and CMS's support setting multiple prices for a single product though, so you can be limited to just a single currency that you can display your prices in.",{"type":350,"attrs":941,"content":942},{"textAlign":55},[943],{"text":944,"type":355},"The following snippet will allow you to add the following functionality to your website:",{"type":522,"content":946},[947,954,961,968],{"type":525,"content":948},[949],{"type":350,"attrs":950,"content":951},{"textAlign":55},[952],{"text":953,"type":355},"Dynamically set the template set for the cart on initial page load, based on the location of the customer, which will set the locale, language and currency of the cart.",{"type":525,"content":955},[956],{"type":350,"attrs":957,"content":958},{"textAlign":55},[959],{"text":960,"type":355},"Convert the prices and price modifiers in all product add to cart forms to the cart currency",{"type":525,"content":962},[963],{"type":350,"attrs":964,"content":965},{"textAlign":55},[966],{"text":967,"type":355},"Convert all prices displayed to customers to the cart currency",{"type":525,"content":969},[970],{"type":350,"attrs":971,"content":972},{"textAlign":55},[973],{"text":974,"type":355},"Display a dynamic product total, taking into consideration a change in quantity or product options that include a price modifier.",{"type":370,"attrs":976,"content":977},{"level":372,"textAlign":55},[978],{"text":979,"type":355},"Step 1: Include snippet",{"type":350,"attrs":981,"content":982},{"textAlign":55},[983,985,989,991,995],{"text":984,"type":355},"Paste the following code before the closing ",{"text":986,"type":355,"marks":987},"\u003C\u002Fbody>",[988],{"type":360},{"text":990,"type":355}," tag of any page that you want to add this functionality to. It can also be included in an existing javascript file on your page if you prefer. This snippet relies on the ",{"text":992,"type":355,"marks":993},"loader.js",[994],{"type":360},{"text":996,"type":355}," file also being included on your page.",{"type":998,"content":999},"blockquote",[1000],{"type":350,"attrs":1001,"content":1002},{"textAlign":55},[1003,1007,1009,1013],{"text":1004,"type":355,"marks":1005},"Tip:",[1006],{"type":841},{"text":1008,"type":355}," This is ",{"text":1010,"type":355,"marks":1011},"not",[1012],{"type":841},{"text":1014,"type":355}," required on the cart, checkout or receipt pages, so it should not be placed in those templates or in your store's admin settings. Just on your own website.",{"type":511,"attrs":1016,"content":1017},{"class":55},[1018],{"text":1019,"type":355},"\u003Cscript>\n\u002F* Foxy Dynamic Product Prices and Currency Conversion v0.8, https:\u002F\u002Ffoxy.io *\u002F\n!function(t,e){var n=function(t){return new i(t)};n.version=\"0.1.3\";var a=t.fxSetup||{rates:{},base:\"\"};n.rates=a.rates,n.base=a.base,n.settings={from:a.from||n.base,to:a.to||n.base};var r=n.convert=function(t,e){if(\"object\"==typeof t&&t.length){for(var a=0;a\u003Ct.length;a++)t[a]=r(t[a],e);return t}(e=e||{}).from||(e.from=n.settings.from),e.to||(e.to=n.settings.to);a=e.to;var i=e.from,s=n.rates;if(s[n.base]=1,!s[a]||!s[i])throw\"fx error\";return t*(a=i===n.base?s[a]:a===n.base?1\u002Fs[i]:s[a]*(1\u002Fs[i]))},i=function(t){\"string\"==typeof t?(this._v=parseFloat(t.replace(\u002F[^0-9-.]\u002Fg,\"\")),this._fx=t.replace(\u002F([^A-Za-z])\u002Fg,\"\")):this._v=t};(a=n.prototype=i.prototype).convert=function(){var t=Array.prototype.slice.call(arguments);return t.unshift(this._v),r.apply(n,t)},a.from=function(t){return(t=n(r(this._v,{from:t,to:n.base})))._fx=n.base,t},a.to=function(t){return r(this._v,{from:this._fx?this._fx:n.settings.from,to:t})},\"undefined\"!=typeof exports?(\"undefined\"!=typeof module&&module.exports&&(exports=module.exports=n),exports.fx=fx):\"function\"==typeof define&&define.amd?define([],(function(){return n})):(n.noConflict=function(e){return function(){return t.fx=e,n.noConflict=undefined,n}}(t.fx),t.fx=n)}(this),function(t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).numberCurrencyFormat=t()}((function(){return function t(e,n,a){function r(s,o){if(!n[s]){if(!e[s]){var c=\"function\"==typeof require&&require;if(!o&&c)return c(s,!0);if(i)return i(s,!0);var u=new Error(\"Cannot find module '\"+s+\"'\");throw u.code=\"MODULE_NOT_FOUND\",u}var f=n[s]={exports:{}};e[s][0].call(f.exports,(function(t){return r(e[s][1][t]||t)}),f,f.exports,t,e,n,a)}return n[s].exports}for(var i=\"function\"==typeof require&&require,s=0;s\u003Ca.length;s++)r(a[s]);return r}({1:[function(t,e,n){\"use strict\";const a=\"LEFT\",r=\"ALWAYS\",i=\"NEVER\",s=\"IF_NEEDED\",o=\"AS_IS\",c={currency:\"\",showDecimals:r,thousandSeparator:\",\",decimalSeparator:\".\",currencyPosition:\"RIGHT\",decimalsDigits:2,spacing:!0,arithmeticalRounding:!1};function u(t,e){return void 0!==t?t:e}function f(t){return t?{currency:t.currency||c.currency,thousandSeparator:u(t.thousandSeparator,c.thousandSeparator),decimalSeparator:u(t.decimalSeparator,c.decimalSeparator),showDecimals:t.showDecimals||c.showDecimals,decimalsDigits:u(t.decimalsDigits,c.decimalsDigits),currencyPosition:t.currencyPosition||c.currencyPosition,spacing:u(t.spacing,c.spacing),arithmeticalRounding:u(t.arithmeticalRounding,c.arithmeticalRounding)}:c}function l(t){return\u002F^[\\.,]$\u002F.test(t)}e.exports={format:function(t,e){const n=f(e),c=n.showDecimals===o?t.toString():parseFloat((n.arithmeticalRounding?function(t,e){return+(Math.round(t+\"e+\"+e)+\"e-\"+e)}(t,n.decimalsDigits):+t).toString()).toFixed(n.showDecimals===i?0:n.decimalsDigits);if(isNaN(c))return t;const u=c.split(\".\"),l=u[0],d=u[1]||\"\",p=n.showDecimals===r||n.showDecimals===s&&+d>0||n.showDecimals===o&&d.length>0?n.decimalSeparator+d:\"\",h=(m=l,g=n.thousandSeparator,m.split(\"\").reduce((function(t,e,n){return t+e+(n\u003Cm.length-1&&(m.length-n-1)%3==0&&\"-\"!==e?g:\"\")}),\"\")+p);var m,g;if(n.currency){const t=n.spacing?\" \":\"\";return n.currencyPosition===a?n.currency+t+h:h+t+n.currency}return h},unformat:function(t,e){const n=f(e),a=e&&e.decimalSeparator,r=t.replace(\u002F\\s\u002Fg,\"\").match(\u002F[0-9]+|[^0-9]+\u002Fgi).map((function(t,e){return{value:t,isNumber:\u002F[0-9]+\u002F.test(t),index:e}})),i=r.filter((function(t){return t.isNumber})),s=r.filter((function(t){return!t.isNumber})),o=i[0],c=i[i.length-1],u=o.value>0?o:i.length>1&&i[1].value>0?i[1]:void 0;if(!u)return 0;const d=u.index>0?r[u.index-1]:void 0,p=d&&1===s.length&&l(d.value),h=c.index-1,m=h>=0&&r[h],g=s.filter((function(t){return t.index>o.index&&t.index\u003Ch})).map((function(t){return t.value})),_=g.length>0&&g.indexOf(m.value)\u003C0,y=m&&m.value===a,v=c.value.length===n.decimalsDigits&&m&&l(m.value),x=(a?y:v||y||p||_)?c.value.length:0,b=d&&d.value,j=b&&\"-\"===b[b.length-1],w=i.map((function(t){return t.value})).join(\"\");return parseFloat(w\u002FMath.pow(10,x))*(j?-1:1)}}},{}]},{},[1])(1)}));var FC=FC||{};!function(t,e){var n={version:.8},r=\u002F([{\\|])p([+\\-:])([\\d\\.]+)(?:\\D{3})?([\\|}])\u002F,i=\u002F^(\\d+):\u002F,s=!1,o={base:\"USD\",sets:[],max_rate_cache:12,rounding:\"minimal\",convert_display_only:!1,active_class:\"active\",use_openexchangerates:!1,adjust_price_display:null};function c(){for(var t=e.json.shipping_address.country,n=\"\"==e.json.template_set?\"DEFAULT\":e.json.template_set,a=\"DEFAULT\",r=0;r\u003Csettings.sets.length;r++)settings.sets[r].hasOwnProperty(\"countries\")&&settings.sets[r].countries.indexOf(t)>-1&&(a=settings.sets[r].template_set);F()||(O(),a==n)?(m(),u()):h(a)}function u(n){var a=settings.sets.map((function(t,e){return t.currency})).filter((function(t,e,n){return n.indexOf(t)===e})),r=(n=void 0!==n&&n,F());r.hasOwnProperty(\"rates\")&&(Date.now()-r.rates.timestamp)\u002F60\u003C36e4*parseFloat(settings.max_rate_cache)&&(n||r.fcsid==e.json.session_id)?(fx.rates=r.rates.rates,fx.base=r.rates.base,d()):n||(settings.use_openexchangerates?t.getJSON(\"https:\u002F\u002Fopenexchangerates.org\u002Fapi\u002Flatest.json?app_id=\"+settings.use_openexchangerates+\"&prettyprint=false&symbols=\"+a.join(\",\"),(function(t){l(t.rates,t.base),d()})):t.getJSON(\"https:\u002F\u002Fwww.floatrates.com\u002Fdaily\u002F\"+settings.base+\".json\",(function(t){for(var e={},n=0;n\u003Ca.length;n++)(t.hasOwnProperty(a[n].toLowerCase())||a[n]==settings.base)&&(e[a[n]]=a[n]==settings.base?1:t[a[n].toLowerCase()].rate);l(e,settings.base),d()})))}function l(t,e){fx.rates=t,fx.base=e,O({rates:t,base:e,timestamp:Date.now()})}function d(){var n=F();if(!n)return console.log(\"FC.currency: Unable to find locale information\"),!1;var a=D(),i=e.json.item_count>0?e.json.locale_info.int_curr_symbol.trim():n.locale.int_curr_symbol.trim(),s=e.json.item_count>0?e.json.locale_info.mon_decimal_point:n.locale.mon_decimal_point;t(\".fc-currency-price\").each((function(){var a,r=settings.base;t(this).data(\"fc-currency\")&&(r=t(this).data(\"fc-currency\"),a=s);var o=S(t(this).html(),a),c=o;r!=i&&(c=g(c=fx.convert(o,{from:r,to:i}))),t(this).html(e.util.money_format(n.currency_format,_(c)).trim()).data(\"fc-currency\",i).show()})),t('form[action*=\"'+a+'\"]').each((function(){var e=t(this).find('[name=\"price\"], [name$=\":price\"]');if(0==e.length)return!1;var n=settings.base;if(t(this).data(\"fc-currency\"))n=t(this).data(\"fc-currency\");else{var a=\u002F([\\d\\.]+)([A-Z]{3})$\u002Fi,s=e.first().val().replace(\" \",\"\");s.match(a);a.test(s)&&(n=a.exec(s)[2].toUpperCase())}n!=i&&(t(this).find(\"[value*='{p'], [value*='|p']\").each((function(){var t=this.value.match(r);if(t){var e=fx.convert(parseFloat(t[3]),{from:n,to:i});e=g(e),settings.convert_display_only||(this.value=this.value.replace(r,\"$1p$2\"+e.toFixed(2)+i.toLowerCase()+\"$4\"))}})),e.each((function(){var t=S(this.value),e=fx.convert(t,{from:n,to:i});e=g(e),settings.convert_display_only||(this.value=e.toFixed(2)+i.toLowerCase())})),t(this).data(\"fc-currency\",i)),y()}))}function h(t){e.client.request(\"https:\u002F\u002F\"+e.json.config.store_domain+\"\u002Fcart?template_set=\"+t).done((function(){O(),c()}))}function m(){for(var n=F(),a=!1,r=e.json.item_count>0?\"\"==e.json.template_set?\"DEFAULT\":e.json.template_set:n.template_set,i=0;i\u003Csettings.sets.length;i++)settings.sets[i].template_set==r&&(a=r);a&&(t(\"[data-fc-template-set].\"+settings.active_class).removeClass(settings.active_class),t('[data-fc-template-set=\"'+a+'\"]').addClass(settings.active_class))}function g(t){var e=[\"full\",\"half\",\"minimal\",\"none\",!1].indexOf(settings.rounding)>-1?settings.rounding:o.rounding;if(\"full\"==e)return Math.ceil(t);if(\"half\"==e){var n=t%1;return Math.floor(t)+(0==n?0:n\u003C=.5?.5:1)}return\"minimal\"==e?Math.ceil(20*t)\u002F20:t}function _(t){return\"function\"==typeof settings.adjust_price_display&&(adjusted_price=settings.adjust_price_display(t),void 0!==adjusted_price)?parseFloat(adjusted_price):t}function y(){ADJUST={},t(\"input,select\").off(\"change.foxy-dynamic-price\"),t('form[action*=\"'+D()+'\"]').each((function(){var e=t(this),n=\"\",a={products:{}};t(this).find(\"[name='name'],[name^='name||'],[name$=':name'],[name*=':name||']\").each((function(){var t=b(this.name),r=t?t+\":\":\"\",i=S(e.find(\"[name='\"+r+\"price'],[name^='\"+r+\"price||']\").first().val()),s={id:t,code:\"\",base_price:i||0,quantity:1,attributes:{},has_quantity:!1},o=e.find(\"[name='\"+r+\"quantity'],[name^='\"+r+\"quantity||']\"),c=e.find(\"[name='\"+r+\"code'],[name^='\"+r+\"code||']\");if(c.length>0&&(s.code=v(c.first().val()),\"\"===n&&(n=s.code)),o.length>0){var u=0,f=j(o);[\"select\",\"text\",\"hidden\"].indexOf(f)>-1?(s.has_quantity=!0,u=parseFloat(v(o.val()))):[\"radio\",\"checkbox\"].indexOf(f)>-1&&(s.has_quantity=!0,1==o.filter(\":checked\").length&&(u=parseFloat(v(o.filter(\":checked\").val())))),isNaN(u)&&(u=0),s.quantity=u}a.products[t]=s}));e.attr(\"data-fc-form-code\")&&(n=e.attr(\"data-fc-form-code\")),\"\"!==n&&(t(this).find(\"input,select\").each((function(){var e=b(this.name),i=function(t){return x(t)[2]}(this.name),s=j(t(this));if(\"quantity\"!=i)if(\"price\"!=i||\"hidden\"==s){if(\"SELECT\"==this.tagName){var o=!1;t(this).children(\"option\").each((function(){this.value.search(r)>-1&&(o=!0)})),o&&(t(this).data(\"fc-adjust-for\",n),a.products[e].attributes[v(this.name)]=v(this.value),t(this).on(\"change.foxy-dynamic-price\",(function(){ADJUST[t(this).data(\"fc-adjust-for\")].products[e].attributes[v(this.name)]=v(this.value),w()})))}else if(this.value.search(r)>-1)switch(t(this).data(\"fc-adjust-for\",n),t(this).attr(\"type\")){case\"checkbox\":t(this).is(\":checked\")?a.products[e].attributes[v(this.name)]=v(this.value):a.products[e].attributes[v(this.name)]=\"\",t(this).on(\"change.foxy-dynamic-price\",(function(){t(this).is(\":checked\")?ADJUST[t(this).data(\"fc-adjust-for\")].products[e].attributes[v(this.name)]=v(this.value):ADJUST[t(this).data(\"fc-adjust-for\")].products[e].attributes[v(this.name)]=\"\",w()}));break;case\"radio\":a.products[e].attributes.hasOwnProperty(v(this.name))||(a.products[e].attributes[v(this.name)]=\"\"),t(this).is(\":checked\")&&(a.products[e].attributes[v(this.name)]=v(this.value)),t(\"[name='\"+this.name+\"']\").data(\"fc-adjust-for\",n).on(\"change.foxy-dynamic-price\",(function(){ADJUST[t(this).data(\"fc-adjust-for\")].products[e].attributes[v(this.name)]=v(this.value),w()}))}}else t(this).data(\"fc-adjust-for\",n).on(\"change.foxy-dynamic-price\",(function(){var n=0;([\"select\",\"text\"].indexOf(s)>-1||[\"radio\",\"checkbox\"].indexOf(s)>-1&&t(this).is(\":checked\"))&&(n=parseFloat(v(this.value))),isNaN(n)&&(n=0),ADJUST[t(this).data(\"fc-adjust-for\")].products[e].base_price=n,w()}));else t(this).data(\"fc-adjust-for\",n).on(\"change.foxy-dynamic-price\",(function(){var n=0;([\"select\",\"text\"].indexOf(s)>-1||[\"radio\",\"checkbox\"].indexOf(s)>-1&&t(this).is(\":checked\"))&&(n=parseFloat(v(this.value))),isNaN(n)&&(n=0),ADJUST[t(this).data(\"fc-adjust-for\")].products[e].quantity=n,w()}))})),ADJUST[n]=a)})),n._ADJUST=ADJUST,w()}function v(t){return t.replace(\u002F\\|\\|[\\d\\w]+(?:\\|\\|open)?$\u002F,\"\")}function x(t){return(t=v(t)).match(\u002F(?:(\\d+):)?(.*)\u002F)}function b(t){var e=x(t);return i.test(this.name)&&(prefix=parseInt(this.name.match(i)[0])),void 0===e[1]?0:parseInt(e[1])}function j(t){if(\"SELECT\"==t[0].tagName)return\"select\";if(\"INPUT\"==t[0].tagName)switch(t.attr(\"type\").toLowerCase()){case\"text\":case\"number\":case\"tel\":return\"text\";default:return t.attr(\"type\").toLowerCase()}}function w(){for(f in ADJUST){var n=0,i=0;for(p in ADJUST[f].products){var s=ADJUST[f].products[p].base_price,o=0;for(a in ADJUST[f].products[p].attributes){var c=ADJUST[f].products[p].attributes[a].match(r);if(c)switch(c[2]){case\":\":s=parseFloat(c[3]);break;case\"+\":o+=parseFloat(c[3]);break;case\"-\":o-=parseFloat(c[3])}}s+=o,n+=s*=ADJUST[f].products[p].quantity,i+=ADJUST[f].products[p].quantity}\"function\"==typeof fcFormatPrice&&(n=fcFormatPrice(n,f)),\"function\"==typeof fcFormatQuantity&&(i=fcFormatQuantity(i,f));var u=F(),l=e.util.money_format(u.currency_format,_(n)).trim();t(\".\"+f+\"_total, .\"+f+\"-total\").html(l),t(\".\"+f+\"_total_quantity, .\"+f+\"-total-quantity\").html(i)}}function D(){var t=F();return e.json.hasOwnProperty(\"config\")?e.json.config.store_domain:t?t.store_domain:\".foxycart.com\"}function S(t,e){try{var n={};return e&&(n.decimalSeparator=e),numberCurrencyFormat.unformat(t,n)}catch(t){return!1}}function O(t){var n=F(),a=Object.assign({},n);n&&\"\"==e.json.template_set&&void 0!==t||Object.assign(a,{fcsid:e.json.session_id,store_domain:e.json.config.store_domain,template_set:\"\"==e.json.template_set?\"DEFAULT\":e.json.template_set,locale:e.json.locale_info,currency_format:e.json.config.currency_format}),\"object\"==typeof t&&Object.assign(a,{rates:t}),localStorage.setItem(\"fc_currency_config\",JSON.stringify(a))}function F(){var t=JSON.parse(localStorage.getItem(\"fc_currency_config\"));return!(null===t||e.hasOwnProperty(\"json\")&&e.json.hasOwnProperty(\"session_id\")&&t.fcsid!==e.json.session_id)&&t}e.hasOwnProperty(\"util\")||(e.util={},e.util.money_format=function(t,n){if(\"number\"!=typeof n)return null;var a=e.json.locale_info;return t.replace(\u002F%((=.|[+^(!-])*?)(\\d*?)(#(\\d+))?(\\.(\\d+))?([in%])\u002Fg,(function(t,r,i,s,o,c,u,f,l){if(t=u=\"\",\"%\"===l)return\"%\";u=r&&\u002F=.\u002F.test(r)?r.match(\u002F=(.)\u002F)[1]:\" \",o=!r||-1===r.indexOf(\"!\"),s=parseInt(s,10)||0,(i=0>n)&&(n=-n),f=\"\"===f||void 0===f?\"i\"===l?a.int_frac_digits:a.frac_digits:parseInt(f,10);var d=(n=(n=e.util.round(n,f)).toFixed(f)).indexOf(\".\");f=-1!==d?n.slice(0,d):n,d=-1!==d?n.slice(d+1):\"\";var p=function(t,e,n){return(t=t.split(\"\")).splice(e,0,n),t.join(\"\")},h=f.length,m=h\u003C(c=parseInt(c,10));if(m){var g=c-h;f=Array(g+1).join(u)+f}if(-1===r.indexOf(\"^\")){if(c=a.mon_thousands_sep,(h=a.mon_grouping)[0]\u003Cf.length)for(var _=0,y=f.length;_\u003Ch.length&&!(0>=(y-=h[_]));_++)m&&y\u003Cg&&(c=u),f=p(f,y,c);if(0\u003Ch[_-1])for(;y>h[_-1];)y-=h[_-1],m&&y\u003Cg&&(c=u),f=p(f,y,c)}if(u=d?f+a.mon_decimal_point+d:f,g=\"\",o&&(g=\"i\"===l?a.int_curr_symbol:a.currency_symbol),l=i?a.n_sign_posn:a.p_sign_posn,_=i?a.n_sep_by_space:a.p_sep_by_space,y=i?a.n_cs_precedes:a.p_cs_precedes,-1!==r.indexOf(\"(\"))t=(y?g+(1===_?\" \":\"\"):\"\")+u+(y?\"\":(1===_?\" \":\"\")+g),t=i?\"(\"+t+\")\":\" \"+t+\" \";else switch(c=a.positive_sign,o=a.negative_sign,f=i?o:c,d=\"\",l&&(d=Array((i?c:o).length-f.length+1).join(\" \")),l){case 0:t=\"(\"+(y?g+(1===_?\" \":\"\")+u:u+(1===_?\" \":\"\")+g)+\")\";break;case 1:t=d+f+(2===_?\" \":\"\")+(y?g+(1===_?\" \":\"\")+u:u+(1===_?\" \":\"\")+g);break;case 2:t=(y?g+(1===_?\" \":\"\")+u:u+(1===_?\" \":\"\")+g)+(2===_?\" \":\"\")+f+d;break;case 3:t=y?d+f+(2===_?\" \":\"\")+g+(1===_?\" \":\"\")+u:u+(1===_?\" \":\"\")+f+d+(2===_?\" \":\"\")+g;break;case 4:t=y?g+(2===_?\" \":\"\")+d+f+(1===_?\" \":\"\")+u:u+(1===_?\" \":\"\")+g+(2===_?\" \":\"\")+f+d}return 0\u003C(s-=t.length)&&(s=Array(s+1).join(\" \"),t=-1!==r.indexOf(\"-\")?t+s:s+t),t}))},e.util.round=function(t,e){var n=Math.pow(10,e);return 5\u003C=10*t*n%10&&(t+=1\u002F(10*n)),Math.round(t*n)\u002Fn}),n.update=function(){settings=e.hasOwnProperty(\"currency_config\")?Object.assign({},o,e.currency_config):Object.assign({},o),s=e.hasOwnProperty(\"session\")&&!0===e.session.initialized;var t=F();!t||e.hasOwnProperty(\"json\")&&0!=e.json.item_count||(e.hasOwnProperty(\"json\")||(e.json={}),e.json.currency_format=t.currency_format,e.json.locale_info=t.locale,e.json.item_count=0),(t&&!s||s)&&(settings.sets.length>1?s?c():(m(),u(!0)):(t||O(),y()))};var A=\"function\"==typeof e.onLoad?e.onLoad:function(){};e.onLoad=function(){e.client.on(\"ready.done\",n.update),A()},t((function(){n.update(),t(\"body\").on(\"click\",\"[data-fc-template-set]\",(function(e){var n=function(t){for(var e=!1,n=0;n\u003Csettings.sets.length;n++)settings.sets[n].template_set==t&&(e=settings.sets[n]);return e}(t(this).attr(\"data-fc-template-set\"));n&&(e.preventDefault(),s&&h(n.template_set))}))})),e.currency=n}(jQuery,FC);\n\u003C\u002Fscript>",{"type":370,"attrs":1021,"content":1022},{"level":372,"textAlign":55},[1023],{"text":1024,"type":355},"Step 2: Set up forms",{"type":350,"attrs":1026,"content":1027},{"textAlign":55},[1028],{"text":1029,"type":355},"For the dynamic product total calculation to work, you need to set up your product add to cart forms as follows:",{"type":370,"attrs":1031,"content":1033},{"level":1032,"textAlign":55},3,[1034],{"text":1035,"type":355},"Product Code",{"type":350,"attrs":1037,"content":1038},{"textAlign":55},[1039],{"text":1040,"type":355},"Every Foxy based product that you want to dynamically calculate the total for needs to have a unique product code set like this:",{"type":511,"attrs":1042,"content":1043},{"class":55},[1044],{"text":1045,"type":355},"\u003Cinput type=\"hidden\" name=\"code\" value=\"mycode\" \u002F>",{"type":350,"attrs":1047,"content":1048},{"textAlign":55},[1049],{"text":1050,"type":355},"If you have multiple products within a single form, the code from the first product in your form will be used as the code for the form. If you're not able to know what product code is first, or you just want to set a specific code to use for the price modifier without relying on the product's code, you can also add a data attribute to your form like this:",{"type":511,"attrs":1052,"content":1053},{"class":55},[1054],{"text":1055,"type":355},"\u003Cform ... data-fc-form-code=\"mycode\">",{"type":370,"attrs":1057,"content":1058},{"level":1032,"textAlign":55},[1059],{"text":1060,"type":355},"Total Price Element",{"type":350,"attrs":1062,"content":1063},{"textAlign":55},[1064,1066,1070],{"text":1065,"type":355},"Next, set an element for where the total product cost is shown and updated, by combining the code from above and ",{"text":1067,"type":355,"marks":1068},"-total",[1069],{"type":360},{"text":1071,"type":355}," as its class, like this:",{"type":511,"attrs":1073,"content":1074},{"class":55},[1075],{"text":1076,"type":355},"\u003Ch4 class=\"mycode-total\">$20.00\u003C\u002Fh4>",{"type":350,"attrs":1078,"content":1079},{"textAlign":55},[1080,1082,1086],{"text":1081,"type":355},"If you'd like to show the total quantity, you can also do that using an element with a class that is a combination of the code and ",{"text":1083,"type":355,"marks":1084},"-total-quantity",[1085],{"type":360},{"text":1071,"type":355},{"type":511,"attrs":1088,"content":1089},{"class":55},[1090],{"text":1091,"type":355},"\u003Cp class=\"mycode-total-quantity\">0\u003C\u002Fp>",{"type":350,"attrs":1093,"content":1094},{"textAlign":55},[1095,1097,1101,1102,1106],{"text":1096,"type":355},"You can also use classes with underscores instead if needed, such as ",{"text":1098,"type":355,"marks":1099},"mycode_total",[1100],{"type":360},{"text":362,"type":355},{"text":1103,"type":355,"marks":1104},"mycode_total_quantity",[1105],{"type":360},{"text":368,"type":355},{"type":370,"attrs":1108,"content":1109},{"level":1032,"textAlign":55},[1110],{"text":1111,"type":355},"Product Price Element",{"type":350,"attrs":1113,"content":1114},{"textAlign":55},[1115,1117,1121,1122,1125,1127,1130],{"text":1116,"type":355},"As with a normal Foxy product form, the ",{"text":1118,"type":355,"marks":1119},"name",[1120],{"type":360},{"text":362,"type":355},{"text":364,"type":355,"marks":1123},[1124],{"type":360},{"text":1126,"type":355}," inputs are required. The snippet will use the ",{"text":364,"type":355,"marks":1128},[1129],{"type":360},{"text":1131,"type":355}," inputs in the form to determine the base prices for the products present.",{"type":350,"attrs":1133,"content":1134},{"textAlign":55},[1135,1137,1141],{"text":1136,"type":355},"If you wanted to specify a different currency for that product than your store's default currency as the starting base price, you can append the currency code to the price (like ",{"text":1138,"type":355,"marks":1139},"29.95eur",[1140],{"type":360},{"text":1142,"type":355}," for €29,95). It will use that currency as the base currency for all products within that form, so ensure that if you take this approach, all prices (including product option modifiers) are in that currency.",{"type":370,"attrs":1144,"content":1145},{"level":372,"textAlign":55},[1146],{"text":1147,"type":355},"Step 3: Configuration for currency conversion",{"type":350,"attrs":1149,"content":1150},{"textAlign":55},[1151],{"text":1152,"type":355},"By default, the snippet will just handle calculating the dynamic product price. It can also support dynamically converting your product prices to different currencies, as well as automatically assigning a currency based on the location of a customer.",{"type":998,"content":1154},[1155],{"type":350,"attrs":1156,"content":1157},{"textAlign":55},[1158,1162],{"text":1159,"type":355,"marks":1160},"Note:",[1161],{"type":841},{"text":1163,"type":355}," The dynamic currency conversion feature relies on your store having multiple template sets configured. If you haven't set up multiple template sets on your Foxy store yet, you can see information on creating those here.",{"type":350,"attrs":1165,"content":1166},{"textAlign":55},[1167,1169,1173],{"text":1168,"type":355},"If you'd like to also enable multiple currencies for your product prices, the snippet includes a number of options for configuring this functionality. The configuration is applied with javascript through an object variable of ",{"text":1170,"type":355,"marks":1171},"FC.currency_config",[1172],{"type":360},{"text":1174,"type":355},". These are the different configuration options available:",{"type":522,"content":1176},[1177,1200,1242,1265,1294,1319,1339,1410,1434,1460],{"type":525,"content":1178},[1179],{"type":350,"attrs":1180,"content":1181},{"textAlign":55},[1182,1186,1188,1192,1194,1198],{"text":1183,"type":355,"marks":1184},"base",[1185],{"type":360},{"text":1187,"type":355}," ",{"text":1189,"type":355,"marks":1190},"Accepts:",[1191],{"type":841},{"text":1193,"type":355}," String, 3 character currency code ",{"text":1195,"type":355,"marks":1196},"Description:",[1197],{"type":841},{"text":1199,"type":355}," Set to the currency that your product prices are in by default. Required for dynamic currency conversion.",{"type":525,"content":1201},[1202],{"type":350,"attrs":1203,"content":1204},{"textAlign":55},[1205,1209,1210,1213,1215,1218,1220,1224,1226,1230,1232,1235,1236,1240],{"text":1206,"type":355,"marks":1207},"sets",[1208],{"type":360},{"text":1187,"type":355},{"text":1189,"type":355,"marks":1211},[1212],{"type":841},{"text":1214,"type":355}," Array of different currencies available for your store ",{"text":1195,"type":355,"marks":1216},[1217],{"type":841},{"text":1219,"type":355}," This array will contain the details for each template set configured on ",{"text":1221,"type":355,"marks":1222},"Settings > Templates",[1223],{"type":841},{"text":1225,"type":355}," that you want to use on your store. Each object in the array includes three variables, ",{"text":1227,"type":355,"marks":1228},"currency",[1229],{"type":360},{"text":1231,"type":355},", ",{"text":357,"type":355,"marks":1233},[1234],{"type":360},{"text":362,"type":355},{"text":1237,"type":355,"marks":1238},"countries",[1239],{"type":360},{"text":1241,"type":355},". Required when using dynamic currency conversion.",{"type":525,"content":1243},[1244],{"type":350,"attrs":1245,"content":1246},{"textAlign":55},[1247,1251,1252,1255,1256,1259,1261,1264],{"text":1248,"type":355,"marks":1249},"sets.currency",[1250],{"type":360},{"text":1187,"type":355},{"text":1189,"type":355,"marks":1253},[1254],{"type":841},{"text":1193,"type":355},{"text":1195,"type":355,"marks":1257},[1258],{"type":841},{"text":1260,"type":355}," Set to the currency that this particular template set uses. Required when including ",{"text":1206,"type":355,"marks":1262},[1263],{"type":360},{"text":368,"type":355},{"type":525,"content":1266},[1267],{"type":350,"attrs":1268,"content":1269},{"textAlign":55},[1270,1274,1275,1278,1280,1283,1285,1288,1290,1293],{"text":1271,"type":355,"marks":1272},"sets.template_set",[1273],{"type":360},{"text":1187,"type":355},{"text":1189,"type":355,"marks":1276},[1277],{"type":841},{"text":1279,"type":355}," String, Template set code ",{"text":1195,"type":355,"marks":1281},[1282],{"type":841},{"text":1284,"type":355}," Set to the code of the template set, as set on ",{"text":1221,"type":355,"marks":1286},[1287],{"type":841},{"text":1289,"type":355},". Required when including ",{"text":1206,"type":355,"marks":1291},[1292],{"type":360},{"text":368,"type":355},{"type":525,"content":1295},[1296],{"type":350,"attrs":1297,"content":1298},{"textAlign":55},[1299,1303,1304,1307,1309,1312,1314,1317],{"text":1300,"type":355,"marks":1301},"sets.countries",[1302],{"type":360},{"text":1187,"type":355},{"text":1189,"type":355,"marks":1305},[1306],{"type":841},{"text":1308,"type":355}," Array of 2 character country codes ",{"text":1195,"type":355,"marks":1310},[1311],{"type":841},{"text":1313,"type":355}," A list of countries that will automatically be set to this template set on initial page load. If a customer visits that doesn't match any country in a set, then it will switch to the ",{"text":433,"type":355,"marks":1315},[1316],{"type":360},{"text":1318,"type":355}," template set. If not set, this template set will not be set automatically, but could be selected manually.",{"type":525,"content":1320},[1321],{"type":350,"attrs":1322,"content":1323},{"textAlign":55},[1324,1328,1329,1332,1334,1337],{"text":1325,"type":355,"marks":1326},"max_rate_cache",[1327],{"type":360},{"text":1187,"type":355},{"text":1189,"type":355,"marks":1330},[1331],{"type":841},{"text":1333,"type":355}," Number ",{"text":1195,"type":355,"marks":1335},[1336],{"type":841},{"text":1338,"type":355}," The number of hours that the rates should be cached before being refreshed. Defaults to 12 hours.",{"type":525,"content":1340},[1341],{"type":350,"attrs":1342,"content":1343},{"textAlign":55},[1344,1348,1349,1352,1353,1357,1358,1362,1363,1367,1368,1372,1373,1376,1378,1381,1383,1386,1388,1392,1393,1396,1397,1401,1402,1405,1407],{"text":1345,"type":355,"marks":1346},"rounding",[1347],{"type":360},{"text":1187,"type":355},{"text":1189,"type":355,"marks":1350},[1351],{"type":841},{"text":1187,"type":355},{"text":1354,"type":355,"marks":1355},"full",[1356],{"type":360},{"text":1231,"type":355},{"text":1359,"type":355,"marks":1360},"half",[1361],{"type":360},{"text":1231,"type":355},{"text":1364,"type":355,"marks":1365},"minimal",[1366],{"type":360},{"text":1231,"type":355},{"text":1369,"type":355,"marks":1370},"none",[1371],{"type":360},{"text":1187,"type":355},{"text":1195,"type":355,"marks":1374},[1375],{"type":841},{"text":1377,"type":355}," Configure how the prices should be rounded when being converted. ",{"text":1354,"type":355,"marks":1379},[1380],{"type":360},{"text":1382,"type":355}," will round up to the nearest whole number, ",{"text":1359,"type":355,"marks":1384},[1385],{"type":360},{"text":1387,"type":355}," will round up to the nearest ",{"text":1389,"type":355,"marks":1390},".50",[1391],{"type":360},{"text":1231,"type":355},{"text":1364,"type":355,"marks":1394},[1395],{"type":360},{"text":1387,"type":355},{"text":1398,"type":355,"marks":1399},"0.05",[1400],{"type":360},{"text":362,"type":355},{"text":1369,"type":355,"marks":1403},[1404],{"type":360},{"text":1406,"type":355}," will not round at all. Default is ",{"text":1364,"type":355,"marks":1408},[1409],{"type":360},{"type":525,"content":1411},[1412],{"type":350,"attrs":1413,"content":1414},{"textAlign":55},[1415,1419,1420,1423,1425,1428,1430],{"text":1416,"type":355,"marks":1417},"active_class",[1418],{"type":360},{"text":1187,"type":355},{"text":1189,"type":355,"marks":1421},[1422],{"type":841},{"text":1424,"type":355}," String ",{"text":1195,"type":355,"marks":1426},[1427],{"type":841},{"text":1429,"type":355}," Customise what class is added to the template set selectors for the current active template set. Default is ",{"text":1431,"type":355,"marks":1432},"active",[1433],{"type":360},{"type":525,"content":1435},[1436],{"type":350,"attrs":1437,"content":1438},{"textAlign":55},[1439,1443,1444,1447,1448,1451,1453,1458],{"text":1440,"type":355,"marks":1441},"use_openexchangerates",[1442],{"type":360},{"text":1187,"type":355},{"text":1189,"type":355,"marks":1445},[1446],{"type":841},{"text":1424,"type":355},{"text":1195,"type":355,"marks":1449},[1450],{"type":841},{"text":1452,"type":355}," Set to the API key for your OpenExchangeRates account if you would prefer to use it instead of the default ",{"text":1454,"type":355,"marks":1455},"https:\u002F\u002Ffloatrates.com",[1456],{"type":388,"attrs":1457},{"href":1454,"uuid":55,"anchor":55,"target":55,"linktype":31},{"text":1459,"type":355}," source for currency rates.",{"type":525,"content":1461},[1462],{"type":350,"attrs":1463,"content":1464},{"textAlign":55},[1465,1469,1470,1473,1475,1478],{"text":1466,"type":355,"marks":1467},"adjust_price_display",[1468],{"type":360},{"text":1187,"type":355},{"text":1189,"type":355,"marks":1471},[1472],{"type":841},{"text":1474,"type":355}," Function ",{"text":1195,"type":355,"marks":1476},[1477],{"type":841},{"text":1479,"type":355}," Create a function to modify only the price displayed on the page, for example to make a tax exclusive price in your add to cart to be displayed as tax inclusive to the customer. The function is passed a single argument for the price to be modified, and the function must return the modified price as well.",{"type":998,"content":1481},[1482],{"type":350,"attrs":1483,"content":1484},{"textAlign":55},[1485,1488,1490,1493,1494,1497],{"text":1004,"type":355,"marks":1486},[1487],{"type":841},{"text":1489,"type":355}," All of the configuration options are optional, but to offer dynamic currency conversion ",{"text":1183,"type":355,"marks":1491},[1492],{"type":360},{"text":362,"type":355},{"text":1206,"type":355,"marks":1495},[1496],{"type":360},{"text":1498,"type":355}," are required.",{"type":350,"attrs":1500,"content":1501},{"textAlign":55},[1502],{"text":1503,"type":355},"As an example, assume you had four template sets on your store. The store's DEFAULT template set is configured for USD, as are the product prices on the website by default, but there are also template sets for CAD, as well as Euro in both French and German languages. Your configuration could look like this, included above the snippet from step 1:",{"type":511,"attrs":1505,"content":1506},{"class":55},[1507],{"text":1508,"type":355},"\u003Cscript>\nvar FC = FC || {};\nFC.currency_config = {\n    'base': 'USD',\n    'sets': [\n        {\n            'currency': 'USD',\n            'template_set': 'DEFAULT',\n            'countries': ['US']\n        },\n        {\n            'currency': 'CAD',\n            'template_set': 'Canada',\n            'countries': ['CA']\n        },\n        {\n            'currency': 'EUR',\n            'template_set': 'Germany',\n            'countries': ['DE', 'BE']\n        },\n        {\n            'currency': 'EUR',\n            'template_set': 'France',\n            'countries': ['FR']\n        },\n    ]\n};\n\u003C\u002Fscript>",{"type":350,"attrs":1510,"content":1511},{"textAlign":55},[1512,1514,1518,1520,1524],{"text":1513,"type":355},"If a customer from Germany or Belgium visits your website, it will automatically apply the template set from your store with a code of ",{"text":1515,"type":355,"marks":1516},"Germany",[1517],{"type":360},{"text":1519,"type":355},", and then convert the prices to all be in Euro. If someone visits from Canada, then it will update to the ",{"text":1521,"type":355,"marks":1522},"Canada",[1523],{"type":360},{"text":1525,"type":355}," template set, and change the prices to Canadian dollars.",{"type":350,"attrs":1527,"content":1528},{"textAlign":55},[1529,1531,1534,1535,1539,1541,1544],{"text":1530,"type":355},"If curreny conversion is enabled for the snippet, then any ",{"text":364,"type":355,"marks":1532},[1533],{"type":360},{"text":362,"type":355},{"text":1536,"type":355,"marks":1537},"p",[1538],{"type":360},{"text":1540,"type":355}," product option modifiers will be dynamically converted to the current currency of the cart, rounding as specified by the ",{"text":1345,"type":355,"marks":1542},[1543],{"type":360},{"text":1545,"type":355}," configuration option.",{"type":350,"attrs":1547,"content":1548},{"textAlign":55},[1549],{"text":1550,"type":355},"Here is an example with all configuration options for the snippet:",{"type":511,"attrs":1552,"content":1553},{"class":55},[1554],{"text":1555,"type":355},"\u003Cscript>\nvar FC = FC || {};\nFC.currency_config = {\n    'base': 'USD',\n    'sets': [\n        {\n            'currency': 'USD',\n            'template_set': 'DEFAULT',\n            'countries': ['US']\n        },\n        {\n            'currency': 'CAD',\n            'template_set': 'Canada',\n            'countries': ['CA']\n        }\n    ],\n    'max_rate_cache': 12,\n    'rounding': 'half',\n    'active_class': 'currency-option-active',\n    'use_openexchangerates': 'abc123abc123abc123',\n    'adjust_price_display': function(price) { return price * 1.25; }\n};\n\u003C\u002Fscript>",{"type":998,"content":1557},[1558],{"type":350,"attrs":1559,"content":1560},{"textAlign":55},[1561,1565,1566,1569],{"text":1562,"type":355,"marks":1563},"Important:",[1564],{"type":841},{"text":1187,"type":355},{"text":1159,"type":355,"marks":1567},[1568],{"type":841},{"text":1570,"type":355}," The above is simply an example of what it looks like with all attributes for the configuration option. You will not want to copy this to use directly in your set up, but rather review each configuration option and only add them if you actually need them.",{"type":998,"content":1572},[1573],{"type":350,"attrs":1574,"content":1575},{"textAlign":55},[1576,1579,1581,1586,1588,1594,1596,1599],{"text":1159,"type":355,"marks":1577},[1578],{"type":841},{"text":1580,"type":355}," By default this snippet will pull the currency conversion rates from ",{"text":1582,"type":355,"marks":1583},"floatrates.com",[1584],{"type":388,"attrs":1585},{"href":1454,"uuid":55,"anchor":55,"target":55,"linktype":31},{"text":1587,"type":355},". It does also support ",{"text":1589,"type":355,"marks":1590},"Open Exchange Rates",[1591],{"type":388,"attrs":1592},{"href":1593,"uuid":55,"anchor":55,"target":55,"linktype":31},"https:\u002F\u002Fopenexchangerates.org\u002F",{"text":1595,"type":355}," (which is also what we use for our own default currency conversion in the cart), but you'll need to create your own account and specify your API key using the ",{"text":1440,"type":355,"marks":1597},[1598],{"type":360},{"text":1545,"type":355},{"type":370,"attrs":1601,"content":1602},{"level":372,"textAlign":55},[1603],{"text":1604,"type":355},"Step 4: Set up a currency switcher",{"type":350,"attrs":1606,"content":1607},{"textAlign":55},[1608],{"text":1609,"type":355},"Although the snippet will automatically set a customers template set based on their location, you'll probably also want to allow customers to switch template sets on the fly, or perhaps have a modal window that displays to allow them to select an option.",{"type":350,"attrs":1611,"content":1612},{"textAlign":55},[1613,1615,1619],{"text":1614,"type":355},"You can set up your currency switcher however you want - it just requires a data attribute of ",{"text":1616,"type":355,"marks":1617},"data-fc-template-set",[1618],{"type":360},{"text":1620,"type":355}," be added to each link that designates what currency set it is for from your configuration from step 3.",{"type":350,"attrs":1622,"content":1623},{"textAlign":55},[1624,1626,1630],{"text":1625,"type":355},"For example, to have a link use the German Euro template set from the earlier example, you would add a data attribute of ",{"text":1627,"type":355,"marks":1628},"data-fc-template-set=\"Germany\"",[1629],{"type":360},{"text":1631,"type":355}," to the link element.",{"type":350,"attrs":1633,"content":1634},{"textAlign":55},[1635],{"text":1636,"type":355},"Here's an example of what the currency switcher could look like:",{"type":511,"attrs":1638,"content":1639},{"class":55},[1640],{"text":1641,"type":355},"\u003Cp>Select a locale: \u003Ca data-fc-template-set=\"DEFAULT\" href=\"#\">USD\u003C\u002Fa> |  \u003Ca data-fc-template-set=\"Canada\" href=\"#\">CAD\u003C\u002Fa> | \u003Ca data-fc-template-set=\"Germany\" href=\"#\">EUR (DE)\u003C\u002Fa> | \u003Ca data-fc-template-set=\"France\" href=\"#\">EUR (FR)\u003C\u002Fa>\u003C\u002Fp>",{"type":350,"attrs":1643,"content":1644},{"textAlign":55},[1645,1646,1649,1651,1654,1656,1660],{"text":660,"type":355},{"text":1616,"type":355,"marks":1647},[1648],{"type":360},{"text":1650,"type":355}," value needs to match the ",{"text":357,"type":355,"marks":1652},[1653],{"type":360},{"text":1655,"type":355}," from the ",{"text":1657,"type":355,"marks":1658},"FC.currency_config.sets",[1659],{"type":360},{"text":1545,"type":355},{"type":350,"attrs":1662,"content":1663},{"textAlign":55},[1664,1666,1669,1671,1674],{"text":1665,"type":355},"For styling - note that whichever template set is active will have a class added. By default the added class will be ",{"text":1431,"type":355,"marks":1667},[1668],{"type":360},{"text":1670,"type":355},", but you can customise that using the ",{"text":1416,"type":355,"marks":1672},[1673],{"type":360},{"text":1545,"type":355},{"type":370,"attrs":1676,"content":1677},{"level":372,"textAlign":55},[1678],{"text":1679,"type":355},"Step 5: Allowing currency conversion for other prices",{"type":350,"attrs":1681,"content":1682},{"textAlign":55},[1683,1685,1689],{"text":1684,"type":355},"You may also have some prices listed on your site outside of your add to cart forms. For example, on a category listing page. To have these prices be converted to the currency of the cart, you just need to add a class to the element of ",{"text":1686,"type":355,"marks":1687},".fc-currency-price",[1688],{"type":360},{"text":1690,"type":355},", and the snippet will take care of the rest. For example:",{"type":511,"attrs":1692,"content":1693},{"class":55},[1694],{"text":1695,"type":355},"\u003Ch4 class=\"fc-currency-price\">$15.99\u003C\u002Fh4>",{"type":370,"attrs":1697,"content":1698},{"level":372,"textAlign":55},[1699],{"text":1700,"type":355},"That's it!",{"type":350,"attrs":1702,"content":1703},{"textAlign":55},[1704],{"text":1705,"type":355},"That should be it. Give your site a test and confirm that everything is working as you expect it to.",{"type":370,"attrs":1707,"content":1708},{"level":372,"textAlign":55},[1709],{"text":1710,"type":355},"Advanced: Dynamically triggering recalculation",{"type":350,"attrs":1712,"content":1713},{"textAlign":55},[1714],{"text":1715,"type":355},"If for whatever reason you need to trigger the dynamic price calculations to be recreated - for example if you dynamically add in a new input that includes a price modifier, you can execute this function in your javascript:",{"type":511,"attrs":1717,"content":1718},{"class":55},[1719],{"text":1720,"type":355},"FC.currency.update();",{"type":370,"attrs":1722,"content":1723},{"level":372,"textAlign":55},[1724],{"text":1725,"type":355},"Notes and Limitations",{"type":522,"content":1727},[1728,1747,1759],{"type":525,"content":1729},[1730],{"type":350,"attrs":1731,"content":1732},{"textAlign":55},[1733,1735,1739,1741,1745],{"text":1734,"type":355},"On the first time this snippet is run, it is run ",{"text":1736,"type":355,"marks":1737},"after",[1738],{"type":841},{"text":1740,"type":355}," the Foxy javascript has been initialized. As such - there may be a small time while the page is loading before the dynamic total is calculated. The snippet then uses your browser's ",{"text":1742,"type":355,"marks":1743},"localStorage",[1744],{"type":360},{"text":1746,"type":355}," to store key information to execute on page load for subsequent pages to minimise any delay on converting.",{"type":525,"content":1748},[1749],{"type":350,"attrs":1750,"content":1751},{"textAlign":55},[1752,1754,1757],{"text":1753,"type":355},"Currently only product ",{"text":364,"type":355,"marks":1755},[1756],{"type":360},{"text":1758,"type":355}," inputs and price product option modifiers are converted. Product level discounts are not currently converted.",{"type":525,"content":1760},[1761],{"type":350,"attrs":1762,"content":1763},{"textAlign":55},[1764],{"text":1765,"type":355},"Product links are also not currently converted.",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":1767},{},"How to update product prices as options change, switch template sets, and convert prices to other currencies before add to cart.",[],"update-product-totals-with-multicurrency-support-before-add-to-cart","help\u002Farticles\u002Fupdate-product-totals-with-multicurrency-support-before-add-to-cart",-4370,[],"f470304a-b3c6-4d9b-830c-37358b6a1bc8",[],{"name":1777,"created_at":1778,"published_at":1779,"updated_at":1780,"id":1781,"uuid":42,"content":1782,"slug":43,"full_slug":43,"sort_by_date":55,"position":1959,"tag_list":1960,"is_startpage":24,"parent_id":55,"meta_data":55,"group_id":1961,"first_published_at":1962,"release_id":55,"lang":61,"path":55,"alternates":1963,"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":1783,"_uid":1786,"title":1787,"action":1788,"fields":1789,"method":1935,"columns":1936,"subtitle":1950,"component":43,"button_text":1956,"submit_title":1957,"submit_subtitle":1958},{"_uid":1784,"title":1777,"plugin":1785,"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",[1790,1794,1798,1906,1909,1914,1929],{"_uid":1791,"name":1118,"type":355,"label":1792,"options":13,"required":33,"component":1793,"placeholder":13},"9a70b226-2036-4f90-a052-b3efa61c5896","Name","form___field",{"_uid":1795,"name":1796,"type":1796,"label":1797,"options":13,"required":33,"component":1793,"placeholder":13},"86ba35be-ff43-4a28-8633-14052a8f6622","email","Email Address",{"_uid":1799,"name":1800,"type":1801,"label":1802,"options":1803,"required":33,"component":1793,"conditions":1804,"placeholder":13},"3f827475-492c-4f97-aa1e-2386ac263b6c","topic","select","Topic","Presales, Support, Billing, Partnerships, Order Enquiry, Other",[1805,1860,1870,1877,1885,1893,1899],{"_uid":1806,"equals":1807,"fields":1808,"component":1859},"e21d97dd-e68e-4fa6-ba97-bc40f3041dde","Order Enquiry",[1809],{"_uid":1810,"body":1811,"type":1857,"title":13,"component":1858},"b64992bc-6d53-48b8-b7a0-d81e5a062e50",{"type":347,"content":1812},[1813],{"type":350,"content":1814},[1815,1817,1824,1826,1828,1829,1833,1835,1840,1848,1850,1855],{"text":1816,"type":355},"We are ",{"text":1818,"type":355,"marks":1819},"Foxy.io",[1820],{"type":388,"attrs":1821},{"href":1822,"uuid":55,"anchor":55,"custom":1823,"target":55,"linktype":31},"http:\u002F\u002FFoxy.io",{},{"text":1825,"type":355},", 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":1827},"hard_break",{"type":1827},{"text":1830,"type":355,"marks":1831},"NOTE:",[1832],{"type":841},{"text":1834,"type":355}," We are ",{"text":1836,"type":355,"marks":1837},"not ",[1838],{"type":1839},"italic",{"text":1841,"type":355,"marks":1842},"Foxy.in",[1843,1847],{"type":388,"attrs":1844},{"href":1845,"uuid":55,"anchor":55,"custom":1846,"target":55,"linktype":31},"http:\u002F\u002FFoxy.in",{},{"type":1839},{"text":1849,"type":355},". We are not in any way affiliated with ",{"text":1841,"type":355,"marks":1851},[1852],{"type":388,"attrs":1853},{"href":1845,"uuid":55,"anchor":55,"custom":1854,"target":55,"linktype":31},{},{"text":1856,"type":355},", and cannot help in any way with your order from that website.","danger","global___alert","form___condition",{"_uid":1861,"equals":1862,"fields":1863,"component":1859},"8765c3e1-25cf-44aa-b8ea-fc6094acf9c3","Presales",[1864],{"_uid":1865,"name":1866,"type":1867,"label":13,"options":13,"required":24,"component":1793,"conditions":1868,"placeholder":13,"default_value":1869},"cf464f8e-d643-4f6e-af29-d3abffaf7380","department_email_address","hidden",[],"hello@foxy.io",{"_uid":1871,"equals":204,"fields":1872,"component":1859},"4007b6d8-77e5-421d-bd1e-6f336dd853fb",[1873],{"_uid":1874,"name":1866,"type":1867,"label":13,"options":13,"required":24,"component":1793,"conditions":1875,"placeholder":13,"default_value":1876},"7b4c6aa5-a68c-45e0-9ce1-0a36af10c0c2",[],"help@foxy.io",{"_uid":1878,"equals":1879,"fields":1880,"component":1859},"1dbb8f11-613d-43cd-9e09-1b94f6e19219","Billing",[1881],{"_uid":1882,"name":1866,"type":1867,"label":13,"options":13,"required":24,"component":1793,"conditions":1883,"placeholder":13,"default_value":1884},"a0ac0d1b-bc4f-4a6c-a682-581d450b0b73",[],"help+billing@foxy.io",{"_uid":1886,"equals":1887,"fields":1888,"component":1859},"a0a53a50-7172-4a29-ba58-181e38874e12","Partnerships",[1889],{"_uid":1890,"name":1866,"type":1867,"label":13,"options":13,"required":24,"component":1793,"conditions":1891,"placeholder":13,"default_value":1892},"7aa011d9-f374-4aed-b5a5-929b54aaf152",[],"partners@foxy.io",{"_uid":1894,"equals":1807,"fields":1895,"component":1859},"a4cd431f-25d5-41c7-bfdc-02c908c8fb47",[1896],{"_uid":1897,"name":1866,"type":1867,"label":13,"options":13,"required":24,"component":1793,"conditions":1898,"placeholder":13,"default_value":1869},"f5d52168-d6ae-451b-94ee-2ced1cbd28ad",[],{"_uid":1900,"equals":1901,"fields":1902,"component":1859},"25aba1ed-eb41-4bbc-aa89-f7a7167ea86e","Other",[1903],{"_uid":1904,"name":1866,"type":1867,"label":13,"options":13,"required":24,"component":1793,"conditions":1905,"placeholder":13,"default_value":1869},"f40dfaef-c203-4b71-bf4e-e1b43cef192b",[],{"_uid":1907,"component":1908},"e9c53a05-f40a-4510-aaf8-bc072a235a0c","form___subject",{"_uid":1910,"name":1911,"type":1912,"label":1913,"options":13,"required":33,"component":1793,"placeholder":13},"a4c4d385-fff4-4978-99fb-b68cfea623d6","message","textarea","Message",{"_uid":1915,"name":1916,"type":1801,"label":1917,"options":1918,"required":33,"component":1793,"conditions":1919,"placeholder":13},"8a3c9f85-f438-427d-9c7a-d7b295a14b5b","existing_user","Are you an existing user?","No, Yes",[1920],{"_uid":1921,"equals":1922,"fields":1923,"component":1859},"115933d6-262a-4b59-8fa8-579c5ad73de1","Yes",[1924],{"_uid":1925,"name":1926,"type":355,"label":1927,"options":13,"required":33,"component":1793,"conditions":1928,"placeholder":13},"44b6ff23-98f0-4e95-b7f5-c23e06415c2d","subdomain","Store Subdomain",[],{"_uid":1930,"name":1931,"type":1801,"label":1932,"options":1933,"required":33,"component":1793,"conditions":1934,"placeholder":13},"922a5cef-3af2-4113-8855-36c7910e3ee3","user_type","What type of user are you?","Developer, Designer, Merchant",[],"POST",[1937],{"_uid":1938,"text":1939,"title":1948,"component":1949},"7323b90d-a93a-4bf1-baa9-20d0b7ead61b",{"type":347,"content":1940},[1941],{"type":350,"content":1942},[1943,1945,1946],{"text":1944,"type":355},"855.369.9227",{"type":1827},{"text":1947,"type":355},"9:30am-6pm Central M-F","Pre-sales, Sales, & Partnerships","contact___footer_column",{"type":347,"content":1951},[1952],{"type":350,"content":1953},[1954],{"text":1955,"type":355},"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",[],{},1785861254361]