[{"data":1,"prerenderedAt":2414},["ShallowReactive",2],{"header:help":3,"footer:default":67,"story:navigation\u002Fsearch:help":250,"story:help\u002Fcategories":288,"story:help\u002Fcategories\u002Fgift-cards":314,"help:categories:dc762556-754f-4db3-8560-6df76f76d887":341,"help:guides:dc762556-754f-4db3-8560-6df76f76d887":342,"help:tree:dc762556-754f-4db3-8560-6df76f76d887":343,"help:articles:dc762556-754f-4db3-8560-6df76f76d887":370,"story:contact":2228,"_apollo:default":2413},{"name":4,"created_at":5,"published_at":6,"updated_at":7,"id":8,"uuid":9,"content":10,"slug":57,"full_slug":58,"sort_by_date":59,"position":60,"tag_list":61,"is_startpage":24,"parent_id":62,"meta_data":59,"group_id":63,"first_published_at":64,"release_id":59,"lang":65,"path":59,"alternates":66,"default_full_slug":59,"translated_slugs":59},"Help Center Header","2024-08-09T18:06:34.939Z","2024-10-21T21:58:39.217Z","2024-10-21T21:58:39.232Z",10082752,"3e9b88f7-c163-4657-a2f2-62532d600fad",{"_uid":11,"link":12,"badge":16,"items":17,"title":13,"buttons":50,"new_tab":24,"submenu":51,"alignment":13,"component":52,"badge_link":53,"top_menu_items":56},"e5645a1a-f991-40e8-8d67-e40ebc082b5a",{"id":13,"url":13,"linktype":14,"fieldtype":15,"cached_url":13},"","story","multilink","Help Center",[18,27,34,39,44],{"_uid":19,"link":20,"title":23,"new_tab":24,"submenu":25,"component":26},"5cbe2861-1f49-4166-97da-a4dddd8105e3",{"id":21,"url":13,"linktype":14,"fieldtype":15,"cached_url":22},"4c0a2d99-ec30-4579-8ef1-6bf5564d4839","help\u002Fcategories\u002F","Articles",false,[],"header___item",{"_uid":28,"link":29,"title":32,"new_tab":33,"component":26},"1c8edeb5-b9e9-4cb8-b1c6-c1f292f7d7cd",{"id":13,"url":30,"linktype":31,"fieldtype":15,"cached_url":30},"https:\u002F\u002Fwiki.foxycart.com\u002F","url","Documentation",true,{"_uid":35,"link":36,"title":38,"new_tab":33,"component":26},"8d7df70e-f087-4da0-b616-6f0e9a5af35c",{"id":13,"url":37,"linktype":31,"fieldtype":15,"cached_url":37},"https:\u002F\u002Fapi.foxycart.com\u002F","API Documentation",{"_uid":40,"link":41,"title":43,"new_tab":33,"component":26},"f76e7944-23d5-4652-87e4-cdae79272762",{"id":13,"url":42,"linktype":31,"fieldtype":15,"cached_url":42},"https:\u002F\u002Fstatus.foxy.io\u002F","System Status",{"_uid":45,"link":46,"title":49,"new_tab":24,"component":26},"0de16771-4c84-466c-a1da-d8568113c71f",{"id":47,"url":13,"linktype":14,"fieldtype":15,"cached_url":48},"01e4e370-f9b9-45af-8fa9-f15540699b0d","contact","Contact Us",[],[],"header",{"id":54,"url":13,"linktype":14,"fieldtype":15,"cached_url":55},"4a679eb7-662d-4ea4-a976-5a2acbf0b663","help\u002F",[],"help-header","navigation\u002Fhelp-header",null,20,[],10082747,"71b81c2e-5e09-48a1-a397-a3c72fcd344a","2022-09-21T14:50:25.655Z","default",[],{"name":68,"created_at":69,"published_at":70,"updated_at":71,"id":72,"uuid":73,"content":74,"slug":243,"full_slug":244,"sort_by_date":59,"position":245,"tag_list":246,"is_startpage":24,"parent_id":62,"meta_data":59,"group_id":247,"first_published_at":248,"release_id":59,"lang":65,"path":59,"alternates":249,"default_full_slug":59,"translated_slugs":59},"Default Footer","2024-08-09T18:06:59.024Z","2025-09-04T06:24:46.223Z","2025-09-04T06:24:46.241Z",10082753,"e59e67ac-248a-482f-84a1-53d4f318186a",{"_uid":75,"about":76,"logos":77,"socials":82,"sections":108,"component":225,"cta_title":226,"bottom_links":227,"cta_subtitle":241,"cta_button_link":242,"cta_button_text":183},"830983f5-c4c4-43c8-b150-86a5e3fa6dc8","Foxy’s hosted cart & payment page allow you to sell anything, using your existing website or platform.",[78],{"id":79,"alt":13,"name":13,"focus":13,"title":13,"filename":80,"copyright":13,"fieldtype":81},14760,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002Fx\u002F3b030847ec\u002Fb-corp.svg","asset",[83,90,96,102],{"_uid":84,"icon":85,"link":86,"name":88,"component":89},"faf0a618-ea94-42ea-9182-03be18c43216","fa-facebook",{"id":13,"url":87,"linktype":31,"fieldtype":15,"cached_url":87},"https:\u002F\u002Fwww.facebook.com\u002Ffoxycart","Facebook","footer___social",{"_uid":91,"icon":92,"link":93,"name":95,"component":89},"14309c18-7e79-423e-b375-34555bac0811","fa-instagram",{"id":13,"url":94,"linktype":31,"fieldtype":15,"cached_url":94},"https:\u002F\u002Fwww.instagram.com\u002Ffoxy_io","Instagram",{"_uid":97,"icon":98,"link":99,"name":101,"component":89},"8f7fe7cf-0dd3-4596-8334-226ea466716a","fa-linkedin",{"id":13,"url":100,"linktype":31,"fieldtype":15,"cached_url":100},"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Ffoxycart.com","LinkedIn",{"_uid":103,"icon":104,"link":105,"name":107,"component":89},"90a675b4-dd97-40b5-be09-00a87223d4c5","fa-youtube",{"id":13,"url":106,"linktype":31,"fieldtype":15,"cached_url":106},"https:\u002F\u002Fwww.youtube.com\u002Fuser\u002Ffoxycart","Youtube",[109,139,184,206],{"_uid":110,"name":111,"items":112,"component":138},"82849945-282f-488c-b18d-a8d2252f514a","Company",[113,120,126,132],{"_uid":114,"link":115,"title":118,"new_tab":24,"component":119},"1f699ab1-938b-4d9d-9825-aabcbe6f57fe",{"id":116,"url":13,"linktype":14,"fieldtype":15,"cached_url":117},"63634293-a749-4226-9439-9f38ee6dcda0","about-us","About Us","footer___menu_items",{"_uid":121,"link":122,"title":125,"new_tab":24,"component":119},"b26b00f1-a0e7-4be2-8ab3-428b8cc841f8",{"id":123,"url":13,"linktype":14,"fieldtype":15,"cached_url":124},"26cb7c55-faed-4a77-a291-1552d4111b3e","how-foxy-works","How Foxy Works",{"_uid":127,"link":128,"title":131,"new_tab":24,"component":119},"b40c68a0-1ceb-4226-9515-6176534f61fe",{"id":129,"url":13,"linktype":14,"fieldtype":15,"cached_url":130},"dc6657d7-7f4f-4c0d-b781-e971b038ee26","for-good","Foxy For Good",{"_uid":133,"link":134,"title":137,"new_tab":24,"component":119},"3ad0c134-bef9-4fff-b891-e09f16109036",{"id":135,"url":13,"linktype":14,"fieldtype":15,"cached_url":136},"23cae210-baf4-4588-9862-d09f4f52ccd2","brand-assets","Brand Assets","footer___section",{"_uid":140,"name":141,"items":142,"component":138},"a6805fa8-ac60-47f1-b8f0-f27aded0afbe","Product",[143,149,155,161,167,173,179],{"_uid":144,"link":145,"title":148,"new_tab":24,"component":119},"b39c8a4e-2383-486f-b76a-11fbb15d8134",{"id":146,"url":13,"linktype":14,"fieldtype":15,"cached_url":147},"bb04690f-fe98-4ce6-80be-05b950f2364f","features\u002F","Features",{"_uid":150,"link":151,"title":154,"new_tab":24,"component":119},"64f8a41f-c181-433d-bc0a-fc94e71ecbf6",{"id":152,"url":13,"linktype":14,"fieldtype":15,"cached_url":153},"c450c58d-761d-48c0-a9af-0b064611689b","pricing","Pricing",{"_uid":156,"link":157,"title":160,"new_tab":24,"component":119},"6e0b287f-fd8c-4146-9e0e-0ab0b5c9ce3c",{"id":158,"url":13,"linktype":14,"fieldtype":15,"cached_url":159},"fab20ad9-e76a-4947-b709-3a6fdfa88028","blog\u002Fcategories\u002Fproduct-updates","Product Updates",{"_uid":162,"link":163,"title":166,"new_tab":24,"component":119},"47e5a074-a6b5-4f1c-8c2f-89a2ae9f83eb",{"id":164,"url":13,"linktype":14,"fieldtype":15,"cached_url":165},"d2c83612-d611-47f3-a3b4-ca7fe08540b8","changelogs\u002F","Changelogs",{"_uid":168,"link":169,"title":172,"new_tab":24,"component":119},"b5c08774-542f-4ffd-b357-c94d674488b9",{"id":170,"url":13,"linktype":14,"fieldtype":15,"cached_url":171},"08876121-0df3-4ed9-aa11-902b3e41cd02","whats-next","What's Next",{"_uid":174,"link":175,"title":178,"new_tab":24,"component":119},"9c2704ed-6d9f-43e1-9e67-c8d91c083288",{"id":176,"url":13,"linktype":14,"fieldtype":15,"cached_url":177},"056a7857-b18f-4025-8f97-91a38fc19bc8","compare\u002F","Compare",{"_uid":180,"link":181,"title":183,"new_tab":24,"component":119},"5f2db35b-674b-406a-8fa7-d246633af9fe",{"id":13,"url":182,"linktype":31,"fieldtype":15,"cached_url":182},"https:\u002F\u002Fadmin.foxy.io\u002Fsign-up","Try Foxy Free",{"_uid":185,"name":186,"items":187,"component":138},"63fa1f29-4252-4640-9922-fe310e69e54a","Security",[188,194,200],{"_uid":189,"link":190,"title":193,"new_tab":24,"component":119},"1158ddb6-9eb0-466f-8eb6-7ca2ae66c8b8",{"id":191,"url":13,"linktype":14,"fieldtype":15,"cached_url":192},"1f58fb2c-8681-4742-b6e8-09999beae9f6","security-contact","Security Contact",{"_uid":195,"link":196,"title":199,"new_tab":24,"component":119},"9a79c54a-6022-4dfd-854b-766f5e4703ba",{"id":197,"url":13,"linktype":14,"fieldtype":15,"cached_url":198},"55cbfcc3-425a-4261-8037-54e919851d2d","pci","PCI Compliance",{"_uid":201,"link":202,"title":205,"new_tab":24,"component":119},"0b85f5b6-9534-4071-b323-b39d053dd4d7",{"id":203,"url":13,"linktype":14,"fieldtype":15,"cached_url":204},"c3ac0fe3-83e2-4879-afbd-d4c83e1590df","help\u002Farticles\u002Four-official-domains-public-code","Domains & Codebases",{"_uid":207,"name":208,"items":209,"component":138},"998ded67-d107-49f4-8154-ca6be51671ec","Support",[210,213,216,219,222],{"_uid":211,"link":212,"title":16,"new_tab":24,"component":119},"594ffd35-3049-4004-bb08-0db568ebd819",{"id":54,"url":13,"linktype":14,"fieldtype":15,"cached_url":55},{"_uid":214,"link":215,"title":32,"new_tab":33,"component":119},"0a1a55ab-a985-4f9d-8b42-26da714d0c1c",{"id":13,"url":30,"linktype":31,"fieldtype":15,"cached_url":30},{"_uid":217,"link":218,"title":38,"new_tab":33,"component":119},"61e0b7c8-aadf-419b-a339-b3ccabc65bf4",{"id":13,"url":37,"linktype":31,"fieldtype":15,"cached_url":37},{"_uid":220,"link":221,"title":43,"new_tab":33,"component":119},"fd67a89e-1c54-4d31-94b5-64be999062d6",{"id":13,"url":42,"linktype":31,"fieldtype":15,"cached_url":42},{"_uid":223,"link":224,"title":49,"new_tab":24,"component":119},"231a6f71-e996-4ad4-b033-d4d5542f34f0",{"id":47,"url":13,"linktype":14,"fieldtype":15,"cached_url":48},"footer","Get started with our *unlimited free trial*.",[228,235],{"_uid":229,"link":230,"text":233,"component":234},"f0b77210-2632-45a2-8436-e57cad84d01a",{"id":231,"url":13,"linktype":14,"fieldtype":15,"cached_url":232},"60ba16a2-c1f4-485f-b978-8d2eeeafbf5a","terms-of-service","Terms of Service","footer___bottom_links",{"_uid":236,"link":237,"text":240,"component":234},"4bd497b0-993f-4b4d-a5b7-8a49c7c8fec9",{"id":238,"url":13,"linktype":14,"fieldtype":15,"cached_url":239},"332302b9-1d18-4016-b9c8-9b33c72d782b","privacy-policy","Privacy Policy","No credit card required.",{"id":13,"url":182,"linktype":31,"fieldtype":15,"cached_url":182},"default-footer","navigation\u002Fdefault-footer",50,[],"11006268-07f9-41e9-96f3-c51fb723399d","2022-09-21T20:39:02.357Z",[],{"name":251,"created_at":252,"published_at":253,"updated_at":254,"id":255,"uuid":256,"content":257,"slug":279,"full_slug":282,"sort_by_date":59,"position":283,"tag_list":284,"is_startpage":24,"parent_id":62,"meta_data":59,"group_id":285,"first_published_at":286,"release_id":59,"lang":65,"path":59,"alternates":287,"default_full_slug":59,"translated_slugs":59},"Search","2024-10-21T22:08:54.973Z","2025-05-26T09:17:25.790Z","2025-05-26T09:17:25.804Z",13592003,"14cbc359-9ac1-4a7a-a8de-ad4ac8ef26d4",{"_uid":258,"name":251,"indices":259,"summary":13,"component":279,"primary_image":280},"5e4a56e8-76f1-4790-b3a7-70f1be97d042",[260,265,269,274],{"key":261,"_uid":262,"icon":13,"name":263,"component":264},"all","c12a3210-7323-4273-8217-5215e52efe84","All","index",{"key":266,"_uid":267,"icon":268,"name":23,"component":264},"help_center_article","5acff080-95e4-44d3-8dcf-1b19720af382","fa-file-alt",{"key":270,"_uid":271,"icon":272,"name":273,"component":264},"help_center_guide","b8fbc206-c083-471e-a1f0-0ebeb90a669d","fa-book","Guides",{"key":275,"_uid":276,"icon":277,"name":278,"component":264},"blog_post","23419e83-2e56-4c4c-8a05-9fd1b3c9a9bd","fa-file-image","Blog Posts","search",{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":281},{},"navigation\u002Fsearch",60,[],"11e1fd31-95cd-4fc9-b736-8b8910663e6c","2024-10-21T23:17:05.904Z",[],{"name":23,"created_at":289,"published_at":290,"updated_at":291,"id":292,"uuid":21,"content":293,"slug":307,"full_slug":22,"sort_by_date":59,"position":308,"tag_list":309,"is_startpage":33,"parent_id":310,"meta_data":59,"group_id":311,"first_published_at":312,"release_id":59,"lang":65,"path":59,"alternates":313,"default_full_slug":59,"translated_slugs":59},"2022-09-19T14:42:29.685Z","2024-07-30T18:17:22.506Z","2024-07-30T18:17:22.525Z",2660,{"_uid":294,"icon":13,"name":23,"guides":295,"pinned":24,"summary":296,"category":13,"component":297,"blog_posts":298,"content_hub":24,"icon_custom":299,"case_studies":300,"faq_sections":301,"help_articles":302,"featured_guides":303,"mailbox_category":13,"featured_articles":304,"featured_blog_posts":305,"featured_case_studies":306},"d6dae89a-907a-4bf7-82de-fe2ba875ee6e",[],"Get your questions answered with our browsable knowledge base.","help_center_category",[],{"id":59,"alt":59,"name":13,"focus":59,"title":59,"filename":13,"copyright":59,"fieldtype":81},[],[],[],[],[],[],[],"categories",530,[],2658,"19ebcdd2-027f-47f5-9a5b-a8992c959578","2022-09-19T16:24:39.219Z",[],{"name":315,"created_at":316,"published_at":317,"updated_at":318,"id":319,"uuid":320,"content":321,"slug":335,"full_slug":336,"sort_by_date":59,"position":337,"tag_list":338,"is_startpage":24,"parent_id":310,"meta_data":59,"group_id":339,"first_published_at":317,"release_id":59,"lang":65,"path":59,"alternates":340,"default_full_slug":59,"translated_slugs":59},"Gift Cards","2026-07-17T01:10:17.566Z","2026-07-17T01:12:23.560Z","2026-07-17T01:12:23.569Z",198905928007319,"dc762556-754f-4db3-8560-6df76f76d887",{"_uid":322,"icon":13,"name":315,"type":323,"pinned":24,"summary":324,"category":325,"component":297,"blog_posts":326,"icon_custom":327,"case_studies":329,"faq_sections":330,"featured_guides":331,"mailbox_category":13,"featured_articles":332,"featured_blog_posts":333,"featured_case_studies":334},"7d35b9eb-8045-477f-bd12-fd6cc693941b","simple","Sell, create, and manage gift cards in Foxy, including customer purchases, balances, and API setup.","7093e179-f73f-4533-a5ed-230e211e3724",[],{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":328},{},[],[],[],[],[],[],"gift-cards","help\u002Fcategories\u002Fgift-cards",-680,[],"719ff665-efe6-4cdc-8881-8cb142592762",[],[],[],[288,344],{"name":345,"created_at":346,"published_at":347,"updated_at":348,"id":349,"uuid":325,"content":350,"slug":363,"full_slug":364,"sort_by_date":59,"position":365,"tag_list":366,"is_startpage":24,"parent_id":310,"meta_data":59,"group_id":367,"first_published_at":368,"release_id":59,"lang":65,"path":59,"alternates":369,"default_full_slug":59,"translated_slugs":59},"Payments","2025-05-19T15:01:39.297Z","2025-10-15T00:38:24.356Z","2025-10-15T00:38:24.365Z",34027808,{"_uid":351,"icon":352,"name":345,"type":323,"pinned":24,"summary":353,"category":13,"component":297,"blog_posts":354,"icon_custom":355,"case_studies":357,"faq_sections":358,"featured_guides":359,"mailbox_category":13,"featured_articles":360,"featured_blog_posts":361,"featured_case_studies":362},"d71d645d-26db-4d04-950c-5be6f945b883","fa-cash-register","Manage payment methods, settings, and other payment related options.",[],{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":356},{},[],[],[],[],[],[],"payments","help\u002Fcategories\u002Fpayments",-100,[],"76057f91-3ad5-43ee-8674-7d3562faf5eb","2025-05-23T19:23:05.066Z",[],[371,755,865,982,2050],{"name":372,"created_at":373,"published_at":374,"updated_at":375,"id":376,"uuid":377,"content":378,"slug":748,"full_slug":749,"sort_by_date":59,"position":750,"tag_list":751,"is_startpage":24,"parent_id":752,"meta_data":59,"group_id":753,"first_published_at":374,"release_id":59,"lang":65,"path":59,"alternates":754,"default_full_slug":59,"translated_slugs":59},"Allow customers to purchase gift cards on your store","2026-07-17T01:18:16.755Z","2026-07-17T01:21:55.613Z","2026-07-17T01:21:55.633Z",198907890769562,"06bde5ba-dacd-4799-b69d-c096900438f4",{"_uid":379,"body":380,"name":372,"image":744,"pinned":24,"summary":746,"category":320,"component":266,"related_articles":747},"03e5b756-8098-4a38-a65c-89ab7ddcf4b8",{"type":381,"content":382},"doc",[383,390,397,453,458,463,590,595,600,605,692,698,704,730,735],{"type":384,"attrs":385,"content":386},"paragraph",{"textAlign":59},[387],{"text":388,"type":389},"You can let customers buy gift cards through your store and have the generated code sent automatically to a recipient they choose.","text",{"type":391,"attrs":392,"content":394},"heading",{"level":393,"textAlign":59},2,[395],{"text":396,"type":389},"Enable the gift card for purchase",{"type":398,"attrs":399,"content":401},"ordered_list",{"order":400},1,[402,419,433,446],{"type":403,"content":404},"list_item",[405],{"type":384,"attrs":406,"content":407},{"textAlign":59},[408,410,417],{"text":409,"type":389},"Go to the ",{"text":411,"type":389,"marks":412},"Foxy admin",[413],{"type":414,"attrs":415},"link",{"href":416,"uuid":59,"anchor":59,"target":59,"linktype":31},"https:\u002F\u002Fadmin.foxy.io",{"text":418,"type":389}," and open the gift card you want customers to be able to buy.",{"type":403,"content":420},[421],{"type":384,"attrs":422,"content":423},{"textAlign":59},[424,426,431],{"text":425,"type":389},"Check ",{"text":427,"type":389,"marks":428},"Allow customers to buy this gift card",[429],{"type":430},"bold",{"text":432,"type":389},".",{"type":403,"content":434},[435],{"type":384,"attrs":436,"content":437},{"textAlign":59},[438,440,444],{"text":439,"type":389},"Set the gift card’s ",{"text":441,"type":389,"marks":442},"SKU",[443],{"type":430},{"text":445,"type":389}," — you’ll use this when building the add-to-cart form.",{"type":403,"content":447},[448],{"type":384,"attrs":449,"content":450},{"textAlign":59},[451],{"text":452,"type":389},"Optionally, set a minimum and maximum purchase amount. If you set one, you must set both.",{"type":391,"attrs":454,"content":455},{"level":393,"textAlign":59},[456],{"text":457,"type":389},"Set up the recipient notification email",{"type":384,"attrs":459,"content":460},{"textAlign":59},[461],{"text":462,"type":389},"Gift cards purchased through your store need an email template to notify the recipient.",{"type":398,"attrs":464,"content":465},{"order":400},[466,478,496,509,522,534,547,566],{"type":403,"content":467},[468],{"type":384,"attrs":469,"content":470},{"textAlign":59},[471,473,477],{"text":472,"type":389},"In the Foxy admin, go to ",{"text":474,"type":389,"marks":475},"Settings > Emails",[476],{"type":430},{"text":432,"type":389},{"type":403,"content":479},[480],{"type":384,"attrs":481,"content":482},{"textAlign":59},[483,485,489,491,495],{"text":484,"type":389},"In the ",{"text":486,"type":389,"marks":487},"Templates",[488],{"type":430},{"text":490,"type":389}," section, click ",{"text":492,"type":389,"marks":493},"Add Template",[494],{"type":430},{"text":432,"type":389},{"type":403,"content":497},[498],{"type":384,"attrs":499,"content":500},{"textAlign":59},[501,503,507],{"text":502,"type":389},"Give the template a description (for your own reference) and confirm ",{"text":504,"type":389,"marks":505},"Send this email",[506],{"type":430},{"text":508,"type":389}," is selected.",{"type":403,"content":510},[511],{"type":384,"attrs":512,"content":513},{"textAlign":59},[514,516,520],{"text":515,"type":389},"Set a ",{"text":517,"type":389,"marks":518},"Subject",[519],{"type":430},{"text":521,"type":389}," the recipient will see, such as “A gift card, just for you!”",{"type":403,"content":523},[524],{"type":384,"attrs":525,"content":526},{"textAlign":59},[527,529,533],{"text":528,"type":389},"Leave the remaining settings as default, or customize the template further, then click ",{"text":530,"type":389,"marks":531},"Create",[532],{"type":430},{"text":432,"type":389},{"type":403,"content":535},[536],{"type":384,"attrs":537,"content":538},{"textAlign":59},[539,541,545],{"text":540,"type":389},"Go to ",{"text":542,"type":389,"marks":543},"Categories",[544],{"type":430},{"text":546,"type":389},", and open the category you’ll use for your gift card products.",{"type":403,"content":548},[549],{"type":384,"attrs":550,"content":551},{"textAlign":59},[552,554,558,560,564],{"text":553,"type":389},"Under the ",{"text":555,"type":389,"marks":556},"Emails",[557],{"type":430},{"text":559,"type":389}," section, set ",{"text":561,"type":389,"marks":562},"Message to the gift recipient",[563],{"type":430},{"text":565,"type":389}," to the template you just created.",{"type":403,"content":567},[568],{"type":384,"attrs":569,"content":570},{"textAlign":59},[571,573,577,579,583,585,589],{"text":572,"type":389},"If you don’t want to collect a shipping address for gift card purchases, set ",{"text":574,"type":389,"marks":575},"Delivery Type",[576],{"type":430},{"text":578,"type":389}," under ",{"text":580,"type":389,"marks":581},"Delivery Options",[582],{"type":430},{"text":584,"type":389}," to ",{"text":586,"type":389,"marks":587},"Not shipped",[588],{"type":430},{"text":432,"type":389},{"type":384,"attrs":591,"content":592},{"textAlign":59},[593],{"text":594,"type":389},"You can use an existing category (including the Default category) or create a new one specifically for gift cards. Whichever category you use, you’ll need to pass it with the add-to-cart request below.",{"type":391,"attrs":596,"content":597},{"level":393,"textAlign":59},[598],{"text":599,"type":389},"Build the add-to-cart form",{"type":384,"attrs":601,"content":602},{"textAlign":59},[603],{"text":604,"type":389},"Add a form to your website so customers can purchase the gift card. It works like a normal product add-to-cart, with these fields:",{"type":606,"content":607},"bullet_list",[608,620,648,659,670,681],{"type":403,"content":609},[610],{"type":384,"attrs":611,"content":612},{"textAlign":59},[613,618],{"text":614,"type":389,"marks":615},"name",[616],{"type":617},"code",{"text":619,"type":389}," — the name of the product",{"type":403,"content":621},[622],{"type":384,"attrs":623,"content":624},{"textAlign":59},[625,628,630,634,636,640,642,646],{"text":617,"type":389,"marks":626},[627],{"type":617},{"text":629,"type":389}," — the gift card’s SKU, prefixed with ",{"text":631,"type":389,"marks":632},"gift_card_",[633],{"type":617},{"text":635,"type":389}," (a SKU of ",{"text":637,"type":389,"marks":638},"widgets",[639],{"type":617},{"text":641,"type":389}," becomes ",{"text":643,"type":389,"marks":644},"gift_card_widgets",[645],{"type":617},{"text":647,"type":389},")",{"type":403,"content":649},[650],{"type":384,"attrs":651,"content":652},{"textAlign":59},[653,657],{"text":654,"type":389,"marks":655},"category",[656],{"type":617},{"text":658,"type":389}," — the category you set up above; optional only if you’re using the DEFAULT category",{"type":403,"content":660},[661],{"type":384,"attrs":662,"content":663},{"textAlign":59},[664,668],{"text":665,"type":389,"marks":666},"gift_recipient_email",[667],{"type":617},{"text":669,"type":389}," — the recipient’s email address; must be a valid email",{"type":403,"content":671},[672],{"type":384,"attrs":673,"content":674},{"textAlign":59},[675,679],{"text":676,"type":389,"marks":677},"gift_recipient_message",[678],{"type":617},{"text":680,"type":389}," — optional; a custom message included in the notification email",{"type":403,"content":682},[683],{"type":384,"attrs":684,"content":685},{"textAlign":59},[686,690],{"text":687,"type":389,"marks":688},"price",[689],{"type":617},{"text":691,"type":389}," — the amount to load onto the gift card",{"type":693,"attrs":694,"content":695},"code_block",{"class":59},[696],{"text":697,"type":389},"\u003Cform method=\"POST\" action=\"https:\u002F\u002FYOURSTORE.foxycart.com\u002Fcart\">\n  \u003Cinput type=\"hidden\" name=\"name\" value=\"Widgets Gift Card\">\n  \u003Cinput type=\"hidden\" name=\"code\" value=\"gift_card_widgets\">\n  \u003Cinput type=\"hidden\" name=\"category\" value=\"your-gift-card-category\">\n  \u003Clabel>Gift Card Recipient Email:\n    \u003Cinput type=\"text\" name=\"gift_recipient_email\">\n  \u003C\u002Flabel>\n  \u003Clabel>Gift Card Recipient Message:\n    \u003Cinput type=\"text\" name=\"gift_recipient_message\" value=\"\" placeholder=\"Enter a custom message for your recipient\">\n  \u003C\u002Flabel>\n  \u003Clabel>Gift Card Amount:\n    \u003Cinput type=\"number\" name=\"price\" value=\"10\">\n  \u003C\u002Flabel>\n  \u003Cinput type=\"submit\" value=\"Add Gift Card to Cart\">\n\u003C\u002Fform>\n",{"type":391,"attrs":699,"content":701},{"level":700,"textAlign":59},3,[702],{"text":703,"type":389},"Fixed amount vs. customer-specified balance",{"type":606,"content":705},[706,718],{"type":403,"content":707},[708],{"type":384,"attrs":709,"content":710},{"textAlign":59},[711,713,716],{"text":712,"type":389},"For a fixed amount, set ",{"text":687,"type":389,"marks":714},[715],{"type":617},{"text":717,"type":389}," as a hidden input, or as a set of radio inputs with specific amounts. The customer won’t be able to change it.",{"type":403,"content":719},[720],{"type":384,"attrs":721,"content":722},{"textAlign":59},[723,725,728],{"text":724,"type":389},"To let the customer choose their own amount, set ",{"text":687,"type":389,"marks":726},[727],{"type":617},{"text":729,"type":389}," as a text input, as in the example above. The customer can enter any value, within any minimum or maximum you set when enabling purchase.",{"type":391,"attrs":731,"content":732},{"level":393,"textAlign":59},[733],{"text":734,"type":389},"Notes",{"type":606,"content":736},[737],{"type":403,"content":738},[739],{"type":384,"attrs":740,"content":741},{"textAlign":59},[742],{"text":743,"type":389},"If a customer tries to add a gift card below the minimum or above the maximum amount, the add-to-cart request fails and an error is shown.",{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":745},{},"How to let customers buy gift cards through your store, with the code sent automatically to a recipient.",[],"allow-customers-to-purchase-gift-cards-on-your-store","help\u002Farticles\u002Fallow-customers-to-purchase-gift-cards-on-your-store",-3570,[],2659,"17e892ea-26d8-4384-bec9-db0577922c58",[],{"name":756,"created_at":757,"published_at":758,"updated_at":759,"id":760,"uuid":761,"content":762,"slug":859,"full_slug":860,"sort_by_date":59,"position":861,"tag_list":862,"is_startpage":24,"parent_id":752,"meta_data":59,"group_id":863,"first_published_at":758,"release_id":59,"lang":65,"path":59,"alternates":864,"default_full_slug":59,"translated_slugs":59},"Create a gift card","2026-07-17T01:16:42.156Z","2026-07-17T01:21:55.907Z","2026-07-17T01:21:55.926Z",198907503275673,"e5393955-c360-41c7-92e9-93d6612d226d",{"_uid":763,"body":764,"name":756,"image":855,"pinned":24,"summary":857,"category":320,"component":266,"related_articles":858},"e4fed85f-ea36-4251-bf1d-844ba1b8a42a",{"type":381,"content":765},[766,771,776,807,811],{"type":384,"attrs":767,"content":768},{"textAlign":59},[769],{"text":770,"type":389},"You can create a gift card directly for a customer, without them purchasing one through your store.",{"type":391,"attrs":772,"content":773},{"level":393,"textAlign":59},[774],{"text":775,"type":389},"Steps",{"type":398,"attrs":777,"content":778},{"order":400},[779,790,800],{"type":403,"content":780},[781],{"type":384,"attrs":782,"content":783},{"textAlign":59},[784,785,789],{"text":409,"type":389},{"text":411,"type":389,"marks":786},[787],{"type":414,"attrs":788},{"href":416,"uuid":59,"anchor":59,"target":59,"linktype":31},{"text":432,"type":389},{"type":403,"content":791},[792],{"type":384,"attrs":793,"content":794},{"textAlign":59},[795,796,799],{"text":540,"type":389},{"text":315,"type":389,"marks":797},[798],{"type":430},{"text":432,"type":389},{"type":403,"content":801},[802],{"type":384,"attrs":803,"content":804},{"textAlign":59},[805],{"text":806,"type":389},"Create a new gift card and set its code and balance.",{"type":391,"attrs":808,"content":809},{"level":393,"textAlign":59},[810],{"text":734,"type":389},{"type":606,"content":812},[813,828,842],{"type":403,"content":814},[815],{"type":384,"attrs":816,"content":817},{"textAlign":59},[818,820,826],{"text":819,"type":389},"Gift cards can only be created through the new Foxy admin at ",{"text":821,"type":389,"marks":822},"admin.foxy.io",[823],{"type":414,"attrs":824},{"href":825,"uuid":59,"anchor":59,"target":59,"linktype":31},"http:\u002F\u002Fadmin.foxy.io",{"text":827,"type":389}," or via the API — the legacy admin does not support gift cards.",{"type":403,"content":829},[830],{"type":384,"attrs":831,"content":832},{"textAlign":59},[833,835,841],{"text":834,"type":389},"To create a gift card programmatically, see ",{"text":836,"type":389,"marks":837},"Set up gift cards for purchase via the API",[838],{"type":414,"attrs":839},{"href":840,"uuid":59,"anchor":59,"target":59,"linktype":31},"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fset-up-gift-cards-for-purchase-via-the-api",{"text":432,"type":389},{"type":403,"content":843},[844],{"type":384,"attrs":845,"content":846},{"textAlign":59},[847,849,854],{"text":848,"type":389},"If you want customers to be able to buy gift cards through your store rather than receiving one directly, see ",{"text":372,"type":389,"marks":850},[851],{"type":414,"attrs":852},{"href":853,"uuid":59,"anchor":59,"target":59,"linktype":31},"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fallow-customers-to-purchase-gift-cards-on-your-store",{"text":432,"type":389},{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":856},{},"How to create a gift card directly for a customer in the Foxy admin.",[],"create-a-gift-card","help\u002Farticles\u002Fcreate-a-gift-card",-3560,[],"05474bdd-8017-4fa4-beeb-120bfd40ffa9",[],{"name":866,"created_at":867,"published_at":868,"updated_at":869,"id":870,"uuid":871,"content":872,"slug":976,"full_slug":977,"sort_by_date":59,"position":978,"tag_list":979,"is_startpage":24,"parent_id":752,"meta_data":59,"group_id":980,"first_published_at":868,"release_id":59,"lang":65,"path":59,"alternates":981,"default_full_slug":59,"translated_slugs":59},"Gift cards overview","2026-07-17T01:14:06.328Z","2026-07-17T01:21:55.129Z","2026-07-17T01:21:55.144Z",198906865008280,"1e46d867-d848-448d-a7d0-687f8126641c",{"_uid":873,"body":874,"name":866,"image":972,"pinned":24,"summary":974,"category":320,"component":266,"related_articles":975},"e89bd42e-0429-4a75-9b40-d770d7abe147",{"type":381,"content":875},[876,881,886,891,896,901,912,917,922,927,932,937,942,947,952,957,962,967],{"type":384,"attrs":877,"content":878},{"textAlign":59},[879],{"text":880,"type":389},"Gift cards let customers purchase or redeem stored balances that can be applied toward future orders in your store.",{"type":391,"attrs":882,"content":883},{"level":393,"textAlign":59},[884],{"text":885,"type":389},"How gift cards work",{"type":384,"attrs":887,"content":888},{"textAlign":59},[889],{"text":890,"type":389},"Gift cards are similar to coupons in a few ways. Just as a coupon defines the discount itself and the “coupon code” is what the customer enters, gift cards have “gift card codes” that the customer enters at checkout. Unlike coupon codes, however, gift card codes can carry a balance, so they can be reused until that balance reaches zero. Gift card codes also apply to shipping costs, which coupon codes do not.",{"type":384,"attrs":892,"content":893},{"textAlign":59},[894],{"text":895,"type":389},"Foxy provides options to restrict and limit gift cards, but most merchants don’t use any restrictions. Foxy also allows setting expiration dates, but “normal” gift cards in most countries, states, provinces, and regions cannot legally be made to expire. If you plan to use any restriction functionality, check the laws for the locations you sell into first.",{"type":384,"attrs":897,"content":898},{"textAlign":59},[899],{"text":900,"type":389},"A gift card in one currency cannot be used if the cart is in a different currency.",{"type":384,"attrs":902,"content":903},{"textAlign":59},[904,906,910],{"text":905,"type":389},"Gift cards can only be viewed, created, and modified through the ",{"text":411,"type":389,"marks":907},[908],{"type":414,"attrs":909},{"href":416,"uuid":59,"anchor":59,"target":59,"linktype":31},{"text":911,"type":389}," or the API — support is not available in the legacy admin.",{"type":391,"attrs":913,"content":914},{"level":393,"textAlign":59},[915],{"text":916,"type":389},"How gift card codes attach to customer accounts",{"type":384,"attrs":918,"content":919},{"textAlign":59},[920],{"text":921,"type":389},"When a customer uses a gift card code (or has one created for them) and does not check out as a guest, that gift card code is attached to their customer record. After that point, only that customer can use the code — if a different customer tries to use it, they’ll see an error. Gift card codes can also be attached to customers directly via the API.",{"type":384,"attrs":923,"content":924},{"textAlign":59},[925],{"text":926,"type":389},"Once a gift card code is attached to a customer, it’s automatically applied whenever that customer logs in at checkout.",{"type":384,"attrs":928,"content":929},{"textAlign":59},[930],{"text":931,"type":389},"Coming soon: customers will be able to attach a gift card to their account from the customer portal.",{"type":391,"attrs":933,"content":934},{"level":393,"textAlign":59},[935],{"text":936,"type":389},"Taxes, shipping, and product restrictions",{"type":384,"attrs":938,"content":939},{"textAlign":59},[940],{"text":941,"type":389},"If a gift card has a product or category restriction, but the transaction also contains items not covered by that restriction, taxes and shipping are still discounted using the gift card’s balance.",{"type":384,"attrs":943,"content":944},{"textAlign":59},[945],{"text":946,"type":389},"For example, if a cart contains a $30 shirt and $30 pants, with $6 in taxes and $10 in shipping, and the customer applies a $100 gift card that only applies to shirts, the discount applied would be $46 — the $30 shirt plus the full $6 in taxes and $10 in shipping.",{"type":391,"attrs":948,"content":949},{"level":393,"textAlign":59},[950],{"text":951,"type":389},"Gift cards and subscriptions",{"type":384,"attrs":953,"content":954},{"textAlign":59},[955],{"text":956,"type":389},"If a gift card is applied to a subscription, it continues to apply until its balance is used up. The gift card stays attached to the subscription even after the balance is exhausted — it just stops applying a discount. If more balance is later added to the gift card, it resumes applying discounts starting at the next renewal.",{"type":384,"attrs":958,"content":959},{"textAlign":59},[960],{"text":961,"type":389},"Even if a gift card reduces a subscription’s cost to $0, the customer still needs to provide a payment method at checkout. Once the gift card balance is exhausted, the customer’s saved payment method begins being charged for the subscription renewal.",{"type":391,"attrs":963,"content":964},{"level":393,"textAlign":59},[965],{"text":966,"type":389},"Accounting considerations",{"type":384,"attrs":968,"content":969},{"textAlign":59},[970],{"text":971,"type":389},"Before selling gift cards, talk to your accountant about how they affect cash versus accrual-based bookkeeping. If you sell a $100 gift card, you receive $100 now, but you also take on a $100 liability that needs to be accounted for.",{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":973},{},"What gift cards are, how gift card codes work, and how they interact with taxes, subscriptions, currencies, and your accounting.",[],"gift-cards-overview","help\u002Farticles\u002Fgift-cards-overview",-3550,[],"f6446551-90d5-4d2b-be8a-489eb65ff26d",[],{"name":983,"created_at":984,"published_at":985,"updated_at":986,"id":987,"uuid":988,"content":989,"slug":2043,"full_slug":2044,"sort_by_date":59,"position":2045,"tag_list":2046,"is_startpage":24,"parent_id":752,"meta_data":59,"group_id":2047,"first_published_at":2048,"release_id":59,"lang":65,"path":59,"alternates":2049,"default_full_slug":59,"translated_slugs":59},"Selling Gift Cards with the Gift Card Element","2026-03-05T14:49:35.595Z","2026-07-17T16:42:21.140Z","2026-07-17T16:42:21.159Z",151685429706002,"4a89b45c-db9c-442d-9437-b72dba6eae05",{"_uid":990,"body":991,"name":983,"image":2039,"pinned":24,"summary":2041,"category":320,"component":266,"related_articles":2042},"f0acb6b8-d257-44c5-b692-ccab6a8d4e3c",{"type":381,"content":992},[993,1002,1007,1018,1023,1028,1033,1038,1043,1060,1065,1072,1081,1087,1102,1108,1115,1129,1136,1151,1157,1188,1194,1202,1209,1223,1228,1235,1244,1251,1256,1272,1281,1286,1291,1336,1343,1358,1365,1374,1381,1390,1397,1406,1413,1422,1427,1434,1442,1449,1457,1469,1474,1485,1490,1495,1522,1527,1548,1553,1568,1573,1618,1623,1632,1637,1648,1653,1658,1663,1670,1675,1701,1706,1713,1718,1738,1743,1750,1760,1769,1774,1779,1787,1792,1797,1808,1813,1822,1827,1836,1845,1854,1863,1872,1881,1890,1899,1908,1913,1922,1931,1940,1949,1958,1967,1976,1981,1990,1999,2008,2013,2022],{"type":384,"attrs":994,"content":995},{"textAlign":59},[996],{"type":997,"attrs":998},"image",{"id":999,"alt":13,"src":1000,"title":13,"source":13,"copyright":13,"meta_data":1001},151686944095451,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002F680x601\u002F921a7d1424\u002Fgift-card-element.png",{},{"type":391,"attrs":1003,"content":1004},{"level":393,"textAlign":59},[1005],{"text":1006,"type":389},"Quick Start",{"type":384,"attrs":1008,"content":1009},{"textAlign":59},[1010,1012,1016],{"text":1011,"type":389},"Add a container element anywhere on your page, include the script, and call ",{"text":1013,"type":389,"marks":1014},"init",[1015],{"type":617},{"text":1017,"type":389}," with your store's subdomain:",{"type":693,"attrs":1019,"content":1020},{"class":59},[1021],{"text":1022,"type":389},"\u003Cdiv id=\"gift-card-form\">\u003C\u002Fdiv>\n \n\u003Cscript src=\"https:\u002F\u002Fcdn-js.foxy.io\u002Fwebsite-helpers@1\u002Ffoxy-gift-cards.js\">\u003C\u002Fscript>\n\u003Cscript>\n  FoxyGiftCard.init({\n    element: '#gift-card-form',\n    subdomain: 'your-store.foxycart.com',\n  });\n\u003C\u002Fscript>",{"type":384,"attrs":1024,"content":1025},{"textAlign":59},[1026],{"text":1027,"type":389},"The form renders inside the container and submits directly to your Foxy Cart.",{"type":391,"attrs":1029,"content":1030},{"level":393,"textAlign":59},[1031],{"text":1032,"type":389},"Full Example",{"type":693,"attrs":1034,"content":1035},{"class":59},[1036],{"text":1037,"type":389},"\u003C!DOCTYPE html>\n\u003Chtml lang=\"en\">\n\u003Chead>\n  \u003Cmeta charset=\"UTF-8\">\n  \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  \u003Clink href=\"https:\u002F\u002Ffonts.googleapis.com\u002Fcss2?family=Open+Sans:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\n\u003C\u002Fhead>\n\u003Cbody>\n \n  \u003Cdiv id=\"gift-card-form\">\u003C\u002Fdiv>\n \n  \u003Cscript src=\"https:\u002F\u002Fcdn-js.foxy.io\u002Fwebsite-helpers@1\u002Ffoxy-gift-cards.js\">\u003C\u002Fscript>\n  \u003Cscript>\n    FoxyGiftCard.init({\n      element: '#gift-card-form',\n      subdomain: 'http:\u002F\u002Fexample.foxycart.com',\n      productName: 'Gift Card',\n      codePrefix: 'gift_card',\n      category: 'gift_card',\n      giftCardCode: 'gc',\n      currency: '€',\n      amounts: [\n        '50{c:gift_card_50}',\n        100,\n        150,\n        200,\n        300,\n        500\n      ],\n      highlightedAmount: 100,\n      defaultAmount: 50,\n      allowCustomAmount: true,\n      customAmountMin: 10,\n      customAmountMax: 1000,\n      labels: {\n        submitText: 'Buy Gift Card',\n      },\n      theme: {\n        accent: '#3c9c9e',\n        highlight: '#c8956c',\n      },\n    });\n  \u003C\u002Fscript>\n \n\u003C\u002Fbody>\n\u003C\u002Fhtml>'",{"type":391,"attrs":1039,"content":1040},{"level":393,"textAlign":59},[1041],{"text":1042,"type":389},"Configuration",{"type":384,"attrs":1044,"content":1045},{"textAlign":59},[1046,1048,1052,1054,1058],{"text":1047,"type":389},"Every option is optional except ",{"text":1049,"type":389,"marks":1050},"element",[1051],{"type":617},{"text":1053,"type":389}," and ",{"text":1055,"type":389,"marks":1056},"subdomain",[1057],{"type":617},{"text":1059,"type":389},". Pass only what you need to override.",{"type":391,"attrs":1061,"content":1062},{"level":700,"textAlign":59},[1063],{"text":1064,"type":389},"Store & Product",{"type":391,"attrs":1066,"content":1068},{"level":1067,"textAlign":59},4,[1069],{"text":1049,"type":389,"marks":1070},[1071],{"type":617},{"type":384,"attrs":1073,"content":1074},{"textAlign":59},[1075,1077],{"text":1076,"type":389},"CSS selector or DOM element to mount the form into. Default: ",{"text":1078,"type":389,"marks":1079},"'#foxy-giftcard'",[1080],{"type":617},{"type":391,"attrs":1082,"content":1083},{"level":1067,"textAlign":59},[1084],{"text":1055,"type":389,"marks":1085},[1086],{"type":617},{"type":384,"attrs":1088,"content":1089},{"textAlign":59},[1090,1092,1096,1098],{"text":1091,"type":389},"Your Foxy store domain. This can be the standard Foxy subdomain or a custom domain. The library appends ",{"text":1093,"type":389,"marks":1094},"\u002Fcart",[1095],{"type":617},{"text":1097,"type":389}," automatically using the URL Web API. Default: ",{"text":1099,"type":389,"marks":1100},"''",[1101],{"type":617},{"type":693,"attrs":1103,"content":1105},{"class":1104},"language-javascript",[1106],{"text":1107,"type":389},"\u002F\u002F Standard Foxy subdomain\nsubdomain: 'mystore.foxycart.com'\n \n\u002F\u002F Custom domain\nsubdomain: 'shop.mybrand.com'\n \n\u002F\u002F Also works with full URLs\nsubdomain: 'https:\u002F\u002Fmystore.foxycart.com'",{"type":391,"attrs":1109,"content":1110},{"level":1067,"textAlign":59},[1111],{"text":1112,"type":389,"marks":1113},"productName",[1114],{"type":617},{"type":384,"attrs":1116,"content":1117},{"textAlign":59},[1118,1120,1123,1125],{"text":1119,"type":389},"The product name sent to Foxy in the hidden ",{"text":614,"type":389,"marks":1121},[1122],{"type":617},{"text":1124,"type":389}," field. Default: ",{"text":1126,"type":389,"marks":1127},"'Gift Card'",[1128],{"type":617},{"type":391,"attrs":1130,"content":1131},{"level":1067,"textAlign":59},[1132],{"text":1133,"type":389,"marks":1134},"codePrefix",[1135],{"type":617},{"type":384,"attrs":1137,"content":1138},{"textAlign":59},[1139,1141,1145,1147],{"text":1140,"type":389},"The prefix used to build the product code. How the full code is built depends on whether ",{"text":1142,"type":389,"marks":1143},"giftCardCode",[1144],{"type":617},{"text":1146,"type":389}," is set and whether the amount has its own override (see Amounts below). Default: ",{"text":1148,"type":389,"marks":1149},"'gift_card'",[1150],{"type":617},{"type":391,"attrs":1152,"content":1153},{"level":1067,"textAlign":59},[1154],{"text":1142,"type":389,"marks":1155},[1156],{"type":617},{"type":384,"attrs":1158,"content":1159},{"textAlign":59},[1160,1162,1166,1168,1172,1173,1177,1179,1183,1185],{"text":1161,"type":389},"The main gift card SKU from your Foxy admin. When set, the default product code for all amounts becomes ",{"text":1163,"type":389,"marks":1164},"{codePrefix}_{giftCardCode}",[1165],{"type":617},{"text":1167,"type":389},". For example, with ",{"text":1169,"type":389,"marks":1170},"codePrefix: 'gift_card'",[1171],{"type":617},{"text":1053,"type":389},{"text":1174,"type":389,"marks":1175},"giftCardCode: 'gc'",[1176],{"type":617},{"text":1178,"type":389},", the code sent to Foxy is ",{"text":1180,"type":389,"marks":1181},"gift_card_gc",[1182],{"type":617},{"text":1184,"type":389},". Individual amount overrides take priority over this value. Default: ",{"text":1099,"type":389,"marks":1186},[1187],{"type":617},{"type":391,"attrs":1189,"content":1190},{"level":1067,"textAlign":59},[1191],{"text":654,"type":389,"marks":1192},[1193],{"type":617},{"type":384,"attrs":1195,"content":1196},{"textAlign":59},[1197,1199],{"text":1198,"type":389},"The Foxy product category. Default: ",{"text":1148,"type":389,"marks":1200},[1201],{"type":617},{"type":391,"attrs":1203,"content":1204},{"level":1067,"textAlign":59},[1205],{"text":1206,"type":389,"marks":1207},"templateSet",[1208],{"type":617},{"type":384,"attrs":1210,"content":1211},{"textAlign":59},[1212,1214,1218,1220],{"text":1213,"type":389},"A Foxy template set code. When set, the library adds a hidden ",{"text":1215,"type":389,"marks":1216},"template_set",[1217],{"type":617},{"text":1219,"type":389}," input to the form with this value. Leave empty to omit. Default: ",{"text":1099,"type":389,"marks":1221},[1222],{"type":617},{"type":391,"attrs":1224,"content":1225},{"level":700,"textAlign":59},[1226],{"text":1227,"type":389},"Currency & Amounts",{"type":391,"attrs":1229,"content":1230},{"level":1067,"textAlign":59},[1231],{"text":1232,"type":389,"marks":1233},"currency",[1234],{"type":617},{"type":384,"attrs":1236,"content":1237},{"textAlign":59},[1238,1240],{"text":1239,"type":389},"The symbol shown on amount buttons and inside the custom amount input. Default: ",{"text":1241,"type":389,"marks":1242},"'€'",[1243],{"type":617},{"type":391,"attrs":1245,"content":1246},{"level":1067,"textAlign":59},[1247],{"text":1248,"type":389,"marks":1249},"amounts",[1250],{"type":617},{"type":384,"attrs":1252,"content":1253},{"textAlign":59},[1254],{"text":1255,"type":389},"An array of predefined amounts shown as selectable buttons. Each entry can be a plain number or a string with a product code override.",{"type":384,"attrs":1257,"content":1258},{"textAlign":59},[1259,1261,1264,1266,1270],{"text":1260,"type":389},"A plain number uses the standard code resolution (",{"text":1142,"type":389,"marks":1262},[1263],{"type":617},{"text":1265,"type":389}," if set, otherwise the amount itself). A string with the ",{"text":1267,"type":389,"marks":1268},"{c:...}",[1269],{"type":617},{"text":1271,"type":389}," syntax sends the exact code inside the braces, bypassing the default code logic entirely.",{"type":384,"attrs":1273,"content":1274},{"textAlign":59},[1275,1277],{"text":1276,"type":389},"Default: ",{"text":1278,"type":389,"marks":1279},"[50, 100, 150, 200, 300, 500]",[1280],{"type":617},{"type":693,"attrs":1282,"content":1283},{"class":59},[1284],{"text":1285,"type":389},"amounts: [\n  '50{c:gift_card_50}',   \u002F\u002F sends product code \"gift_card_50\"\n  100,                      \u002F\u002F sends \"gift_card_custom\" (when giftCardCode is 'custom')\n  150,                      \n  200,\n  300,\n  500\n]",{"type":384,"attrs":1287,"content":1288},{"textAlign":59},[1289],{"text":1290,"type":389},"The code resolution priority for each amount is:",{"type":398,"attrs":1292,"content":1293},{"order":400},[1294,1306,1326],{"type":403,"content":1295},[1296],{"type":384,"attrs":1297,"content":1298},{"textAlign":59},[1299,1301,1304],{"text":1300,"type":389},"Per-amount override via ",{"text":1267,"type":389,"marks":1302},[1303],{"type":617},{"text":1305,"type":389}," syntax",{"type":403,"content":1307},[1308],{"type":384,"attrs":1309,"content":1310},{"textAlign":59},[1311,1314,1316,1319,1321,1324],{"text":1133,"type":389,"marks":1312},[1313],{"type":617},{"text":1315,"type":389}," + ",{"text":1142,"type":389,"marks":1317},[1318],{"type":617},{"text":1320,"type":389}," (if ",{"text":1142,"type":389,"marks":1322},[1323],{"type":617},{"text":1325,"type":389}," is set)",{"type":403,"content":1327},[1328],{"type":384,"attrs":1329,"content":1330},{"textAlign":59},[1331,1334],{"text":1133,"type":389,"marks":1332},[1333],{"type":617},{"text":1335,"type":389}," + the amount number",{"type":391,"attrs":1337,"content":1338},{"level":1067,"textAlign":59},[1339],{"text":1340,"type":389,"marks":1341},"highlightedAmount",[1342],{"type":617},{"type":384,"attrs":1344,"content":1345},{"textAlign":59},[1346,1348,1352,1354],{"text":1347,"type":389},"Which amount gets a badge displayed above the button. Set to ",{"text":1349,"type":389,"marks":1350},"null",[1351],{"type":617},{"text":1353,"type":389}," to disable. Default: ",{"text":1355,"type":389,"marks":1356},"100",[1357],{"type":617},{"type":391,"attrs":1359,"content":1360},{"level":1067,"textAlign":59},[1361],{"text":1362,"type":389,"marks":1363},"defaultAmount",[1364],{"type":617},{"type":384,"attrs":1366,"content":1367},{"textAlign":59},[1368,1370],{"text":1369,"type":389},"The pre-selected amount when the form first renders. Default: ",{"text":1371,"type":389,"marks":1372},"50",[1373],{"type":617},{"type":391,"attrs":1375,"content":1376},{"level":1067,"textAlign":59},[1377],{"text":1378,"type":389,"marks":1379},"allowCustomAmount",[1380],{"type":617},{"type":384,"attrs":1382,"content":1383},{"textAlign":59},[1384,1386],{"text":1385,"type":389},"Show a \"custom amount\" toggle that reveals a freeform number input. Default: ",{"text":1387,"type":389,"marks":1388},"true",[1389],{"type":617},{"type":391,"attrs":1391,"content":1392},{"level":1067,"textAlign":59},[1393],{"text":1394,"type":389,"marks":1395},"customAmountMin",[1396],{"type":617},{"type":384,"attrs":1398,"content":1399},{"textAlign":59},[1400,1402],{"text":1401,"type":389},"Minimum value accepted in the custom amount input. Default: ",{"text":1403,"type":389,"marks":1404},"1",[1405],{"type":617},{"type":391,"attrs":1407,"content":1408},{"level":1067,"textAlign":59},[1409],{"text":1410,"type":389,"marks":1411},"customAmountMax",[1412],{"type":617},{"type":384,"attrs":1414,"content":1415},{"textAlign":59},[1416,1418],{"text":1417,"type":389},"Maximum value accepted in the custom amount input. Default: ",{"text":1419,"type":389,"marks":1420},"10000",[1421],{"type":617},{"type":391,"attrs":1423,"content":1424},{"level":700,"textAlign":59},[1425],{"text":1426,"type":389},"Recipient",{"type":391,"attrs":1428,"content":1429},{"level":1067,"textAlign":59},[1430],{"text":1431,"type":389,"marks":1432},"showRecipientToggle",[1433],{"type":617},{"type":384,"attrs":1435,"content":1436},{"textAlign":59},[1437,1439],{"text":1438,"type":389},"Show the \"Myself \u002F Someone else\" toggle. When \"Someone else\" is selected, additional fields appear for the recipient's name, the sender's name, and an optional personal message. Default: ",{"text":1387,"type":389,"marks":1440},[1441],{"type":617},{"type":391,"attrs":1443,"content":1444},{"level":1067,"textAlign":59},[1445],{"text":1446,"type":389,"marks":1447},"showMessageField",[1448],{"type":617},{"type":384,"attrs":1450,"content":1451},{"textAlign":59},[1452,1454],{"text":1453,"type":389},"Show the optional message textarea when \"Someone else\" is selected. Default: ",{"text":1387,"type":389,"marks":1455},[1456],{"type":617},{"type":1458,"content":1459},"blockquote",[1460],{"type":384,"attrs":1461,"content":1462},{"textAlign":59},[1463,1467],{"text":1464,"type":389,"marks":1465},"Note:",[1466],{"type":430},{"text":1468,"type":389}," The recipient email field is always present and required. Gift cards need an email address for Foxy to deliver the voucher.",{"type":391,"attrs":1470,"content":1471},{"level":700,"textAlign":59},[1472],{"text":1473,"type":389},"Labels",{"type":384,"attrs":1475,"content":1476},{"textAlign":59},[1477,1479,1483],{"text":1478,"type":389},"All user-facing strings are configurable through the ",{"text":1480,"type":389,"marks":1481},"labels",[1482],{"type":617},{"text":1484,"type":389}," object. Override any individual string to localise or customise the form. You only need to include the strings you want to change.",{"type":693,"attrs":1486,"content":1487},{"class":59},[1488],{"text":1489,"type":389},"labels: {\n  amountHeading:          'Choose an amount',\n  customAmountButton:     'Enter a custom amount',\n  customAmountPlaceholder:'Enter amount',\n  highlightedBadge:       'Popular',\n  recipientHeading:       'Who is this for?',\n  recipientMyself:        'Myself',\n  recipientSomeoneElse:   'Someone else',\n  emailLabel:             'Recipient email',\n  emailPlaceholder:       'Where should we send the voucher?',\n  shiptoLabel:            \"Recipient's name\",\n  shiptoPlaceholder:      'Who is receiving this gift?',\n  fromLabel:              'Your name',\n  fromPlaceholder:        'Who is sending this gift?',\n  messageLabel:           'Message',\n  messageLabelNote:       '(optional)',\n  messagePlaceholder:     'Add a personal note...',\n  submitText:             'Add to Cart',\n}",{"type":391,"attrs":1491,"content":1492},{"level":1067,"textAlign":59},[1493],{"text":1494,"type":389},"Amount section strings",{"type":384,"attrs":1496,"content":1497},{"textAlign":59},[1498,1502,1504,1508,1510,1514,1516,1520],{"text":1499,"type":389,"marks":1500},"amountHeading",[1501],{"type":617},{"text":1503,"type":389}," — heading above the amount buttons grid. ",{"text":1505,"type":389,"marks":1506},"customAmountButton",[1507],{"type":617},{"text":1509,"type":389}," — text on the dashed custom amount toggle. ",{"text":1511,"type":389,"marks":1512},"customAmountPlaceholder",[1513],{"type":617},{"text":1515,"type":389}," — placeholder inside the custom amount input. ",{"text":1517,"type":389,"marks":1518},"highlightedBadge",[1519],{"type":617},{"text":1521,"type":389}," — text on the badge above the highlighted amount button.",{"type":391,"attrs":1523,"content":1524},{"level":1067,"textAlign":59},[1525],{"text":1526,"type":389},"Recipient section strings",{"type":384,"attrs":1528,"content":1529},{"textAlign":59},[1530,1534,1536,1540,1542,1546],{"text":1531,"type":389,"marks":1532},"recipientHeading",[1533],{"type":617},{"text":1535,"type":389}," — heading above the Myself \u002F Someone else toggle. ",{"text":1537,"type":389,"marks":1538},"recipientMyself",[1539],{"type":617},{"text":1541,"type":389}," — label on the \"Myself\" pill button. ",{"text":1543,"type":389,"marks":1544},"recipientSomeoneElse",[1545],{"type":617},{"text":1547,"type":389}," — label on the \"Someone else\" pill button.",{"type":391,"attrs":1549,"content":1550},{"level":1067,"textAlign":59},[1551],{"text":1552,"type":389},"Email strings",{"type":384,"attrs":1554,"content":1555},{"textAlign":59},[1556,1560,1562,1566],{"text":1557,"type":389,"marks":1558},"emailLabel",[1559],{"type":617},{"text":1561,"type":389}," — label above the email input. ",{"text":1563,"type":389,"marks":1564},"emailPlaceholder",[1565],{"type":617},{"text":1567,"type":389}," — placeholder inside the email input.",{"type":391,"attrs":1569,"content":1570},{"level":1067,"textAlign":59},[1571],{"text":1572,"type":389},"Someone-else field strings",{"type":384,"attrs":1574,"content":1575},{"textAlign":59},[1576,1580,1582,1586,1588,1592,1594,1598,1600,1604,1606,1610,1612,1616],{"text":1577,"type":389,"marks":1578},"shiptoLabel",[1579],{"type":617},{"text":1581,"type":389}," — label above the recipient name input. ",{"text":1583,"type":389,"marks":1584},"shiptoPlaceholder",[1585],{"type":617},{"text":1587,"type":389}," — placeholder inside the recipient name input. ",{"text":1589,"type":389,"marks":1590},"fromLabel",[1591],{"type":617},{"text":1593,"type":389}," — label above the sender name input. ",{"text":1595,"type":389,"marks":1596},"fromPlaceholder",[1597],{"type":617},{"text":1599,"type":389}," — placeholder inside the sender name input. ",{"text":1601,"type":389,"marks":1602},"messageLabel",[1603],{"type":617},{"text":1605,"type":389}," — label above the message textarea. ",{"text":1607,"type":389,"marks":1608},"messageLabelNote",[1609],{"type":617},{"text":1611,"type":389}," — lighter text appended to the message label (e.g. \"(optional)\"). ",{"text":1613,"type":389,"marks":1614},"messagePlaceholder",[1615],{"type":617},{"text":1617,"type":389}," — placeholder inside the message textarea.",{"type":391,"attrs":1619,"content":1620},{"level":1067,"textAlign":59},[1621],{"text":1622,"type":389},"Submit string",{"type":384,"attrs":1624,"content":1625},{"textAlign":59},[1626,1630],{"text":1627,"type":389,"marks":1628},"submitText",[1629],{"type":617},{"text":1631,"type":389}," — text on the submit button.",{"type":391,"attrs":1633,"content":1634},{"level":393,"textAlign":59},[1635],{"text":1636,"type":389},"Theme",{"type":384,"attrs":1638,"content":1639},{"textAlign":59},[1640,1642,1646],{"text":1641,"type":389},"Override any of the following properties inside a ",{"text":1643,"type":389,"marks":1644},"theme",[1645],{"type":617},{"text":1647,"type":389}," object to match your brand. You only need to include the properties you want to change.",{"type":693,"attrs":1649,"content":1650},{"class":59},[1651],{"text":1652,"type":389},"theme: {\n  accent:       '#3c9c9e',                    \u002F\u002F Primary color — buttons, focus rings, selected states\n  accentDark:   '#2d7a7c',                    \u002F\u002F Hover state for primary elements\n  accentSubtle: 'rgb(60 156 158 \u002F 0.09)',     \u002F\u002F Light tint used as selected backgrounds\n  text:         '#1a1a1a',                    \u002F\u002F Primary text color\n  textMedium:   '#4a4a4a',                    \u002F\u002F Secondary text (pill buttons)\n  textLight:    '#888',                       \u002F\u002F Tertiary text (labels, placeholders)\n  border:       '#e5e2dd',                    \u002F\u002F Border color for inputs and card\n  highlight:    '#c8956c',                    \u002F\u002F Highlighted badge background color\n  surface:      '#ffffff',                    \u002F\u002F Card and input background\n  radius:       '16px',                       \u002F\u002F Card corner radius\n  radiusSmall:  '10px',                       \u002F\u002F Button and input corner radius\n  fontFamily:   \"'Open Sans', sans-serif\",    \u002F\u002F Font stack for the entire form\n}",{"type":391,"attrs":1654,"content":1655},{"level":393,"textAlign":59},[1656],{"text":1657,"type":389},"Callbacks",{"type":384,"attrs":1659,"content":1660},{"textAlign":59},[1661],{"text":1662,"type":389},"Three optional hooks let you react to user actions or intercept form submission.",{"type":391,"attrs":1664,"content":1665},{"level":700,"textAlign":59},[1666],{"text":1667,"type":389,"marks":1668},"onAmountChange(amount, isCustom)",[1669],{"type":617},{"type":384,"attrs":1671,"content":1672},{"textAlign":59},[1673],{"text":1674,"type":389},"Fires when the user selects a preset amount or types a custom value.",{"type":384,"attrs":1676,"content":1677},{"textAlign":59},[1678,1682,1684,1688,1690,1693,1695,1699],{"text":1679,"type":389,"marks":1680},"amount",[1681],{"type":617},{"text":1683,"type":389}," is the numeric value. ",{"text":1685,"type":389,"marks":1686},"isCustom",[1687],{"type":617},{"text":1689,"type":389}," is ",{"text":1387,"type":389,"marks":1691},[1692],{"type":617},{"text":1694,"type":389}," when the value comes from the custom input, ",{"text":1696,"type":389,"marks":1697},"false",[1698],{"type":617},{"text":1700,"type":389}," for preset buttons.",{"type":693,"attrs":1702,"content":1703},{"class":59},[1704],{"text":1705,"type":389},"onAmountChange(amount, isCustom) {\n  console.log('Selected:', amount, isCustom ? '(custom)' : '');\n}",{"type":391,"attrs":1707,"content":1708},{"level":700,"textAlign":59},[1709],{"text":1710,"type":389,"marks":1711},"onRecipientChange(type)",[1712],{"type":617},{"type":384,"attrs":1714,"content":1715},{"textAlign":59},[1716],{"text":1717,"type":389},"Fires when toggling between \"Myself\" and \"Someone else\".",{"type":384,"attrs":1719,"content":1720},{"textAlign":59},[1721,1725,1727,1731,1733,1737],{"text":1722,"type":389,"marks":1723},"type",[1724],{"type":617},{"text":1726,"type":389}," is either ",{"text":1728,"type":389,"marks":1729},"'myself'",[1730],{"type":617},{"text":1732,"type":389}," or ",{"text":1734,"type":389,"marks":1735},"'someone-else'",[1736],{"type":617},{"text":432,"type":389},{"type":693,"attrs":1739,"content":1740},{"class":59},[1741],{"text":1742,"type":389},"onRecipientChange(type) {\n  console.log('Recipient:', type);\n}",{"type":391,"attrs":1744,"content":1745},{"level":700,"textAlign":59},[1746],{"text":1747,"type":389,"marks":1748},"onBeforeSubmit(formData)",[1749],{"type":617},{"type":384,"attrs":1751,"content":1752},{"textAlign":59},[1753,1755,1758],{"text":1754,"type":389},"Fires when the form is submitted. Return ",{"text":1696,"type":389,"marks":1756},[1757],{"type":617},{"text":1759,"type":389}," to prevent the submission.",{"type":384,"attrs":1761,"content":1762},{"textAlign":59},[1763,1767],{"text":1764,"type":389,"marks":1765},"formData",[1766],{"type":617},{"text":1768,"type":389}," is a plain object with all form field name\u002Fvalue pairs.",{"type":693,"attrs":1770,"content":1771},{"class":59},[1772],{"text":1773,"type":389},"onBeforeSubmit(formData) {\n  console.log('Submitting:', formData);\n  \u002F\u002F return false; \u002F\u002F uncomment to block submission\n}",{"type":391,"attrs":1775,"content":1776},{"level":393,"textAlign":59},[1777],{"text":1778,"type":389},"Cleanup",{"type":384,"attrs":1780,"content":1781},{"textAlign":59},[1782,1785],{"text":1013,"type":389,"marks":1783},[1784],{"type":617},{"text":1786,"type":389}," returns a handle you can use to remove the form and its styles later:",{"type":693,"attrs":1788,"content":1789},{"class":59},[1790],{"text":1791,"type":389},"const giftCard = FoxyGiftCard.init({\n  element: '#gift-card-form',\n  subdomain: 'your-store.foxycart.com',\n});\n \n\u002F\u002F Later, to tear down:\ngiftCard.destroy();",{"type":391,"attrs":1793,"content":1794},{"level":393,"textAlign":59},[1795],{"text":1796,"type":389},"CSS Classes",{"type":384,"attrs":1798,"content":1799},{"textAlign":59},[1800,1802,1806],{"text":1801,"type":389},"All classes are scoped to your mount element and prefixed with ",{"text":1803,"type":389,"marks":1804},"foxy-gc-",[1805],{"type":617},{"text":1807,"type":389},". You can use them to add custom style overrides on top of the theme config.",{"type":391,"attrs":1809,"content":1810},{"level":700,"textAlign":59},[1811],{"text":1812,"type":389},"Card layout",{"type":384,"attrs":1814,"content":1815},{"textAlign":59},[1816,1820],{"text":1817,"type":389,"marks":1818},"foxy-gc-form-card",[1819],{"type":617},{"text":1821,"type":389}," — outer card wrapper. Controls the border, padding, max-width, corner radius, and the entrance animation.",{"type":391,"attrs":1823,"content":1824},{"level":700,"textAlign":59},[1825],{"text":1826,"type":389},"Amount selection",{"type":384,"attrs":1828,"content":1829},{"textAlign":59},[1830,1834],{"text":1831,"type":389,"marks":1832},"foxy-gc-amount-grid",[1833],{"type":617},{"text":1835,"type":389}," — the 3-column grid layout that holds the preset price buttons.",{"type":384,"attrs":1837,"content":1838},{"textAlign":59},[1839,1843],{"text":1840,"type":389,"marks":1841},"foxy-gc-amount-button",[1842],{"type":617},{"text":1844,"type":389}," — an individual price button. Controls the size, border, font, and hover state.",{"type":384,"attrs":1846,"content":1847},{"textAlign":59},[1848,1852],{"text":1849,"type":389,"marks":1850},"foxy-gc-amount-button--selected",[1851],{"type":617},{"text":1853,"type":389}," — the active state applied to the currently selected button. Adds the accent border and background tint.",{"type":384,"attrs":1855,"content":1856},{"textAlign":59},[1857,1861],{"text":1858,"type":389,"marks":1859},"foxy-gc-amount-highlighted-tag",[1860],{"type":617},{"text":1862,"type":389}," — the small badge (e.g. \"Popular\") that floats above a button.",{"type":384,"attrs":1864,"content":1865},{"textAlign":59},[1866,1870],{"text":1867,"type":389,"marks":1868},"foxy-gc-custom-toggle",[1869],{"type":617},{"text":1871,"type":389}," — the dashed-border \"Enter a custom amount\" button.",{"type":384,"attrs":1873,"content":1874},{"textAlign":59},[1875,1879],{"text":1876,"type":389,"marks":1877},"foxy-gc-custom-toggle--selected",[1878],{"type":617},{"text":1880,"type":389}," — the active state when the custom input is open. Switches the border to solid and applies the accent tint.",{"type":384,"attrs":1882,"content":1883},{"textAlign":59},[1884,1888],{"text":1885,"type":389,"marks":1886},"foxy-gc-custom-input-wrapper",[1887],{"type":617},{"text":1889,"type":389}," — the container for the custom number input. Hidden by default.",{"type":384,"attrs":1891,"content":1892},{"textAlign":59},[1893,1897],{"text":1894,"type":389,"marks":1895},"foxy-gc-custom-input-wrapper--visible",[1896],{"type":617},{"text":1898,"type":389}," — makes the custom input container visible.",{"type":384,"attrs":1900,"content":1901},{"textAlign":59},[1902,1906],{"text":1903,"type":389,"marks":1904},"foxy-gc-custom-currency-symbol",[1905],{"type":617},{"text":1907,"type":389}," — the currency symbol (e.g. €) positioned inside the custom input.",{"type":391,"attrs":1909,"content":1910},{"level":700,"textAlign":59},[1911],{"text":1912,"type":389},"Form fields",{"type":384,"attrs":1914,"content":1915},{"textAlign":59},[1916,1920],{"text":1917,"type":389,"marks":1918},"foxy-gc-form-field",[1919],{"type":617},{"text":1921,"type":389}," — the wrapper around each label + input pair. Controls spacing.",{"type":384,"attrs":1923,"content":1924},{"textAlign":59},[1925,1929],{"text":1926,"type":389,"marks":1927},"foxy-gc-form-field--hidden",[1928],{"type":617},{"text":1930,"type":389}," — hides a field. Used on the conditional \"someone else\" fields.",{"type":384,"attrs":1932,"content":1933},{"textAlign":59},[1934,1938],{"text":1935,"type":389,"marks":1936},"foxy-gc-field-label",[1937],{"type":617},{"text":1939,"type":389}," — the uppercase label above each input.",{"type":384,"attrs":1941,"content":1942},{"textAlign":59},[1943,1947],{"text":1944,"type":389,"marks":1945},"foxy-gc-field-label-note",[1946],{"type":617},{"text":1948,"type":389}," — lighter inline text within a label (e.g. \"(optional)\").",{"type":384,"attrs":1950,"content":1951},{"textAlign":59},[1952,1956],{"text":1953,"type":389,"marks":1954},"foxy-gc-text-input",[1955],{"type":617},{"text":1957,"type":389}," — single-line text, email, and number inputs. Controls the border, padding, focus ring, and placeholder color.",{"type":384,"attrs":1959,"content":1960},{"textAlign":59},[1961,1965],{"text":1962,"type":389,"marks":1963},"foxy-gc-textarea",[1964],{"type":617},{"text":1966,"type":389}," — the multi-line message input. Controls the min-height and resize behavior.",{"type":384,"attrs":1968,"content":1969},{"textAlign":59},[1970,1974],{"text":1971,"type":389,"marks":1972},"foxy-gc-section-divider",[1973],{"type":617},{"text":1975,"type":389}," — the horizontal line separating form sections.",{"type":391,"attrs":1977,"content":1978},{"level":700,"textAlign":59},[1979],{"text":1980,"type":389},"Recipient toggle",{"type":384,"attrs":1982,"content":1983},{"textAlign":59},[1984,1988],{"text":1985,"type":389,"marks":1986},"foxy-gc-recipient-toggle",[1987],{"type":617},{"text":1989,"type":389}," — the flex row containing the two pill buttons.",{"type":384,"attrs":1991,"content":1992},{"textAlign":59},[1993,1997],{"text":1994,"type":389,"marks":1995},"foxy-gc-recipient-pill",[1996],{"type":617},{"text":1998,"type":389}," — an individual toggle pill (Myself or Someone else).",{"type":384,"attrs":2000,"content":2001},{"textAlign":59},[2002,2006],{"text":2003,"type":389,"marks":2004},"foxy-gc-recipient-pill--selected",[2005],{"type":617},{"text":2007,"type":389}," — the active state. Adds the accent border and background tint.",{"type":391,"attrs":2009,"content":2010},{"level":700,"textAlign":59},[2011],{"text":2012,"type":389},"Submit",{"type":384,"attrs":2014,"content":2015},{"textAlign":59},[2016,2020],{"text":2017,"type":389,"marks":2018},"foxy-gc-submit-button",[2019],{"type":617},{"text":2021,"type":389}," — the full-width CTA. Controls the background, text color, padding, and hover shadow.",{"type":2023,"attrs":2024},"blok",{"id":2025,"body":2026},"370adfcc-2cc0-47c4-9216-1646439b1010",[2027],{"_uid":2028,"body":2029,"type":2036,"title":2037,"component":2038},"i-c14fa1ac-13b1-4bf0-90a3-337480f5aa2a",{"type":381,"content":2030},[2031],{"type":384,"attrs":2032,"content":2033},{"textAlign":59},[2034],{"text":2035,"type":389},"This Gift Card widget is just one way to sell Gift Cards on your website using Foxy. You can of course create \"normal\" cart links and forms if you have specific needs.","info","Want something different? No problem.","global___alert",{"id":999,"alt":13,"name":13,"focus":13,"title":13,"source":13,"filename":1000,"copyright":13,"fieldtype":81,"meta_data":2040,"is_external_url":24},{},"Our drop-in gift card form allows you to easily sell digital gift cards, with pre-set or custom amounts, recipient email delivery, optional personal messages, and a fully configurable theme that matches your store's branding.",[],"selling-gift-cards-with-the-gift-card-element","help\u002Farticles\u002Fselling-gift-cards-with-the-gift-card-element",-1240,[],"3a88b39a-f574-4f51-a8fc-6e53e7146fdf","2026-03-12T19:41:27.863Z",[],{"name":836,"created_at":2051,"published_at":2052,"updated_at":2053,"id":2054,"uuid":2055,"content":2056,"slug":2222,"full_slug":2223,"sort_by_date":59,"position":2224,"tag_list":2225,"is_startpage":24,"parent_id":752,"meta_data":59,"group_id":2226,"first_published_at":2052,"release_id":59,"lang":65,"path":59,"alternates":2227,"default_full_slug":59,"translated_slugs":59},"2026-07-17T01:19:20.951Z","2026-07-17T01:21:55.352Z","2026-07-17T01:21:55.367Z",198908153704091,"160d5414-88f8-4235-884d-8d3dec6d4c1d",{"_uid":2057,"body":2058,"name":836,"image":2218,"pinned":24,"summary":2220,"category":320,"component":266,"related_articles":2221},"9eb03d73-1bbf-480c-8a32-b5a28118a246",{"type":381,"content":2059},[2060,2065,2069,2080,2085,2120,2124,2151,2156,2166,2188,2193,2197],{"type":384,"attrs":2061,"content":2062},{"textAlign":59},[2063],{"text":2064,"type":389},"You can enable a gift card for customer purchase and set up its recipient notification email entirely through the API, as an alternative to the admin UI.",{"type":391,"attrs":2066,"content":2067},{"level":393,"textAlign":59},[2068],{"text":396,"type":389},{"type":384,"attrs":2070,"content":2071},{"textAlign":59},[2072,2074,2078],{"text":2073,"type":389},"When creating a gift card via the API, include a ",{"text":2075,"type":389,"marks":2076},"provisioning_config",[2077],{"type":617},{"text":2079,"type":389}," object to allow customers to purchase it:",{"type":693,"attrs":2081,"content":2082},{"class":59},[2083],{"text":2084,"type":389},"{\n  \"name\": \"Widgets Gift Card\",\n  \"provisioning_config\": {\n    \"allow_autoprovisioning\": true,\n    \"initial_balance_max\": 100,\n    \"initial_balance_min\": 10\n  },\n  \"sku\": \"widgets\"\n}\n",{"type":606,"content":2086},[2087,2103],{"type":403,"content":2088},[2089],{"type":384,"attrs":2090,"content":2091},{"textAlign":59},[2092,2096,2098,2101],{"text":2093,"type":389,"marks":2094},"allow_autoprovisioning",[2095],{"type":617},{"text":2097,"type":389}," — set to ",{"text":1696,"type":389,"marks":2099},[2100],{"type":617},{"text":2102,"type":389}," to disallow new gift cards from being purchased by customers",{"type":403,"content":2104},[2105],{"type":384,"attrs":2106,"content":2107},{"textAlign":59},[2108,2112,2114,2118],{"text":2109,"type":389,"marks":2110},"initial_balance_min",[2111],{"type":617},{"text":2113,"type":389}," \u002F ",{"text":2115,"type":389,"marks":2116},"initial_balance_max",[2117],{"type":617},{"text":2119,"type":389}," — set the minimum and maximum balance a customer can put on the gift card when purchasing",{"type":391,"attrs":2121,"content":2122},{"level":393,"textAlign":59},[2123],{"text":457,"type":389},{"type":398,"attrs":2125,"content":2126},{"order":400},[2127],{"type":403,"content":2128},[2129],{"type":384,"attrs":2130,"content":2131},{"textAlign":59},[2132,2134,2138,2140,2144,2145,2149],{"text":2133,"type":389},"Create a new email template by posting to the ",{"text":2135,"type":389,"marks":2136},"email_templates",[2137],{"type":617},{"text":2139,"type":389}," resource, including at minimum a ",{"text":2141,"type":389,"marks":2142},"description",[2143],{"type":617},{"text":1053,"type":389},{"text":2146,"type":389,"marks":2147},"subject",[2148],{"type":617},{"text":2150,"type":389},":",{"type":693,"attrs":2152,"content":2153},{"class":59},[2154],{"text":2155,"type":389},"{\n  \"description\": \"Gift Card Template\",\n  \"subject\": \"You have a gift!\"\n}\n",{"type":384,"attrs":2157,"content":2158},{"textAlign":59},[2159,2161,2165],{"text":2160,"type":389},"The API returns the new template’s URL, for example ",{"text":2162,"type":389,"marks":2163},"https:\u002F\u002F...\u002Femail_templates\u002F87992",[2164],{"type":617},{"text":432,"type":389},{"type":398,"attrs":2167,"content":2168},{"order":400},[2169],{"type":403,"content":2170},[2171],{"type":384,"attrs":2172,"content":2173},{"textAlign":59},[2174,2176,2180,2182,2186],{"text":2175,"type":389},"Associate the template with the category customers will use when purchasing the gift card. Send a PATCH request to the ",{"text":2177,"type":389,"marks":2178},"item_categories",[2179],{"type":617},{"text":2181,"type":389}," resource for that category, setting ",{"text":2183,"type":389,"marks":2184},"gift_recipient_email_template_uri",[2185],{"type":617},{"text":2187,"type":389}," to the template’s URL:",{"type":693,"attrs":2189,"content":2190},{"class":59},[2191],{"text":2192,"type":389},"{\n  \"gift_recipient_email_template_uri\": \"https:\u002F\u002Fapi.foxycart.com\u002Femail_templates\u002F{{your_new_email_template_id}}\"\n}\n",{"type":391,"attrs":2194,"content":2195},{"level":393,"textAlign":59},[2196],{"text":734,"type":389},{"type":606,"content":2198},[2199,2211],{"type":403,"content":2200},[2201],{"type":384,"attrs":2202,"content":2203},{"textAlign":59},[2204,2206,2210],{"text":2205,"type":389},"This covers the API path only. For the equivalent steps in the admin UI, see ",{"text":372,"type":389,"marks":2207},[2208],{"type":414,"attrs":2209},{"href":853,"uuid":59,"anchor":59,"target":59,"linktype":31},{"text":432,"type":389},{"type":403,"content":2212},[2213],{"type":384,"attrs":2214,"content":2215},{"textAlign":59},[2216],{"text":2217,"type":389},"You’ll still need to build a storefront add-to-cart form for customers to purchase the gift card — see the same article for the required fields.",{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":2219},{},"How to enable a gift card for customer purchase and set up its notification email using the API.",[],"set-up-gift-cards-for-purchase-via-the-api","help\u002Farticles\u002Fset-up-gift-cards-for-purchase-via-the-api",-3580,[],"ee884ce7-4443-45de-8333-6278b8172c20",[],{"name":2229,"created_at":2230,"published_at":2231,"updated_at":2232,"id":2233,"uuid":47,"content":2234,"slug":48,"full_slug":48,"sort_by_date":59,"position":2408,"tag_list":2409,"is_startpage":24,"parent_id":59,"meta_data":59,"group_id":2410,"first_published_at":2411,"release_id":59,"lang":65,"path":59,"alternates":2412,"default_full_slug":59,"translated_slugs":59},"Contact","2022-09-23T19:56:58.957Z","2025-05-08T18:24:40.382Z","2025-05-08T18:24:40.392Z",3138,{"seo":2235,"_uid":2238,"title":2239,"action":2240,"fields":2241,"method":2385,"columns":2386,"subtitle":2400,"component":48,"button_text":2012,"submit_title":2406,"submit_subtitle":2407},{"_uid":2236,"title":2229,"plugin":2237,"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",[2242,2246,2250,2357,2360,2365,2379],{"_uid":2243,"name":614,"type":389,"label":2244,"options":13,"required":33,"component":2245,"placeholder":13},"9a70b226-2036-4f90-a052-b3efa61c5896","Name","form___field",{"_uid":2247,"name":2248,"type":2248,"label":2249,"options":13,"required":33,"component":2245,"placeholder":13},"86ba35be-ff43-4a28-8633-14052a8f6622","email","Email Address",{"_uid":2251,"name":2252,"type":2253,"label":2254,"options":2255,"required":33,"component":2245,"conditions":2256,"placeholder":13},"3f827475-492c-4f97-aa1e-2386ac263b6c","topic","select","Topic","Presales, Support, Billing, Partnerships, Order Enquiry, Other",[2257,2311,2321,2328,2336,2344,2350],{"_uid":2258,"equals":2259,"fields":2260,"component":2310},"e21d97dd-e68e-4fa6-ba97-bc40f3041dde","Order Enquiry",[2261],{"_uid":2262,"body":2263,"type":2309,"title":13,"component":2038},"b64992bc-6d53-48b8-b7a0-d81e5a062e50",{"type":381,"content":2264},[2265],{"type":384,"content":2266},[2267,2269,2276,2278,2280,2281,2285,2287,2292,2300,2302,2307],{"text":2268,"type":389},"We are ",{"text":2270,"type":389,"marks":2271},"Foxy.io",[2272],{"type":414,"attrs":2273},{"href":2274,"uuid":59,"anchor":59,"custom":2275,"target":59,"linktype":31},"http:\u002F\u002FFoxy.io",{},{"text":2277,"type":389},", 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":2279},"hard_break",{"type":2279},{"text":2282,"type":389,"marks":2283},"NOTE:",[2284],{"type":430},{"text":2286,"type":389}," We are ",{"text":2288,"type":389,"marks":2289},"not ",[2290],{"type":2291},"italic",{"text":2293,"type":389,"marks":2294},"Foxy.in",[2295,2299],{"type":414,"attrs":2296},{"href":2297,"uuid":59,"anchor":59,"custom":2298,"target":59,"linktype":31},"http:\u002F\u002FFoxy.in",{},{"type":2291},{"text":2301,"type":389},". We are not in any way affiliated with ",{"text":2293,"type":389,"marks":2303},[2304],{"type":414,"attrs":2305},{"href":2297,"uuid":59,"anchor":59,"custom":2306,"target":59,"linktype":31},{},{"text":2308,"type":389},", and cannot help in any way with your order from that website.","danger","form___condition",{"_uid":2312,"equals":2313,"fields":2314,"component":2310},"8765c3e1-25cf-44aa-b8ea-fc6094acf9c3","Presales",[2315],{"_uid":2316,"name":2317,"type":2318,"label":13,"options":13,"required":24,"component":2245,"conditions":2319,"placeholder":13,"default_value":2320},"cf464f8e-d643-4f6e-af29-d3abffaf7380","department_email_address","hidden",[],"hello@foxy.io",{"_uid":2322,"equals":208,"fields":2323,"component":2310},"4007b6d8-77e5-421d-bd1e-6f336dd853fb",[2324],{"_uid":2325,"name":2317,"type":2318,"label":13,"options":13,"required":24,"component":2245,"conditions":2326,"placeholder":13,"default_value":2327},"7b4c6aa5-a68c-45e0-9ce1-0a36af10c0c2",[],"help@foxy.io",{"_uid":2329,"equals":2330,"fields":2331,"component":2310},"1dbb8f11-613d-43cd-9e09-1b94f6e19219","Billing",[2332],{"_uid":2333,"name":2317,"type":2318,"label":13,"options":13,"required":24,"component":2245,"conditions":2334,"placeholder":13,"default_value":2335},"a0ac0d1b-bc4f-4a6c-a682-581d450b0b73",[],"help+billing@foxy.io",{"_uid":2337,"equals":2338,"fields":2339,"component":2310},"a0a53a50-7172-4a29-ba58-181e38874e12","Partnerships",[2340],{"_uid":2341,"name":2317,"type":2318,"label":13,"options":13,"required":24,"component":2245,"conditions":2342,"placeholder":13,"default_value":2343},"7aa011d9-f374-4aed-b5a5-929b54aaf152",[],"partners@foxy.io",{"_uid":2345,"equals":2259,"fields":2346,"component":2310},"a4cd431f-25d5-41c7-bfdc-02c908c8fb47",[2347],{"_uid":2348,"name":2317,"type":2318,"label":13,"options":13,"required":24,"component":2245,"conditions":2349,"placeholder":13,"default_value":2320},"f5d52168-d6ae-451b-94ee-2ced1cbd28ad",[],{"_uid":2351,"equals":2352,"fields":2353,"component":2310},"25aba1ed-eb41-4bbc-aa89-f7a7167ea86e","Other",[2354],{"_uid":2355,"name":2317,"type":2318,"label":13,"options":13,"required":24,"component":2245,"conditions":2356,"placeholder":13,"default_value":2320},"f40dfaef-c203-4b71-bf4e-e1b43cef192b",[],{"_uid":2358,"component":2359},"e9c53a05-f40a-4510-aaf8-bc072a235a0c","form___subject",{"_uid":2361,"name":2362,"type":2363,"label":2364,"options":13,"required":33,"component":2245,"placeholder":13},"a4c4d385-fff4-4978-99fb-b68cfea623d6","message","textarea","Message",{"_uid":2366,"name":2367,"type":2253,"label":2368,"options":2369,"required":33,"component":2245,"conditions":2370,"placeholder":13},"8a3c9f85-f438-427d-9c7a-d7b295a14b5b","existing_user","Are you an existing user?","No, Yes",[2371],{"_uid":2372,"equals":2373,"fields":2374,"component":2310},"115933d6-262a-4b59-8fa8-579c5ad73de1","Yes",[2375],{"_uid":2376,"name":1055,"type":389,"label":2377,"options":13,"required":33,"component":2245,"conditions":2378,"placeholder":13},"44b6ff23-98f0-4e95-b7f5-c23e06415c2d","Store Subdomain",[],{"_uid":2380,"name":2381,"type":2253,"label":2382,"options":2383,"required":33,"component":2245,"conditions":2384,"placeholder":13},"922a5cef-3af2-4113-8855-36c7910e3ee3","user_type","What type of user are you?","Developer, Designer, Merchant",[],"POST",[2387],{"_uid":2388,"text":2389,"title":2398,"component":2399},"7323b90d-a93a-4bf1-baa9-20d0b7ead61b",{"type":381,"content":2390},[2391],{"type":384,"content":2392},[2393,2395,2396],{"text":2394,"type":389},"855.369.9227",{"type":2279},{"text":2397,"type":389},"9:30am-6pm Central M-F","Pre-sales, Sales, & Partnerships","contact___footer_column",{"type":381,"content":2401},[2402],{"type":384,"content":2403},[2404],{"text":2405,"type":389},"Get in touch to get help from our friendly support team.","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",[],{},1784562233656]