[{"data":1,"prerenderedAt":703},["ShallowReactive",2],{"header:help":3,"footer:default":67,"story:navigation\u002Fsearch:help":250,"story:help\u002Fcategories":288,"story:help\u002Farticles\u002Fconfirm-inventory-before-checkout-with-the-pre-payment-webhook":314,"no-guide:confirm-inventory-before-checkout-with-the-pre-payment-webhook":59,"article:\u002Fhelp\u002Farticles\u002Fconfirm-inventory-before-checkout-with-the-pre-payment-webhook":446,"story:contact":458,"help:tree:fe3a5811-a85f-45c6-b94d-875a1cc219d5:587f2817-47a8-47ff-8f12-8fc3b4f3ec4d":648,"_apollo:default":702},{"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":439,"full_slug":440,"sort_by_date":59,"position":441,"tag_list":442,"is_startpage":24,"parent_id":443,"meta_data":59,"group_id":444,"first_published_at":317,"release_id":59,"lang":65,"path":59,"alternates":445,"default_full_slug":59,"translated_slugs":59},"Confirm inventory before checkout with the pre-payment webhook","2026-07-24T21:19:04.401Z","2026-07-24T21:48:19.699Z","2026-07-24T21:48:19.720Z",201680258719909,"fe3a5811-a85f-45c6-b94d-875a1cc219d5",{"_uid":322,"body":323,"name":315,"image":433,"pinned":24,"summary":435,"category":436,"component":266,"related_articles":438},"4fbed882-2c10-4624-9b70-f7da7bcbf991",{"type":324,"content":325},"doc",[326,333,340,389,394],{"type":327,"attrs":328,"content":329},"paragraph",{"textAlign":59},[330],{"text":331,"type":332},"Use the pre-payment webhook to confirm a product’s stock is still available right before a customer completes checkout, closing the gap between when a product is added to the cart and when the order actually goes through.","text",{"type":334,"attrs":335,"content":337},"heading",{"level":336,"textAlign":59},2,[338],{"text":339,"type":332},"How to set it up",{"type":341,"attrs":342,"content":344},"ordered_list",{"order":343},1,[345,360,367,382],{"type":346,"content":347},"list_item",[348],{"type":327,"attrs":349,"content":350},{"textAlign":59},[351,358],{"text":352,"type":332,"marks":353},"Enable the pre-payment webhook",[354],{"type":355,"attrs":356},"link",{"href":357,"uuid":59,"anchor":59,"target":59,"linktype":31},"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fenable-the-pre-payment-webhook",{"text":359,"type":332}," for your store. This sends a request to an endpoint of your choosing right as the customer attempts to complete checkout, with the full transaction payload — including the products in the cart, the address entered, and any custom fields.",{"type":346,"content":361},[362],{"type":327,"attrs":363,"content":364},{"textAlign":59},[365],{"text":366,"type":332},"At your endpoint, check that there’s still enough stock available for the customer’s order based on your own inventory records.",{"type":346,"content":368},[369],{"type":327,"attrs":370,"content":371},{"textAlign":59},[372,374,380],{"text":373,"type":332},"If stock is available, let the checkout attempt proceed. See ",{"text":375,"type":332,"marks":376},"Respond to the pre-payment webhook",[377],{"type":355,"attrs":378},{"href":379,"uuid":59,"anchor":59,"target":59,"linktype":31},"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Frespond-to-the-pre-payment-webhook",{"text":381,"type":332}," for how to do this.",{"type":346,"content":383},[384],{"type":327,"attrs":385,"content":386},{"textAlign":59},[387],{"text":388,"type":332},"If stock isn’t available, stop the checkout and return a custom error message to the customer.",{"type":334,"attrs":390,"content":391},{"level":336,"textAlign":59},[392],{"text":393,"type":332},"Notes",{"type":395,"content":396},"bullet_list",[397,411,418],{"type":346,"content":398},[399],{"type":327,"attrs":400,"content":401},{"textAlign":59},[402,404,409],{"text":403,"type":332},"You can also use the ",{"text":405,"type":332,"marks":406},"Foxy API",[407],{"type":355,"attrs":408},{"href":37,"uuid":59,"anchor":59,"target":59,"linktype":31},{"text":410,"type":332}," to modify the cart directly from your endpoint — for example, removing or updating products before sending the customer back to the checkout. The pre-payment webhook payload includes the URIs needed to interact with those resources.",{"type":346,"content":412},[413],{"type":327,"attrs":414,"content":415},{"textAlign":59},[416],{"text":417,"type":332},"This check matters most for stores with higher transaction volume, or where a customer might add a product to their cart and not complete checkout until hours or days later — giving stock levels more time to change in the meantime.",{"type":346,"content":419},[420],{"type":327,"attrs":421,"content":422},{"textAlign":59},[423,425,431],{"text":424,"type":332},"See the ",{"text":426,"type":332,"marks":427},"pre-payment webhook payload reference",[428],{"type":355,"attrs":429},{"href":430,"uuid":59,"anchor":59,"target":59,"linktype":31},"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fpre-payment-webhook-payload-reference",{"text":432,"type":332}," for the full list of data included in the request.",{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":434},{},"How to use Foxy's pre-payment webhook to check product stock right before checkout completes, preventing overselling between cart and payment.",[437],"587f2817-47a8-47ff-8f12-8fc3b4f3ec4d",[],"confirm-inventory-before-checkout-with-the-pre-payment-webhook","help\u002Farticles\u002Fconfirm-inventory-before-checkout-with-the-pre-payment-webhook",-4680,[],2659,"315a5a70-7781-4812-bbfe-f201001eb775",[],{"html":447,"sections":448,"segments":454},"\u003Cp>Use the pre-payment webhook to confirm a product’s stock is still available right before a customer completes checkout, closing the gap between when a product is added to the cart and when the order actually goes through.\u003C\u002Fp>\u003Csection id=\"how-to-set-it-up\" data-title=\"How to set it up\" data-title-node=\"H2\">\u003Chr class=\"my-8\" style=\"margin-left: -48px; margin-right: -40vw\">\u003Ch2 data-anchor-id=\"how-to-set-it-up\">How to set it up\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>\u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fenable-the-pre-payment-webhook\" class=\"\">Enable the pre-payment webhook\u003C\u002Fa> for your store. This sends a request to an endpoint of your choosing right as the customer attempts to complete checkout, with the full transaction payload — including the products in the cart, the address entered, and any custom fields.\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>At your endpoint, check that there’s still enough stock available for the customer’s order based on your own inventory records.\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>If stock is available, let the checkout attempt proceed. See \u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Frespond-to-the-pre-payment-webhook\" class=\"\">Respond to the pre-payment webhook\u003C\u002Fa> for how to do this.\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 stock isn’t available, stop the checkout and return a custom error message to the customer.\u003C\u002Fp>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fli>\u003C\u002Fol>\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>You can also use the \u003Ca href=\"https:\u002F\u002Fapi.foxycart.com\u002F\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">Foxy API\u003C\u002Fa> to modify the cart directly from your endpoint — for example, removing or updating products before sending the customer back to the checkout. The pre-payment webhook payload includes the URIs needed to interact with those resources.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>This check matters most for stores with higher transaction volume, or where a customer might add a product to their cart and not complete checkout until hours or days later — giving stock levels more time to change in the meantime.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>See the \u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fpre-payment-webhook-payload-reference\" class=\"\">pre-payment webhook payload reference\u003C\u002Fa> for the full list of data included in the request.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fsection>",[449,452],{"id":450,"title":339,"level":451},"how-to-set-it-up","H2",{"id":453,"title":393,"level":451},"notes",[455],{"type":456,"content":457},"html","\u003Cp>Use the pre-payment webhook to confirm a product’s stock is still available right before a customer completes checkout, closing the gap between when a product is added to the cart and when the order actually goes through.\u003C\u002Fp>\u003Ch2>How to set it up\u003C\u002Fh2>\u003Col order=\"1\">\u003Cli>\u003Cp>\u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fenable-the-pre-payment-webhook\" class=\"\">Enable the pre-payment webhook\u003C\u002Fa> for your store. This sends a request to an endpoint of your choosing right as the customer attempts to complete checkout, with the full transaction payload — including the products in the cart, the address entered, and any custom fields.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>At your endpoint, check that there’s still enough stock available for the customer’s order based on your own inventory records.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>If stock is available, let the checkout attempt proceed. See \u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Frespond-to-the-pre-payment-webhook\" class=\"\">Respond to the pre-payment webhook\u003C\u002Fa> for how to do this.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>If stock isn’t available, stop the checkout and return a custom error message to the customer.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Fol>\u003Ch2>Notes\u003C\u002Fh2>\u003Cul>\u003Cli>\u003Cp>You can also use the \u003Ca href=\"https:\u002F\u002Fapi.foxycart.com\u002F\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">Foxy API\u003C\u002Fa> to modify the cart directly from your endpoint — for example, removing or updating products before sending the customer back to the checkout. The pre-payment webhook payload includes the URIs needed to interact with those resources.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>This check matters most for stores with higher transaction volume, or where a customer might add a product to their cart and not complete checkout until hours or days later — giving stock levels more time to change in the meantime.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>See the \u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fpre-payment-webhook-payload-reference\" class=\"\">pre-payment webhook payload reference\u003C\u002Fa> for the full list of data included in the request.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>",{"name":459,"created_at":460,"published_at":461,"updated_at":462,"id":463,"uuid":47,"content":464,"slug":48,"full_slug":48,"sort_by_date":59,"position":643,"tag_list":644,"is_startpage":24,"parent_id":59,"meta_data":59,"group_id":645,"first_published_at":646,"release_id":59,"lang":65,"path":59,"alternates":647,"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":465,"_uid":468,"title":469,"action":470,"fields":471,"method":619,"columns":620,"subtitle":634,"component":48,"button_text":640,"submit_title":641,"submit_subtitle":642},{"_uid":466,"title":459,"plugin":467,"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",[472,477,481,590,593,598,613],{"_uid":473,"name":474,"type":332,"label":475,"options":13,"required":33,"component":476,"placeholder":13},"9a70b226-2036-4f90-a052-b3efa61c5896","name","Name","form___field",{"_uid":478,"name":479,"type":479,"label":480,"options":13,"required":33,"component":476,"placeholder":13},"86ba35be-ff43-4a28-8633-14052a8f6622","email","Email Address",{"_uid":482,"name":483,"type":484,"label":485,"options":486,"required":33,"component":476,"conditions":487,"placeholder":13},"3f827475-492c-4f97-aa1e-2386ac263b6c","topic","select","Topic","Presales, Support, Billing, Partnerships, Order Enquiry, Other",[488,544,554,561,569,577,583],{"_uid":489,"equals":490,"fields":491,"component":543},"e21d97dd-e68e-4fa6-ba97-bc40f3041dde","Order Enquiry",[492],{"_uid":493,"body":494,"type":541,"title":13,"component":542},"b64992bc-6d53-48b8-b7a0-d81e5a062e50",{"type":324,"content":495},[496],{"type":327,"content":497},[498,500,507,509,511,512,517,519,524,532,534,539],{"text":499,"type":332},"We are ",{"text":501,"type":332,"marks":502},"Foxy.io",[503],{"type":355,"attrs":504},{"href":505,"uuid":59,"anchor":59,"custom":506,"target":59,"linktype":31},"http:\u002F\u002FFoxy.io",{},{"text":508,"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":510},"hard_break",{"type":510},{"text":513,"type":332,"marks":514},"NOTE:",[515],{"type":516},"bold",{"text":518,"type":332}," We are ",{"text":520,"type":332,"marks":521},"not ",[522],{"type":523},"italic",{"text":525,"type":332,"marks":526},"Foxy.in",[527,531],{"type":355,"attrs":528},{"href":529,"uuid":59,"anchor":59,"custom":530,"target":59,"linktype":31},"http:\u002F\u002FFoxy.in",{},{"type":523},{"text":533,"type":332},". We are not in any way affiliated with ",{"text":525,"type":332,"marks":535},[536],{"type":355,"attrs":537},{"href":529,"uuid":59,"anchor":59,"custom":538,"target":59,"linktype":31},{},{"text":540,"type":332},", and cannot help in any way with your order from that website.","danger","global___alert","form___condition",{"_uid":545,"equals":546,"fields":547,"component":543},"8765c3e1-25cf-44aa-b8ea-fc6094acf9c3","Presales",[548],{"_uid":549,"name":550,"type":551,"label":13,"options":13,"required":24,"component":476,"conditions":552,"placeholder":13,"default_value":553},"cf464f8e-d643-4f6e-af29-d3abffaf7380","department_email_address","hidden",[],"hello@foxy.io",{"_uid":555,"equals":208,"fields":556,"component":543},"4007b6d8-77e5-421d-bd1e-6f336dd853fb",[557],{"_uid":558,"name":550,"type":551,"label":13,"options":13,"required":24,"component":476,"conditions":559,"placeholder":13,"default_value":560},"7b4c6aa5-a68c-45e0-9ce1-0a36af10c0c2",[],"help@foxy.io",{"_uid":562,"equals":563,"fields":564,"component":543},"1dbb8f11-613d-43cd-9e09-1b94f6e19219","Billing",[565],{"_uid":566,"name":550,"type":551,"label":13,"options":13,"required":24,"component":476,"conditions":567,"placeholder":13,"default_value":568},"a0ac0d1b-bc4f-4a6c-a682-581d450b0b73",[],"help+billing@foxy.io",{"_uid":570,"equals":571,"fields":572,"component":543},"a0a53a50-7172-4a29-ba58-181e38874e12","Partnerships",[573],{"_uid":574,"name":550,"type":551,"label":13,"options":13,"required":24,"component":476,"conditions":575,"placeholder":13,"default_value":576},"7aa011d9-f374-4aed-b5a5-929b54aaf152",[],"partners@foxy.io",{"_uid":578,"equals":490,"fields":579,"component":543},"a4cd431f-25d5-41c7-bfdc-02c908c8fb47",[580],{"_uid":581,"name":550,"type":551,"label":13,"options":13,"required":24,"component":476,"conditions":582,"placeholder":13,"default_value":553},"f5d52168-d6ae-451b-94ee-2ced1cbd28ad",[],{"_uid":584,"equals":585,"fields":586,"component":543},"25aba1ed-eb41-4bbc-aa89-f7a7167ea86e","Other",[587],{"_uid":588,"name":550,"type":551,"label":13,"options":13,"required":24,"component":476,"conditions":589,"placeholder":13,"default_value":553},"f40dfaef-c203-4b71-bf4e-e1b43cef192b",[],{"_uid":591,"component":592},"e9c53a05-f40a-4510-aaf8-bc072a235a0c","form___subject",{"_uid":594,"name":595,"type":596,"label":597,"options":13,"required":33,"component":476,"placeholder":13},"a4c4d385-fff4-4978-99fb-b68cfea623d6","message","textarea","Message",{"_uid":599,"name":600,"type":484,"label":601,"options":602,"required":33,"component":476,"conditions":603,"placeholder":13},"8a3c9f85-f438-427d-9c7a-d7b295a14b5b","existing_user","Are you an existing user?","No, Yes",[604],{"_uid":605,"equals":606,"fields":607,"component":543},"115933d6-262a-4b59-8fa8-579c5ad73de1","Yes",[608],{"_uid":609,"name":610,"type":332,"label":611,"options":13,"required":33,"component":476,"conditions":612,"placeholder":13},"44b6ff23-98f0-4e95-b7f5-c23e06415c2d","subdomain","Store Subdomain",[],{"_uid":614,"name":615,"type":484,"label":616,"options":617,"required":33,"component":476,"conditions":618,"placeholder":13},"922a5cef-3af2-4113-8855-36c7910e3ee3","user_type","What type of user are you?","Developer, Designer, Merchant",[],"POST",[621],{"_uid":622,"text":623,"title":632,"component":633},"7323b90d-a93a-4bf1-baa9-20d0b7ead61b",{"type":324,"content":624},[625],{"type":327,"content":626},[627,629,630],{"text":628,"type":332},"855.369.9227",{"type":510},{"text":631,"type":332},"9:30am-6pm Central M-F","Pre-sales, Sales, & Partnerships","contact___footer_column",{"type":324,"content":635},[636],{"type":327,"content":637},[638],{"text":639,"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,649,677],{"name":650,"created_at":651,"published_at":652,"updated_at":653,"id":654,"uuid":655,"content":656,"slug":670,"full_slug":671,"sort_by_date":59,"position":672,"tag_list":673,"is_startpage":24,"parent_id":310,"meta_data":59,"group_id":674,"first_published_at":675,"release_id":59,"lang":65,"path":59,"alternates":676,"default_full_slug":59,"translated_slugs":59},"Products","2023-01-19T16:20:53.075Z","2024-06-05T04:29:14.851Z","2024-06-05T04:29:14.872Z",28236,"389d5512-29ba-4a93-9cfa-9491d1618f73",{"_uid":657,"icon":658,"name":650,"guides":659,"pinned":24,"summary":660,"category":13,"component":297,"blog_posts":661,"content_hub":24,"icon_custom":662,"case_studies":663,"faq_sections":664,"help_articles":665,"featured_guides":666,"mailbox_category":13,"featured_articles":667,"featured_blog_posts":668,"featured_case_studies":669},"3551f6e8-765a-4b8d-8587-2e2eda4d2b23","fa-tags",[],"How products work, supported product types, inventory management, and more.",[],{"id":59,"alt":59,"name":13,"focus":59,"title":59,"filename":13,"copyright":59,"fieldtype":81},[],[],[],[],[],[],[],"products","help\u002Fcategories\u002Fproducts",150,[],"c025c7a7-0d20-4244-938a-c8d6588e1269","2023-01-19T17:25:32.570Z",[],{"name":678,"created_at":679,"published_at":680,"updated_at":681,"id":682,"uuid":437,"content":683,"slug":696,"full_slug":697,"sort_by_date":59,"position":698,"tag_list":699,"is_startpage":24,"parent_id":310,"meta_data":59,"group_id":700,"first_published_at":680,"release_id":59,"lang":65,"path":59,"alternates":701,"default_full_slug":59,"translated_slugs":59},"Inventory Management","2026-07-24T21:09:48.661Z","2026-07-24T21:10:19.366Z","2026-07-24T21:10:19.375Z",201677982405661,{"_uid":684,"icon":13,"name":678,"type":685,"pinned":24,"summary":686,"category":655,"component":297,"blog_posts":687,"icon_custom":688,"case_studies":690,"faq_sections":691,"featured_guides":692,"mailbox_category":13,"featured_articles":693,"featured_blog_posts":694,"featured_case_studies":695},"627df0ff-c9fd-4689-928c-c66ebb1c67d5","simple","How to track product inventory, including limiting cart quantities, confirming stock before checkout, and setting up advanced inventory locks.",[],{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":689},{},[],[],[],[],[],[],"inventory-management","help\u002Fcategories\u002Finventory-management",-880,[],"7c5de71b-c82b-4c04-a8fb-dfda525b32f6",[],{},1784930206884]