[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"questions:item:en:what-is-a-webhook":3},{"id":4,"title":5,"answer":6,"body":7,"category":96,"description":97,"extension":98,"meta":99,"modifiedAt":100,"navigation":101,"pairId":102,"path":103,"publishedAt":104,"question":105,"relatedPath":86,"seo":106,"seoTitle":107,"sitemap":108,"slug":109,"stem":110,"translationSlug":111,"__hash__":112},"questions_en\u002Fen\u002Fquestions\u002Fwhat-is-a-webhook.md","What Is A Webhook","A webhook is a notification the payment service sends to your site's address whenever a payment status changes. It — not the buyer returning to a thank-you page — should be treated as the source of truth: it is the only way the store reliably learns about a payment.",{"type":8,"value":9,"toc":89},"minimark",[10,13,18,21,24,28,49,53,80],[11,12,6],"p",{},[14,15,17],"h2",{"id":16},"why-the-redirect-is-not-enough","Why the redirect is not enough",[11,19,20],{},"A buyer can close the tab right after paying, lose connectivity or never wait for the redirect. The money is still taken, but the store never finds out — the order sits in \"awaiting payment\" and someone has to sort it out by hand.",[11,22,23],{},"A webhook reaches your server regardless of what the buyer does.",[14,25,27],{"id":26},"what-your-handler-must-do","What your handler must do",[29,30,31,40,43,46],"ol",{},[32,33,34,35,39],"li",{},"Accept the request and ",[36,37,38],"strong",{},"answer 200 immediately"," — otherwise the service treats delivery as failed.",[32,41,42],{},"Find the order by the identifier you passed when creating the payment.",[32,44,45],{},"Verify the request signature before changing anything in the database.",[32,47,48],{},"Update the order status and store the payment id for reconciliation.",[14,50,52],{"id":51},"common-mistakes","Common mistakes",[54,55,56,62,68,74],"ul",{},[32,57,58,61],{},[36,59,60],{},"The address sits behind auth or a firewall"," — notifications never arrive.",[32,63,64,67],{},[36,65,66],{},"The handler returns 500 or times out"," — usually heavy logic inside; move that to a background job.",[32,69,70,73],{},[36,71,72],{},"No signature check"," — the endpoint will accept whatever arrives.",[32,75,76,79],{},[36,77,78],{},"Processing the same notification twice"," — it can be delivered more than once, so the handler must cope.",[11,81,82,83,88],{},"Integration details are on the ",[84,85,87],"a",{"href":86},"\u002Fpayment-api","payment API"," page.",{"title":90,"searchDepth":91,"depth":91,"links":92},"",2,[93,94,95],{"id":16,"depth":91,"text":17},{"id":26,"depth":91,"text":27},{"id":51,"depth":91,"text":52},"operations","A webhook is a payment status notification sent to your server. Why orders hang without it and what to check when statuses never update.","md",{},null,true,"question-18","\u002Fen\u002Fquestions\u002Fwhat-is-a-webhook","2026-08-12","What is a webhook and why does a store need one?",{"description":97},"Webhooks in payments: what they are and why they matter",{"loc":103},"what-is-a-webhook","en\u002Fquestions\u002Fwhat-is-a-webhook","chto-takoe-vebhuk","sX27sOhdLpmyIyNO7IKMR1luDK5iK7XzZ_3IBp2rrRk"]