[{"data":1,"prerenderedAt":751},["ShallowReactive",2],{"header:help":3,"footer:default":63,"story:navigation\u002Fsearch:help":243,"story:help\u002Fcategories":281,"story:help\u002Farticles\u002Fuse-the-admin-tool-to-sign-products-with-hmac":307,"no-guide:use-the-admin-tool-to-sign-products-with-hmac":55,"article:\u002Fhelp\u002Farticles\u002Fuse-the-admin-tool-to-sign-products-with-hmac":493,"story:contact":507,"help:tree:4df213b2-776b-4228-85d1-abfbd5730823:ff9269e2-2402-422e-aa80-19acc150b78a":696,"_apollo:default":750},{"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":485,"full_slug":486,"sort_by_date":55,"position":487,"tag_list":488,"is_startpage":24,"parent_id":489,"meta_data":55,"group_id":490,"first_published_at":491,"release_id":55,"lang":61,"path":55,"alternates":492,"default_full_slug":55,"translated_slugs":55},"Use the admin tool to sign products with HMAC","2026-06-29T20:33:58.987Z","2026-07-29T19:33:38.187Z","2026-07-29T19:33:38.204Z",192821817347947,"4df213b2-776b-4228-85d1-abfbd5730823",{"_uid":315,"body":316,"name":308,"image":479,"pinned":24,"summary":481,"category":482,"component":259,"related_articles":484},"a79d5d26-3c26-472f-aa37-9cee0f65d9f0",{"type":317,"content":318},"doc",[319,326,333,347,352,397,402,407],{"type":320,"attrs":321,"content":322},"paragraph",{"textAlign":55},[323],{"text":324,"type":325},"The Foxy admin builds product links and forms for you and signs them automatically. This is useful for static sites, one-off forms, or any case where you want signed links without implementing a signing library.","text",{"type":327,"attrs":328,"content":330},"heading",{"level":329,"textAlign":55},3,[331],{"text":332,"type":325},"Before you start",{"type":320,"attrs":334,"content":335},{"textAlign":55},[336,338,345],{"text":337,"type":325},"Enable HMAC product validation for your store first. Links and forms are only signed once that setting is on. See ",{"text":339,"type":325,"marks":340},"Enable HMAC product validation",[341],{"type":342,"attrs":343},"link",{"href":344,"uuid":55,"anchor":55,"target":55,"linktype":31},"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fenable-hmac-product-validation",{"text":346,"type":325},".",{"type":327,"attrs":348,"content":349},{"level":329,"textAlign":55},[350],{"text":351,"type":325},"Steps",{"type":353,"attrs":354,"content":356},"ordered_list",{"order":355},1,[357,371,383,390],{"type":358,"content":359},"list_item",[360],{"type":320,"attrs":361,"content":362},{"textAlign":55},[363,365],{"text":364,"type":325},"Go to the ",{"text":366,"type":325,"marks":367},"Foxy admin",[368],{"type":342,"attrs":369},{"href":370,"uuid":55,"anchor":55,"target":55,"linktype":31},"https:\u002F\u002Fadmin.foxy.io",{"type":358,"content":372},[373],{"type":320,"attrs":374,"content":375},{"textAlign":55},[376,378],{"text":377,"type":325},"Go to ",{"text":379,"type":325,"marks":380},"Link & Form Builder",[381],{"type":382},"bold",{"type":358,"content":384},[385],{"type":320,"attrs":386,"content":387},{"textAlign":55},[388],{"text":389,"type":325},"Build your item: name, price, code, and any options or parameters you need",{"type":358,"content":391},[392],{"type":320,"attrs":393,"content":394},{"textAlign":55},[395],{"text":396,"type":325},"Copy the generated link or form and paste it into your page",{"type":320,"attrs":398,"content":399},{"textAlign":55},[400],{"text":401,"type":325},"The output is signed, so nothing further is needed.",{"type":327,"attrs":403,"content":404},{"level":329,"textAlign":55},[405],{"text":406,"type":325},"Notes",{"type":408,"content":409},"bullet_list",[410,417,424,443,464],{"type":358,"content":411},[412],{"type":320,"attrs":413,"content":414},{"textAlign":55},[415],{"text":416,"type":325},"If your store already has live add to cart links and forms, sign those before enabling validation. Validation is all or nothing, so turning it on breaks any unsigned link still on your site.",{"type":358,"content":418},[419],{"type":320,"attrs":420,"content":421},{"textAlign":55},[422],{"text":423,"type":325},"Any change to a signed product's values, including price, breaks the signature. Rebuild the link in the builder whenever a product changes.",{"type":358,"content":425},[426],{"type":320,"attrs":427,"content":428},{"textAlign":55},[429,431,435,437,441],{"text":430,"type":325},"Signing depends on your store secret, at ",{"text":432,"type":325,"marks":433},"Settings > General",[434],{"type":382},{"text":436,"type":325}," under ",{"text":438,"type":325,"marks":439},"Store secrets",[440],{"type":382},{"text":442,"type":325},". Changing that secret invalidates every signature you've already generated, so you'd need to rebuild all your links and forms.",{"type":358,"content":444},[445],{"type":320,"attrs":446,"content":447},{"textAlign":55},[448,450,455,457,463],{"text":449,"type":325},"For more than a handful of products, sign programmatically instead. The Foxy API has an ",{"text":451,"type":325,"marks":452},"encode",[453],{"type":454},"code",{"text":456,"type":325}," link relationship that accepts an HTML snippet and returns a signed version. See the ",{"text":458,"type":325,"marks":459},"API cheat sheet",[460],{"type":342,"attrs":461},{"href":462,"uuid":55,"anchor":55,"target":55,"linktype":31},"https:\u002F\u002Fapi.foxy.io\u002Fdocs\u002Fcheat-sheet",{"text":346,"type":325},{"type":358,"content":465},[466],{"type":320,"attrs":467,"content":468},{"textAlign":55},[469,471,477],{"text":470,"type":325},"If you control your site's domain, Foxy's ",{"text":472,"type":325,"marks":473},"Cloudflare Worker",[474],{"type":342,"attrs":475},{"href":476,"uuid":55,"anchor":55,"target":55,"linktype":31},"https:\u002F\u002Fgithub.com\u002FFoxy\u002Ffoxy-cloudflare-addtocart-signing",{"text":478,"type":325}," signs links and forms at the edge, so your page source stays unsigned.",{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":480},{},"How to use the admin to manually sign product links and forms with HMAC.",[483],"ff9269e2-2402-422e-aa80-19acc150b78a",[],"use-the-admin-tool-to-sign-products-with-hmac","help\u002Farticles\u002Fuse-the-admin-tool-to-sign-products-with-hmac",-2530,[],2659,"d4f7a49c-2d3d-4908-a566-a4763241505b","2026-06-29T20:50:23.255Z",[],{"html":494,"sections":495,"segments":503},"\u003Cp>The Foxy admin builds product links and forms for you and signs them automatically. This is useful for static sites, one-off forms, or any case where you want signed links without implementing a signing library.\u003C\u002Fp>\u003Csection id=\"before-you-start\" data-title=\"Before you start\" data-title-node=\"H3\">\u003Ch3 data-anchor-id=\"before-you-start\">Before you start\u003C\u002Fh3>\u003Cp>Enable HMAC product validation for your store first. Links and forms are only signed once that setting is on. See \u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fenable-hmac-product-validation\" class=\"\">Enable HMAC product validation\u003C\u002Fa>.\u003C\u002Fp>\u003C\u002Fsection>\u003Csection id=\"steps\" data-title=\"Steps\" data-title-node=\"H3\">\u003Ch3 data-anchor-id=\"steps\">Steps\u003C\u002Fh3>\u003Col class=\"step step-icon-sm step-dashed step-border-last-0 mt-3\">\u003Cli class=\"step-item\">\u003Cdiv class=\"step-content-wrapper\">\u003Cspan class=\"step-icon step-icon-soft-primary\">1\u003C\u002Fspan>\u003Cdiv class=\"w-100 overflow-hidden\">\u003Cdiv class=\"step-content mt-2\">\u003Cp>Go to the \u003Ca href=\"https:\u002F\u002Fadmin.foxy.io\" class=\"\">Foxy admin\u003C\u002Fa>\u003C\u002Fp>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fli>\u003Cli class=\"step-item\">\u003Cdiv class=\"step-content-wrapper\">\u003Cspan class=\"step-icon step-icon-soft-primary\">2\u003C\u002Fspan>\u003Cdiv class=\"w-100 overflow-hidden\">\u003Cdiv class=\"step-content mt-2\">\u003Cp>Go to \u003Cstrong>Link &amp; Form Builder\u003C\u002Fstrong>\u003C\u002Fp>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fli>\u003Cli class=\"step-item\">\u003Cdiv class=\"step-content-wrapper\">\u003Cspan class=\"step-icon step-icon-soft-primary\">3\u003C\u002Fspan>\u003Cdiv class=\"w-100 overflow-hidden\">\u003Cdiv class=\"step-content mt-2\">\u003Cp>Build your item: name, price, code, and any options or parameters you need\u003C\u002Fp>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fli>\u003Cli class=\"step-item\">\u003Cdiv class=\"step-content-wrapper\">\u003Cspan class=\"step-icon step-icon-soft-primary\">4\u003C\u002Fspan>\u003Cdiv class=\"w-100 overflow-hidden\">\u003Cdiv class=\"step-content mt-2\">\u003Cp>Copy the generated link or form and paste it into your page\u003C\u002Fp>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fli>\u003C\u002Fol>\u003Cp>The output is signed, so nothing further is needed.\u003C\u002Fp>\u003C\u002Fsection>\u003Csection id=\"notes\" data-title=\"Notes\" data-title-node=\"H3\">\u003Ch3 data-anchor-id=\"notes\">Notes\u003C\u002Fh3>\u003Cul>\u003Cli>\u003Cp>If your store already has live add to cart links and forms, sign those before enabling validation. Validation is all or nothing, so turning it on breaks any unsigned link still on your site.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Any change to a signed product&#039;s values, including price, breaks the signature. Rebuild the link in the builder whenever a product changes.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Signing depends on your store secret, at \u003Cstrong>Settings &gt; General\u003C\u002Fstrong> under \u003Cstrong>Store secrets\u003C\u002Fstrong>. Changing that secret invalidates every signature you&#039;ve already generated, so you&#039;d need to rebuild all your links and forms.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>For more than a handful of products, sign programmatically instead. The Foxy API has an \u003Ccode class=\"badge bg-soft-danger text-danger\">encode\u003C\u002Fcode> link relationship that accepts an HTML snippet and returns a signed version. See the \u003Ca href=\"https:\u002F\u002Fapi.foxy.io\u002Fdocs\u002Fcheat-sheet\" class=\"\">API cheat sheet\u003C\u002Fa>.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>If you control your site&#039;s domain, Foxy&#039;s \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FFoxy\u002Ffoxy-cloudflare-addtocart-signing\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">Cloudflare Worker\u003C\u002Fa> signs links and forms at the edge, so your page source stays unsigned.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fsection>",[496,499,501],{"id":497,"title":332,"level":498},"before-you-start","H3",{"id":500,"title":351,"level":498},"steps",{"id":502,"title":406,"level":498},"notes",[504],{"type":505,"content":506},"html","\u003Cp>The Foxy admin builds product links and forms for you and signs them automatically. This is useful for static sites, one-off forms, or any case where you want signed links without implementing a signing library.\u003C\u002Fp>\u003Ch3>Before you start\u003C\u002Fh3>\u003Cp>Enable HMAC product validation for your store first. Links and forms are only signed once that setting is on. See \u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fenable-hmac-product-validation\" class=\"\">Enable HMAC product validation\u003C\u002Fa>.\u003C\u002Fp>\u003Ch3>Steps\u003C\u002Fh3>\u003Col order=\"1\">\u003Cli>\u003Cp>Go to the \u003Ca href=\"https:\u002F\u002Fadmin.foxy.io\" class=\"\">Foxy admin\u003C\u002Fa>\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Go to \u003Cstrong>Link &amp; Form Builder\u003C\u002Fstrong>\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Build your item: name, price, code, and any options or parameters you need\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Copy the generated link or form and paste it into your page\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Fol>\u003Cp>The output is signed, so nothing further is needed.\u003C\u002Fp>\u003Ch3>Notes\u003C\u002Fh3>\u003Cul>\u003Cli>\u003Cp>If your store already has live add to cart links and forms, sign those before enabling validation. Validation is all or nothing, so turning it on breaks any unsigned link still on your site.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Any change to a signed product&#039;s values, including price, breaks the signature. Rebuild the link in the builder whenever a product changes.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Signing depends on your store secret, at \u003Cstrong>Settings &gt; General\u003C\u002Fstrong> under \u003Cstrong>Store secrets\u003C\u002Fstrong>. Changing that secret invalidates every signature you&#039;ve already generated, so you&#039;d need to rebuild all your links and forms.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>For more than a handful of products, sign programmatically instead. The Foxy API has an \u003Ccode class=\"badge bg-soft-danger text-danger\">encode\u003C\u002Fcode> link relationship that accepts an HTML snippet and returns a signed version. See the \u003Ca href=\"https:\u002F\u002Fapi.foxy.io\u002Fdocs\u002Fcheat-sheet\" class=\"\">API cheat sheet\u003C\u002Fa>.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>If you control your site&#039;s domain, Foxy&#039;s \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FFoxy\u002Ffoxy-cloudflare-addtocart-signing\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">Cloudflare Worker\u003C\u002Fa> signs links and forms at the edge, so your page source stays unsigned.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>",{"name":508,"created_at":509,"published_at":510,"updated_at":511,"id":512,"uuid":42,"content":513,"slug":43,"full_slug":43,"sort_by_date":55,"position":691,"tag_list":692,"is_startpage":24,"parent_id":55,"meta_data":55,"group_id":693,"first_published_at":694,"release_id":55,"lang":61,"path":55,"alternates":695,"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":514,"_uid":517,"title":518,"action":519,"fields":520,"method":667,"columns":668,"subtitle":682,"component":43,"button_text":688,"submit_title":689,"submit_subtitle":690},{"_uid":515,"title":508,"plugin":516,"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",[521,526,530,638,641,646,661],{"_uid":522,"name":523,"type":325,"label":524,"options":13,"required":33,"component":525,"placeholder":13},"9a70b226-2036-4f90-a052-b3efa61c5896","name","Name","form___field",{"_uid":527,"name":528,"type":528,"label":529,"options":13,"required":33,"component":525,"placeholder":13},"86ba35be-ff43-4a28-8633-14052a8f6622","email","Email Address",{"_uid":531,"name":532,"type":533,"label":534,"options":535,"required":33,"component":525,"conditions":536,"placeholder":13},"3f827475-492c-4f97-aa1e-2386ac263b6c","topic","select","Topic","Presales, Support, Billing, Partnerships, Order Enquiry, Other",[537,592,602,609,617,625,631],{"_uid":538,"equals":539,"fields":540,"component":591},"e21d97dd-e68e-4fa6-ba97-bc40f3041dde","Order Enquiry",[541],{"_uid":542,"body":543,"type":589,"title":13,"component":590},"b64992bc-6d53-48b8-b7a0-d81e5a062e50",{"type":317,"content":544},[545],{"type":320,"content":546},[547,549,556,558,560,561,565,567,572,580,582,587],{"text":548,"type":325},"We are ",{"text":550,"type":325,"marks":551},"Foxy.io",[552],{"type":342,"attrs":553},{"href":554,"uuid":55,"anchor":55,"custom":555,"target":55,"linktype":31},"http:\u002F\u002FFoxy.io",{},{"text":557,"type":325},", 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":559},"hard_break",{"type":559},{"text":562,"type":325,"marks":563},"NOTE:",[564],{"type":382},{"text":566,"type":325}," We are ",{"text":568,"type":325,"marks":569},"not ",[570],{"type":571},"italic",{"text":573,"type":325,"marks":574},"Foxy.in",[575,579],{"type":342,"attrs":576},{"href":577,"uuid":55,"anchor":55,"custom":578,"target":55,"linktype":31},"http:\u002F\u002FFoxy.in",{},{"type":571},{"text":581,"type":325},". We are not in any way affiliated with ",{"text":573,"type":325,"marks":583},[584],{"type":342,"attrs":585},{"href":577,"uuid":55,"anchor":55,"custom":586,"target":55,"linktype":31},{},{"text":588,"type":325},", and cannot help in any way with your order from that website.","danger","global___alert","form___condition",{"_uid":593,"equals":594,"fields":595,"component":591},"8765c3e1-25cf-44aa-b8ea-fc6094acf9c3","Presales",[596],{"_uid":597,"name":598,"type":599,"label":13,"options":13,"required":24,"component":525,"conditions":600,"placeholder":13,"default_value":601},"cf464f8e-d643-4f6e-af29-d3abffaf7380","department_email_address","hidden",[],"hello@foxy.io",{"_uid":603,"equals":204,"fields":604,"component":591},"4007b6d8-77e5-421d-bd1e-6f336dd853fb",[605],{"_uid":606,"name":598,"type":599,"label":13,"options":13,"required":24,"component":525,"conditions":607,"placeholder":13,"default_value":608},"7b4c6aa5-a68c-45e0-9ce1-0a36af10c0c2",[],"help@foxy.io",{"_uid":610,"equals":611,"fields":612,"component":591},"1dbb8f11-613d-43cd-9e09-1b94f6e19219","Billing",[613],{"_uid":614,"name":598,"type":599,"label":13,"options":13,"required":24,"component":525,"conditions":615,"placeholder":13,"default_value":616},"a0ac0d1b-bc4f-4a6c-a682-581d450b0b73",[],"help+billing@foxy.io",{"_uid":618,"equals":619,"fields":620,"component":591},"a0a53a50-7172-4a29-ba58-181e38874e12","Partnerships",[621],{"_uid":622,"name":598,"type":599,"label":13,"options":13,"required":24,"component":525,"conditions":623,"placeholder":13,"default_value":624},"7aa011d9-f374-4aed-b5a5-929b54aaf152",[],"partners@foxy.io",{"_uid":626,"equals":539,"fields":627,"component":591},"a4cd431f-25d5-41c7-bfdc-02c908c8fb47",[628],{"_uid":629,"name":598,"type":599,"label":13,"options":13,"required":24,"component":525,"conditions":630,"placeholder":13,"default_value":601},"f5d52168-d6ae-451b-94ee-2ced1cbd28ad",[],{"_uid":632,"equals":633,"fields":634,"component":591},"25aba1ed-eb41-4bbc-aa89-f7a7167ea86e","Other",[635],{"_uid":636,"name":598,"type":599,"label":13,"options":13,"required":24,"component":525,"conditions":637,"placeholder":13,"default_value":601},"f40dfaef-c203-4b71-bf4e-e1b43cef192b",[],{"_uid":639,"component":640},"e9c53a05-f40a-4510-aaf8-bc072a235a0c","form___subject",{"_uid":642,"name":643,"type":644,"label":645,"options":13,"required":33,"component":525,"placeholder":13},"a4c4d385-fff4-4978-99fb-b68cfea623d6","message","textarea","Message",{"_uid":647,"name":648,"type":533,"label":649,"options":650,"required":33,"component":525,"conditions":651,"placeholder":13},"8a3c9f85-f438-427d-9c7a-d7b295a14b5b","existing_user","Are you an existing user?","No, Yes",[652],{"_uid":653,"equals":654,"fields":655,"component":591},"115933d6-262a-4b59-8fa8-579c5ad73de1","Yes",[656],{"_uid":657,"name":658,"type":325,"label":659,"options":13,"required":33,"component":525,"conditions":660,"placeholder":13},"44b6ff23-98f0-4e95-b7f5-c23e06415c2d","subdomain","Store Subdomain",[],{"_uid":662,"name":663,"type":533,"label":664,"options":665,"required":33,"component":525,"conditions":666,"placeholder":13},"922a5cef-3af2-4113-8855-36c7910e3ee3","user_type","What type of user are you?","Developer, Designer, Merchant",[],"POST",[669],{"_uid":670,"text":671,"title":680,"component":681},"7323b90d-a93a-4bf1-baa9-20d0b7ead61b",{"type":317,"content":672},[673],{"type":320,"content":674},[675,677,678],{"text":676,"type":325},"855.369.9227",{"type":559},{"text":679,"type":325},"9:30am-6pm Central M-F","Pre-sales, Sales, & Partnerships","contact___footer_column",{"type":317,"content":683},[684],{"type":320,"content":685},[686],{"text":687,"type":325},"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",[],[281,697,725],{"name":698,"created_at":699,"published_at":700,"updated_at":701,"id":702,"uuid":703,"content":704,"slug":718,"full_slug":719,"sort_by_date":55,"position":720,"tag_list":721,"is_startpage":24,"parent_id":303,"meta_data":55,"group_id":722,"first_published_at":723,"release_id":55,"lang":61,"path":55,"alternates":724,"default_full_slug":55,"translated_slugs":55},"Products","2023-01-19T16:20:53.075Z","2024-06-05T04:29:14.851Z","2024-06-05T04:29:14.872Z",28236,"389d5512-29ba-4a93-9cfa-9491d1618f73",{"_uid":705,"icon":706,"name":698,"guides":707,"pinned":24,"summary":708,"category":13,"component":290,"blog_posts":709,"content_hub":24,"icon_custom":710,"case_studies":711,"faq_sections":712,"help_articles":713,"featured_guides":714,"mailbox_category":13,"featured_articles":715,"featured_blog_posts":716,"featured_case_studies":717},"3551f6e8-765a-4b8d-8587-2e2eda4d2b23","fa-tags",[],"How products work, supported product types, inventory management, and more.",[],{"id":55,"alt":55,"name":13,"focus":55,"title":55,"filename":13,"copyright":55,"fieldtype":77},[],[],[],[],[],[],[],"products","help\u002Fcategories\u002Fproducts",150,[],"c025c7a7-0d20-4244-938a-c8d6588e1269","2023-01-19T17:25:32.570Z",[],{"name":726,"created_at":727,"published_at":728,"updated_at":729,"id":730,"uuid":483,"content":731,"slug":744,"full_slug":745,"sort_by_date":55,"position":746,"tag_list":747,"is_startpage":24,"parent_id":303,"meta_data":55,"group_id":748,"first_published_at":728,"release_id":55,"lang":61,"path":55,"alternates":749,"default_full_slug":55,"translated_slugs":55},"Product Security","2026-06-29T20:00:54.676Z","2026-06-29T20:37:32.009Z","2026-06-29T20:37:32.025Z",192813689601883,{"_uid":732,"icon":13,"name":726,"type":733,"pinned":24,"summary":734,"category":703,"component":290,"blog_posts":735,"icon_custom":736,"case_studies":738,"faq_sections":739,"featured_guides":740,"mailbox_category":13,"featured_articles":741,"featured_blog_posts":742,"featured_case_studies":743},"bd9968b0-6d3b-4a2b-a7bc-79263044b475","simple","How to enable and implement HMAC product validation, including signing product links, forms, and bundled products.",[],{"id":55,"alt":55,"name":13,"focus":55,"title":55,"source":55,"filename":13,"copyright":55,"fieldtype":77,"meta_data":737},{},[],[],[],[],[],[],"product-security","help\u002Fcategories\u002Fproduct-security",-420,[],"9b6ea296-0666-48d6-b896-39e524ea24ac",[],{},1785861246794]