[{"data":1,"prerenderedAt":706},["ShallowReactive",2],{"header:help":3,"footer:default":67,"story:navigation\u002Fsearch:help":250,"story:help\u002Fcategories":288,"story:help\u002Farticles\u002Fset-up-outgoing-single-sign-on-on-the-receipt":314,"no-guide:set-up-outgoing-single-sign-on-on-the-receipt":59,"article:\u002Fhelp\u002Farticles\u002Fset-up-outgoing-single-sign-on-on-the-receipt":470,"story:contact":488,"help:tree:61014ac1-01a8-451e-a151-92ce34d6800c":679,"_apollo:default":705},{"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":463,"full_slug":464,"sort_by_date":59,"position":465,"tag_list":466,"is_startpage":24,"parent_id":467,"meta_data":59,"group_id":468,"first_published_at":317,"release_id":59,"lang":65,"path":59,"alternates":469,"default_full_slug":59,"translated_slugs":59},"Set up outgoing single sign-on on the receipt","2026-07-17T05:37:10.676Z","2026-07-17T05:52:01.242Z","2026-07-17T05:52:01.264Z",198971517701535,"61014ac1-01a8-451e-a151-92ce34d6800c",{"_uid":322,"body":323,"name":315,"image":458,"pinned":24,"summary":460,"category":461,"component":266,"related_articles":462},"89cf129c-4970-49af-b547-06793b3a6325",{"type":324,"content":325},"doc",[326,333,340,374,379,385,390,395,400,405,410,415,420],{"type":327,"attrs":328,"content":329},"paragraph",{"textAlign":59},[330],{"text":331,"type":332},"Outgoing (or “reverse”) single sign-on generates an authentication token from the Foxy receipt page and passes it to your own site, so a customer who just checked out can be logged in automatically or offered a single-click upsell. This requires a solid understanding of standard single sign-on first, since the same token logic applies in reverse.","text",{"type":334,"attrs":335,"content":337},"heading",{"level":336,"textAlign":59},2,[338],{"text":339,"type":332},"Steps: log a new customer into your site automatically",{"type":341,"attrs":342,"content":344},"ordered_list",{"order":343},1,[345,353,360,367],{"type":346,"content":347},"list_item",[348],{"type":327,"attrs":349,"content":350},{"textAlign":59},[351],{"text":352,"type":332},"In your custom receipt template, add Twig code that generates a reverse single sign-on token and URL on the customer’s first view of the receipt, only for non-guest customers.",{"type":346,"content":354},[355],{"type":327,"attrs":356,"content":357},{"textAlign":59},[358],{"text":359,"type":332},"Set the receipt’s continue link to point to that reverse single sign-on URL instead of your regular site.",{"type":346,"content":361},[362],{"type":327,"attrs":363,"content":364},{"textAlign":59},[365],{"text":366,"type":332},"On your endpoint, verify the fc_auth_token, timestamp, and fc_customer_id parameters the same way a standard single sign-on endpoint would.",{"type":346,"content":368},[369],{"type":327,"attrs":370,"content":371},{"textAlign":59},[372],{"text":373,"type":332},"If the token checks out, use the API to fetch the customer’s information, create or log them in on your site, and forward them on as an authenticated user.",{"type":334,"attrs":375,"content":376},{"level":336,"textAlign":59},[377],{"text":378,"type":332},"Example: Twig code for the receipt",{"type":380,"attrs":381,"content":382},"code_block",{"class":59},[383],{"text":384,"type":332},"{% set reverse_sso_url = \"\" %}\n{% if first_receipt_display and not is_anonymous %}\n  {% set timestamp = checkout_date | date_modify(\"+120 seconds\") | date(\"U\") %}\n  {% set reverse_sso_url = \"https:\u002F\u002Fwww.yourwebsite.com\u002Freversesso.php?fc_auth_token=\" ~ generate_sso_token(timestamp) ~ \"×tamp=\" ~ timestamp ~ \"&fc_customer_id=\" ~ customer_id %}\n  {% set continue_url = reverse_sso_url %}\n{% endif %}\n",{"type":327,"attrs":386,"content":387},{"textAlign":59},[388],{"text":389,"type":332},"This only runs on the customer’s first view of the receipt, so revisiting the receipt later (from an email link) won’t trigger another redirect. generate_sso_token() takes a single timestamp argument and returns the token. customer_id is available to Twig templates automatically.",{"type":334,"attrs":391,"content":392},{"level":336,"textAlign":59},[393],{"text":394,"type":332},"Example: verifying the token and logging the customer in",{"type":380,"attrs":396,"content":397},{"class":59},[398],{"text":399,"type":332},"if (isset($_GET['fc_auth_token'])) {\n    $fc_auth_token = $_GET['fc_auth_token'];\n    $customer_id = $_GET['fc_customer_id'];\n    $timestamp = $_GET['timestamp'];\n}\n\n$local_auth_token = sha1($customer_id . '|' . $timestamp . '|' . $foxycart_api_key);\n$local_timestamp = date('U');\n\nif ($fc_auth_token == $local_auth_token && $timestamp > $local_timestamp) {\n    \u002F\u002F Everything checks out, log the user in\n    \u002F\u002F Enter your logic here\n}\n\n\u002F\u002F Redirect the customer on to your own website\nheader('Location: http:\u002F\u002Fwww.yourwebsite.com');\n",{"type":334,"attrs":401,"content":402},{"level":336,"textAlign":59},[403],{"text":404,"type":332},"Example: single-click upsell on the receipt",{"type":327,"attrs":406,"content":407},{"textAlign":59},[408],{"text":409,"type":332},"The same token mechanism can offer a post-purchase upsell. On click (or on page load, for a fully automatic version), add a product to the cart with a JSONP request, then redirect straight to checkout with a fresh token so the transaction can complete without re-authentication:",{"type":380,"attrs":411,"content":412},{"class":59},[413],{"text":414,"type":332},"{% if first_receipt_display == 1 and is_anonymous == 0 %}\n\u003Cscript>\n  {% set timestamp = checkout_date | date_modify(\"+120 seconds\") | date(\"U\") %}\n  if (!FC.json.custom_fields.upsell) {\n    FC.client.request('https:\u002F\u002F' + FC.settings.storedomain + '\u002Fcart?name=Cool+Example&price=20&color=red&code=sku123&empty=reset&h:upsell=true').done(function(data) {\n      var url = 'https:\u002F\u002F' + FC.settings.storedomain + '\u002Fcheckout?fc_auth_token={{ generate_sso_token(timestamp) }}×tamp={{ timestamp }}&fc_customer_id={{ customer_id }}';\n      window.location.href = url;\n    });\n  }\n\u003C\u002Fscript>\n{% endif %}\n",{"type":334,"attrs":416,"content":417},{"level":336,"textAlign":59},[418],{"text":419,"type":332},"Notes",{"type":421,"content":422},"bullet_list",[423,430,437,444,451],{"type":346,"content":424},[425],{"type":327,"attrs":426,"content":427},{"textAlign":59},[428],{"text":429,"type":332},"A guest customer can’t use single sign-on, so both examples only work for accounts, not guest checkouts, hence the is_anonymous check.",{"type":346,"content":431},[432],{"type":327,"attrs":433,"content":434},{"textAlign":59},[435],{"text":436,"type":332},"Keep the token’s expiration short, no more than a few minutes, since it substitutes for password-based authentication.",{"type":346,"content":438},[439],{"type":327,"attrs":440,"content":441},{"textAlign":59},[442],{"text":443,"type":332},"Only use this over an https connection, since the tokens are passed in the URL.",{"type":346,"content":445},[446],{"type":327,"attrs":447,"content":448},{"textAlign":59},[449],{"text":450,"type":332},"To skip the Foxy receipt entirely and forward straight to your reverse single sign-on URL, replace {% set continue_url = reverse_sso_url %} with \u003Cscript>window.location = ‘{{ reverse_sso_url }}’;\u003C\u002Fscript>.",{"type":346,"content":452},[453],{"type":327,"attrs":454,"content":455},{"textAlign":59},[456],{"text":457,"type":332},"To add a custom link or button pointing to your reverse single sign-on endpoint elsewhere on the receipt, reference the {{ reverse_sso_url }} Twig variable.",{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":459},{},"How to generate a single sign-on token from the receipt page so customers can be redirected to your site already authenticated, or offered a single-click upsell.","89b14cf6-52cb-41c8-8aed-7ceae33cb271",[],"set-up-outgoing-single-sign-on-on-the-receipt","help\u002Farticles\u002Fset-up-outgoing-single-sign-on-on-the-receipt",-3710,[],2659,"74b8d73a-432a-4ccf-b120-5b47703c6780",[],{"html":471,"sections":472,"segments":484},"\u003Cp>Outgoing (or “reverse”) single sign-on generates an authentication token from the Foxy receipt page and passes it to your own site, so a customer who just checked out can be logged in automatically or offered a single-click upsell. This requires a solid understanding of standard single sign-on first, since the same token logic applies in reverse.\u003C\u002Fp>\u003Csection id=\"steps-log-a-new-customer-into-your-site-automatically\" data-title=\"Steps: log a new customer into your site automatically\" data-title-node=\"H2\">\u003Chr class=\"my-8\" style=\"margin-left: -48px; margin-right: -40vw\">\u003Ch2 data-anchor-id=\"steps-log-a-new-customer-into-your-site-automatically\">Steps: log a new customer into your site automatically\u003C\u002Fh2>\u003Col class=\"step step-icon-sm step-dashed step-border-last-0 mt-3\">\u003Cli class=\"step-item\">\u003Cdiv class=\"step-content-wrapper\">\u003Cspan class=\"step-icon step-icon-soft-primary\">1\u003C\u002Fspan>\u003Cdiv class=\"w-100 overflow-hidden\">\u003Cdiv class=\"step-content mt-2\">\u003Cp>In your custom receipt template, add Twig code that generates a reverse single sign-on token and URL on the customer’s first view of the receipt, only for non-guest customers.\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>Set the receipt’s continue link to point to that reverse single sign-on URL instead of your regular site.\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>On your endpoint, verify the fc_auth_token, timestamp, and fc_customer_id parameters the same way a standard single sign-on endpoint would.\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>If the token checks out, use the API to fetch the customer’s information, create or log them in on your site, and forward them on as an authenticated user.\u003C\u002Fp>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fsection>\u003Csection id=\"example-twig-code-for-the-receipt\" data-title=\"Example: Twig code for the receipt\" data-title-node=\"H2\">\u003Chr class=\"my-8\" style=\"margin-left: -48px; margin-right: -40vw\">\u003Ch2 data-anchor-id=\"example-twig-code-for-the-receipt\">Example: Twig code for the receipt\u003C\u002Fh2>\u003Cdiv class=\"position-relative w-100 overflow-hidden rounded-2\" data-code-block>\u003Cdiv class=\"d-flex justify-content-end border-bottom\" style=\"background:#2b2c3b;\">\u003Cbutton type=\"button\" class=\"btn btn-link btn-sm text-light\" title=\"Copy\" data-code-button>\u003Cspan data-code-default style=\"\">\u003Ci class=\"fal fa-copy me-2\">\u003C\u002Fi> Copy \u003C\u002Fspan>\u003Cspan class=\"text-success\" data-code-success style=\"display:none;\">\u003Ci class=\"fal fa-check ms-2\">\u003C\u002Fi> Copied \u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cdiv class=\"small\">\u003Cpre class=\"hljs p-2\" data-code-content>{% set reverse_sso_url = &quot;&quot; %}\n{% if first_receipt_display and not is_anonymous %}\n  {% set timestamp = checkout_date | date_modify(&quot;+120 seconds&quot;) | date(&quot;U&quot;) %}\n  {% set reverse_sso_url = &quot;https:\u002F\u002Fwww.yourwebsite.com\u002Freversesso.php?fc_auth_token=&quot; ~ generate_sso_token(timestamp) ~ &quot;×tamp=&quot; ~ timestamp ~ &quot;&amp;fc_customer_id=&quot; ~ customer_id %}\n  {% set continue_url = reverse_sso_url %}\n{% endif %}\n\u003C\u002Fpre>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cp>This only runs on the customer’s first view of the receipt, so revisiting the receipt later (from an email link) won’t trigger another redirect. generate_sso_token() takes a single timestamp argument and returns the token. customer_id is available to Twig templates automatically.\u003C\u002Fp>\u003C\u002Fsection>\u003Csection id=\"example-verifying-the-token-and-logging-the-customer-in\" data-title=\"Example: verifying the token and logging the customer in\" data-title-node=\"H2\">\u003Chr class=\"my-8\" style=\"margin-left: -48px; margin-right: -40vw\">\u003Ch2 data-anchor-id=\"example-verifying-the-token-and-logging-the-customer-in\">Example: verifying the token and logging the customer in\u003C\u002Fh2>\u003Cdiv class=\"position-relative w-100 overflow-hidden rounded-2\" data-code-block>\u003Cdiv class=\"d-flex justify-content-end border-bottom\" style=\"background:#2b2c3b;\">\u003Cbutton type=\"button\" class=\"btn btn-link btn-sm text-light\" title=\"Copy\" data-code-button>\u003Cspan data-code-default style=\"\">\u003Ci class=\"fal fa-copy me-2\">\u003C\u002Fi> Copy \u003C\u002Fspan>\u003Cspan class=\"text-success\" data-code-success style=\"display:none;\">\u003Ci class=\"fal fa-check ms-2\">\u003C\u002Fi> Copied \u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cdiv class=\"small\">\u003Cpre class=\"hljs p-2\" data-code-content>if (isset($_GET[&#x27;fc_auth_token&#x27;])) {\n    $fc_auth_token = $_GET[&#x27;fc_auth_token&#x27;];\n    $customer_id = $_GET[&#x27;fc_customer_id&#x27;];\n    $timestamp = $_GET[&#x27;timestamp&#x27;];\n}\n\n$local_auth_token = sha1($customer_id . &#x27;|&#x27; . $timestamp . &#x27;|&#x27; . $foxycart_api_key);\n$local_timestamp = date(&#x27;U&#x27;);\n\nif ($fc_auth_token == $local_auth_token &amp;&amp; $timestamp &gt; $local_timestamp) {\n    \u002F\u002F Everything checks out, log the user in\n    \u002F\u002F Enter your logic here\n}\n\n\u002F\u002F Redirect the customer on to your own website\nheader(&#x27;Location: http:\u002F\u002Fwww.yourwebsite.com&#x27;);\n\u003C\u002Fpre>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\u003Csection id=\"example-single-click-upsell-on-the-receipt\" data-title=\"Example: single-click upsell on the receipt\" data-title-node=\"H2\">\u003Chr class=\"my-8\" style=\"margin-left: -48px; margin-right: -40vw\">\u003Ch2 data-anchor-id=\"example-single-click-upsell-on-the-receipt\">Example: single-click upsell on the receipt\u003C\u002Fh2>\u003Cp>The same token mechanism can offer a post-purchase upsell. On click (or on page load, for a fully automatic version), add a product to the cart with a JSONP request, then redirect straight to checkout with a fresh token so the transaction can complete without re-authentication:\u003C\u002Fp>\u003Cdiv class=\"position-relative w-100 overflow-hidden rounded-2\" data-code-block>\u003Cdiv class=\"d-flex justify-content-end border-bottom\" style=\"background:#2b2c3b;\">\u003Cbutton type=\"button\" class=\"btn btn-link btn-sm text-light\" title=\"Copy\" data-code-button>\u003Cspan data-code-default style=\"\">\u003Ci class=\"fal fa-copy me-2\">\u003C\u002Fi> Copy \u003C\u002Fspan>\u003Cspan class=\"text-success\" data-code-success style=\"display:none;\">\u003Ci class=\"fal fa-check ms-2\">\u003C\u002Fi> Copied \u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cdiv class=\"small\">\u003Cpre class=\"hljs p-2\" data-code-content>{% if first_receipt_display == 1 and is_anonymous == 0 %}\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">script\u003C\u002Fspan>&gt;\u003C\u002Fspan>\u003Cspan class=\"language-javascript\">\n  {% set timestamp = checkout_date | \u003Cspan class=\"hljs-title function_\">date_modify\u003C\u002Fspan>(\u003Cspan class=\"hljs-string\">&quot;+120 seconds&quot;\u003C\u002Fspan>) | \u003Cspan class=\"hljs-title function_\">date\u003C\u002Fspan>(\u003Cspan class=\"hljs-string\">&quot;U&quot;\u003C\u002Fspan>) %}\n  \u003Cspan class=\"hljs-keyword\">if\u003C\u002Fspan> (!\u003Cspan class=\"hljs-variable constant_\">FC\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">json\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">custom_fields\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">upsell\u003C\u002Fspan>) {\n    \u003Cspan class=\"hljs-variable constant_\">FC\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">client\u003C\u002Fspan>.\u003Cspan class=\"hljs-title function_\">request\u003C\u002Fspan>(\u003Cspan class=\"hljs-string\">&#x27;https:\u002F\u002F&#x27;\u003C\u002Fspan> + \u003Cspan class=\"hljs-variable constant_\">FC\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">settings\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">storedomain\u003C\u002Fspan> + \u003Cspan class=\"hljs-string\">&#x27;\u002Fcart?name=Cool+Example&amp;price=20&amp;color=red&amp;code=sku123&amp;empty=reset&amp;h:upsell=true&#x27;\u003C\u002Fspan>).\u003Cspan class=\"hljs-title function_\">done\u003C\u002Fspan>(\u003Cspan class=\"hljs-keyword\">function\u003C\u002Fspan>(\u003Cspan class=\"hljs-params\">data\u003C\u002Fspan>) {\n      \u003Cspan class=\"hljs-keyword\">var\u003C\u002Fspan> url = \u003Cspan class=\"hljs-string\">&#x27;https:\u002F\u002F&#x27;\u003C\u002Fspan> + \u003Cspan class=\"hljs-variable constant_\">FC\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">settings\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">storedomain\u003C\u002Fspan> + \u003Cspan class=\"hljs-string\">&#x27;\u002Fcheckout?fc_auth_token={{ generate_sso_token(timestamp) }}×tamp={{ timestamp }}&amp;fc_customer_id={{ customer_id }}&#x27;\u003C\u002Fspan>;\n      \u003Cspan class=\"hljs-variable language_\">window\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">location\u003C\u002Fspan>.\u003Cspan class=\"hljs-property\">href\u003C\u002Fspan> = url;\n    });\n  }\n\u003C\u002Fspan>\u003Cspan class=\"hljs-tag\">&lt;\u002F\u003Cspan class=\"hljs-name\">script\u003C\u002Fspan>&gt;\u003C\u002Fspan>\n{% endif %}\n\u003C\u002Fpre>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\u003Csection id=\"notes\" data-title=\"Notes\" data-title-node=\"H2\">\u003Chr class=\"my-8\" style=\"margin-left: -48px; margin-right: -40vw\">\u003Ch2 data-anchor-id=\"notes\">Notes\u003C\u002Fh2>\u003Cul>\u003Cli>\u003Cp>A guest customer can’t use single sign-on, so both examples only work for accounts, not guest checkouts, hence the is_anonymous check.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Keep the token’s expiration short, no more than a few minutes, since it substitutes for password-based authentication.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Only use this over an https connection, since the tokens are passed in the URL.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>To skip the Foxy receipt entirely and forward straight to your reverse single sign-on URL, replace {% set continue_url = reverse_sso_url %} with &lt;script&gt;window.location = ‘{{ reverse_sso_url }}’;&lt;\u002Fscript&gt;.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>To add a custom link or button pointing to your reverse single sign-on endpoint elsewhere on the receipt, reference the {{ reverse_sso_url }} Twig variable.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fsection>",[473,476,478,480,482],{"id":474,"title":339,"level":475},"steps-log-a-new-customer-into-your-site-automatically","H2",{"id":477,"title":378,"level":475},"example-twig-code-for-the-receipt",{"id":479,"title":394,"level":475},"example-verifying-the-token-and-logging-the-customer-in",{"id":481,"title":404,"level":475},"example-single-click-upsell-on-the-receipt",{"id":483,"title":419,"level":475},"notes",[485],{"type":486,"content":487},"html","\u003Cp>Outgoing (or “reverse”) single sign-on generates an authentication token from the Foxy receipt page and passes it to your own site, so a customer who just checked out can be logged in automatically or offered a single-click upsell. This requires a solid understanding of standard single sign-on first, since the same token logic applies in reverse.\u003C\u002Fp>\u003Ch2>Steps: log a new customer into your site automatically\u003C\u002Fh2>\u003Col order=\"1\">\u003Cli>\u003Cp>In your custom receipt template, add Twig code that generates a reverse single sign-on token and URL on the customer’s first view of the receipt, only for non-guest customers.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Set the receipt’s continue link to point to that reverse single sign-on URL instead of your regular site.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>On your endpoint, verify the fc_auth_token, timestamp, and fc_customer_id parameters the same way a standard single sign-on endpoint would.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>If the token checks out, use the API to fetch the customer’s information, create or log them in on your site, and forward them on as an authenticated user.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Fol>\u003Ch2>Example: Twig code for the receipt\u003C\u002Fh2>\u003Cpre>\u003Ccode>{% set reverse_sso_url = &quot;&quot; %}\n{% if first_receipt_display and not is_anonymous %}\n  {% set timestamp = checkout_date | date_modify(&quot;+120 seconds&quot;) | date(&quot;U&quot;) %}\n  {% set reverse_sso_url = &quot;https:\u002F\u002Fwww.yourwebsite.com\u002Freversesso.php?fc_auth_token=&quot; ~ generate_sso_token(timestamp) ~ &quot;×tamp=&quot; ~ timestamp ~ &quot;&amp;fc_customer_id=&quot; ~ customer_id %}\n  {% set continue_url = reverse_sso_url %}\n{% endif %}\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This only runs on the customer’s first view of the receipt, so revisiting the receipt later (from an email link) won’t trigger another redirect. generate_sso_token() takes a single timestamp argument and returns the token. customer_id is available to Twig templates automatically.\u003C\u002Fp>\u003Ch2>Example: verifying the token and logging the customer in\u003C\u002Fh2>\u003Cpre>\u003Ccode>if (isset($_GET[&#039;fc_auth_token&#039;])) {\n    $fc_auth_token = $_GET[&#039;fc_auth_token&#039;];\n    $customer_id = $_GET[&#039;fc_customer_id&#039;];\n    $timestamp = $_GET[&#039;timestamp&#039;];\n}\n\n$local_auth_token = sha1($customer_id . &#039;|&#039; . $timestamp . &#039;|&#039; . $foxycart_api_key);\n$local_timestamp = date(&#039;U&#039;);\n\nif ($fc_auth_token == $local_auth_token &amp;&amp; $timestamp &gt; $local_timestamp) {\n    \u002F\u002F Everything checks out, log the user in\n    \u002F\u002F Enter your logic here\n}\n\n\u002F\u002F Redirect the customer on to your own website\nheader(&#039;Location: http:\u002F\u002Fwww.yourwebsite.com&#039;);\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2>Example: single-click upsell on the receipt\u003C\u002Fh2>\u003Cp>The same token mechanism can offer a post-purchase upsell. On click (or on page load, for a fully automatic version), add a product to the cart with a JSONP request, then redirect straight to checkout with a fresh token so the transaction can complete without re-authentication:\u003C\u002Fp>\u003Cpre>\u003Ccode>{% if first_receipt_display == 1 and is_anonymous == 0 %}\n&lt;script&gt;\n  {% set timestamp = checkout_date | date_modify(&quot;+120 seconds&quot;) | date(&quot;U&quot;) %}\n  if (!FC.json.custom_fields.upsell) {\n    FC.client.request(&#039;https:\u002F\u002F&#039; + FC.settings.storedomain + &#039;\u002Fcart?name=Cool+Example&amp;price=20&amp;color=red&amp;code=sku123&amp;empty=reset&amp;h:upsell=true&#039;).done(function(data) {\n      var url = &#039;https:\u002F\u002F&#039; + FC.settings.storedomain + &#039;\u002Fcheckout?fc_auth_token={{ generate_sso_token(timestamp) }}×tamp={{ timestamp }}&amp;fc_customer_id={{ customer_id }}&#039;;\n      window.location.href = url;\n    });\n  }\n&lt;\u002Fscript&gt;\n{% endif %}\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2>Notes\u003C\u002Fh2>\u003Cul>\u003Cli>\u003Cp>A guest customer can’t use single sign-on, so both examples only work for accounts, not guest checkouts, hence the is_anonymous check.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Keep the token’s expiration short, no more than a few minutes, since it substitutes for password-based authentication.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Only use this over an https connection, since the tokens are passed in the URL.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>To skip the Foxy receipt entirely and forward straight to your reverse single sign-on URL, replace {% set continue_url = reverse_sso_url %} with &lt;script&gt;window.location = ‘{{ reverse_sso_url }}’;&lt;\u002Fscript&gt;.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>To add a custom link or button pointing to your reverse single sign-on endpoint elsewhere on the receipt, reference the {{ reverse_sso_url }} Twig variable.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>",{"name":489,"created_at":490,"published_at":491,"updated_at":492,"id":493,"uuid":47,"content":494,"slug":48,"full_slug":48,"sort_by_date":59,"position":674,"tag_list":675,"is_startpage":24,"parent_id":59,"meta_data":59,"group_id":676,"first_published_at":677,"release_id":59,"lang":65,"path":59,"alternates":678,"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":495,"_uid":498,"title":499,"action":500,"fields":501,"method":650,"columns":651,"subtitle":665,"component":48,"button_text":671,"submit_title":672,"submit_subtitle":673},{"_uid":496,"title":489,"plugin":497,"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",[502,507,511,621,624,629,644],{"_uid":503,"name":504,"type":332,"label":505,"options":13,"required":33,"component":506,"placeholder":13},"9a70b226-2036-4f90-a052-b3efa61c5896","name","Name","form___field",{"_uid":508,"name":509,"type":509,"label":510,"options":13,"required":33,"component":506,"placeholder":13},"86ba35be-ff43-4a28-8633-14052a8f6622","email","Email Address",{"_uid":512,"name":513,"type":514,"label":515,"options":516,"required":33,"component":506,"conditions":517,"placeholder":13},"3f827475-492c-4f97-aa1e-2386ac263b6c","topic","select","Topic","Presales, Support, Billing, Partnerships, Order Enquiry, Other",[518,575,585,592,600,608,614],{"_uid":519,"equals":520,"fields":521,"component":574},"e21d97dd-e68e-4fa6-ba97-bc40f3041dde","Order Enquiry",[522],{"_uid":523,"body":524,"type":572,"title":13,"component":573},"b64992bc-6d53-48b8-b7a0-d81e5a062e50",{"type":324,"content":525},[526],{"type":327,"content":527},[528,530,538,540,542,543,548,550,555,563,565,570],{"text":529,"type":332},"We are ",{"text":531,"type":332,"marks":532},"Foxy.io",[533],{"type":534,"attrs":535},"link",{"href":536,"uuid":59,"anchor":59,"custom":537,"target":59,"linktype":31},"http:\u002F\u002FFoxy.io",{},{"text":539,"type":332},", an ecommerce platform powering ecommerce for other merchants. We do not sell products, and are unable to assist with questions about order statuses or refunds for any merchants using our platform. Please contact the merchant you ordered from for assistance. If you’d like to report a store using Foxy for fraudulent practices, please select ‘other’ in the subject.",{"type":541},"hard_break",{"type":541},{"text":544,"type":332,"marks":545},"NOTE:",[546],{"type":547},"bold",{"text":549,"type":332}," We are ",{"text":551,"type":332,"marks":552},"not ",[553],{"type":554},"italic",{"text":556,"type":332,"marks":557},"Foxy.in",[558,562],{"type":534,"attrs":559},{"href":560,"uuid":59,"anchor":59,"custom":561,"target":59,"linktype":31},"http:\u002F\u002FFoxy.in",{},{"type":554},{"text":564,"type":332},". We are not in any way affiliated with ",{"text":556,"type":332,"marks":566},[567],{"type":534,"attrs":568},{"href":560,"uuid":59,"anchor":59,"custom":569,"target":59,"linktype":31},{},{"text":571,"type":332},", and cannot help in any way with your order from that website.","danger","global___alert","form___condition",{"_uid":576,"equals":577,"fields":578,"component":574},"8765c3e1-25cf-44aa-b8ea-fc6094acf9c3","Presales",[579],{"_uid":580,"name":581,"type":582,"label":13,"options":13,"required":24,"component":506,"conditions":583,"placeholder":13,"default_value":584},"cf464f8e-d643-4f6e-af29-d3abffaf7380","department_email_address","hidden",[],"hello@foxy.io",{"_uid":586,"equals":208,"fields":587,"component":574},"4007b6d8-77e5-421d-bd1e-6f336dd853fb",[588],{"_uid":589,"name":581,"type":582,"label":13,"options":13,"required":24,"component":506,"conditions":590,"placeholder":13,"default_value":591},"7b4c6aa5-a68c-45e0-9ce1-0a36af10c0c2",[],"help@foxy.io",{"_uid":593,"equals":594,"fields":595,"component":574},"1dbb8f11-613d-43cd-9e09-1b94f6e19219","Billing",[596],{"_uid":597,"name":581,"type":582,"label":13,"options":13,"required":24,"component":506,"conditions":598,"placeholder":13,"default_value":599},"a0ac0d1b-bc4f-4a6c-a682-581d450b0b73",[],"help+billing@foxy.io",{"_uid":601,"equals":602,"fields":603,"component":574},"a0a53a50-7172-4a29-ba58-181e38874e12","Partnerships",[604],{"_uid":605,"name":581,"type":582,"label":13,"options":13,"required":24,"component":506,"conditions":606,"placeholder":13,"default_value":607},"7aa011d9-f374-4aed-b5a5-929b54aaf152",[],"partners@foxy.io",{"_uid":609,"equals":520,"fields":610,"component":574},"a4cd431f-25d5-41c7-bfdc-02c908c8fb47",[611],{"_uid":612,"name":581,"type":582,"label":13,"options":13,"required":24,"component":506,"conditions":613,"placeholder":13,"default_value":584},"f5d52168-d6ae-451b-94ee-2ced1cbd28ad",[],{"_uid":615,"equals":616,"fields":617,"component":574},"25aba1ed-eb41-4bbc-aa89-f7a7167ea86e","Other",[618],{"_uid":619,"name":581,"type":582,"label":13,"options":13,"required":24,"component":506,"conditions":620,"placeholder":13,"default_value":584},"f40dfaef-c203-4b71-bf4e-e1b43cef192b",[],{"_uid":622,"component":623},"e9c53a05-f40a-4510-aaf8-bc072a235a0c","form___subject",{"_uid":625,"name":626,"type":627,"label":628,"options":13,"required":33,"component":506,"placeholder":13},"a4c4d385-fff4-4978-99fb-b68cfea623d6","message","textarea","Message",{"_uid":630,"name":631,"type":514,"label":632,"options":633,"required":33,"component":506,"conditions":634,"placeholder":13},"8a3c9f85-f438-427d-9c7a-d7b295a14b5b","existing_user","Are you an existing user?","No, Yes",[635],{"_uid":636,"equals":637,"fields":638,"component":574},"115933d6-262a-4b59-8fa8-579c5ad73de1","Yes",[639],{"_uid":640,"name":641,"type":332,"label":642,"options":13,"required":33,"component":506,"conditions":643,"placeholder":13},"44b6ff23-98f0-4e95-b7f5-c23e06415c2d","subdomain","Store Subdomain",[],{"_uid":645,"name":646,"type":514,"label":647,"options":648,"required":33,"component":506,"conditions":649,"placeholder":13},"922a5cef-3af2-4113-8855-36c7910e3ee3","user_type","What type of user are you?","Developer, Designer, Merchant",[],"POST",[652],{"_uid":653,"text":654,"title":663,"component":664},"7323b90d-a93a-4bf1-baa9-20d0b7ead61b",{"type":324,"content":655},[656],{"type":327,"content":657},[658,660,661],{"text":659,"type":332},"855.369.9227",{"type":541},{"text":662,"type":332},"9:30am-6pm Central M-F","Pre-sales, Sales, & Partnerships","contact___footer_column",{"type":324,"content":666},[667],{"type":327,"content":668},[669],{"text":670,"type":332},"Get in touch to get help from our friendly support team.","Submit","Success!","Your email has been received. We'll get back to you as soon as we can, but it might take a business day. If you don't hear back from us in a timely manner, please check your spam folder to ensure our reply didn't go there.",-80,[],"2fd9fb7d-a48a-4184-acfd-30022d8d6f08","2022-09-23T20:10:45.360Z",[],[288,680],{"name":681,"created_at":682,"published_at":683,"updated_at":684,"id":685,"uuid":461,"content":686,"slug":699,"full_slug":700,"sort_by_date":59,"position":701,"tag_list":702,"is_startpage":24,"parent_id":310,"meta_data":59,"group_id":703,"first_published_at":683,"release_id":59,"lang":65,"path":59,"alternates":704,"default_full_slug":59,"translated_slugs":59},"Single Sign-On (SSO)","2026-07-17T05:25:13.805Z","2026-07-17T05:44:46.437Z","2026-07-17T05:44:46.448Z",198968581389720,{"_uid":687,"icon":13,"name":681,"type":688,"pinned":24,"summary":689,"category":13,"component":297,"blog_posts":690,"icon_custom":691,"case_studies":693,"faq_sections":694,"featured_guides":695,"mailbox_category":13,"featured_articles":696,"featured_blog_posts":697,"featured_case_studies":698},"621919dd-dfb3-4b25-a3f6-d056127fc3a2","simple","How to set up single sign-on between your website and Foxy, covering checkout authentication, outgoing SSO on the receipt, and keeping customer data in sync.",[],{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":692},{},[],[],[],[],[],[],"single-sign-on","help\u002Fcategories\u002Fsingle-sign-on",-720,[],"51903714-6c5b-45ba-b8a6-5bf411ffb056",[],{},1784267941061]