{"id":1952012,"date":"2022-02-24T10:49:39","date_gmt":"2022-02-24T15:49:39","guid":{"rendered":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/?post_type=tribe-knowledgebase&#038;p=1952012"},"modified":"2025-04-25T09:57:29","modified_gmt":"2025-04-25T13:57:29","slug":"setting-up-webhooks-for-stripe-and-tickets-commerce","status":"publish","type":"post","link":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/setting-up-webhooks-for-stripe-and-tickets-commerce\/","title":{"rendered":"Setting up Webhooks for Stripe and Tickets Commerce"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-automatic-webhook-creation-for-stripe\">Automatic Webhook Creation for Stripe<\/h2>\n\n\n\n<p>Starting with <strong>Event Tickets version 5.11.0<\/strong>, when you connect Stripe via Tickets Commerce, Event Tickets will now automatically create and configure the required webhook in your Stripe account. There\u2019s no need to manually create a webhook or select Stripe events \u2014 we handle it for you.<br><br>This removes a key setup step and helps avoid common errors that can interrupt payments or cause issues during checkout.<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:var(--global-palette8)\"><strong>\ud83d\udca1<\/strong> <strong>Note:<\/strong> Webhooks are only created automatically when using Stripe in <strong>live mode<\/strong>. If you&#8217;re using <strong>test mode<\/strong>, you&#8217;ll need to set up webhooks manually.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-when-does-it-happen\"><strong>When Does It Happen?<\/strong><\/h3>\n\n\n\n<p>The webhook is created or updated automatically:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When&nbsp;<strong>Stripe is connected<\/strong>&nbsp;using Tickets Commerce or you click the button to set them up automatically.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2090\" height=\"302\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2022\/02\/image-6.png\" alt=\"\" class=\"wp-image-1964974\" srcset=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2022\/02\/image-6.png 2090w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2022\/02\/image-6-300x43.png 300w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2022\/02\/image-6-1024x148.png 1024w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2022\/02\/image-6-768x111.png 768w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2022\/02\/image-6-1536x222.png 1536w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2022\/02\/image-6-2048x296.png 2048w\" sizes=\"auto, (max-width: 2090px) 100vw, 2090px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When the&nbsp;<strong>Event Tickets plugin is activated<\/strong>, if Stripe is already connected<\/li>\n<\/ul>\n\n\n\n<p>The webhook will be disabled automatically:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When you&nbsp;<strong>disconnect Stripe<\/strong><\/li>\n\n\n\n<li>When the&nbsp;<strong>plugin is deactivated<\/strong>,&nbsp;<strong>if<\/strong>&nbsp;the webhook is known to be managed by the plugin<\/li>\n<\/ul>\n\n\n\n<p>We also ensure:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No duplicate webhooks are created by the plugin<\/li>\n\n\n\n<li>Existing manually-created webhooks are not affected<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-why-it-matters\"><strong>Why It Matters<\/strong><\/h3>\n\n\n\n<p>With automatic webhook setup, you no longer need to log into Stripe to manually configure anything \u2014 it\u2019s all taken care of when you connect your account through Tickets Commerce. That means:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Faster setup<\/strong>&nbsp;with fewer steps<\/li>\n\n\n\n<li><strong>No technical know-how required<\/strong>&nbsp;to complete your Stripe integration<\/li>\n\n\n\n<li><strong>More reliable checkouts<\/strong>&nbsp;for your ticket buyers<\/li>\n\n\n\n<li><strong>Less room for error<\/strong>&nbsp;\u2014 everything is configured correctly, right from the start<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-manual-webhook-creation-for-stripe\">Manual Webhook Creation for Stripe<\/h2>\n\n\n\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/6qTRIh1Tpx8\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n\n\n\n<p>Webhooks are used by Stripe to communicate with your site. It provides information such as the status of the payment and is used to update the ticket orders based on certain events from Stripe\u2019s side of things.<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:var(--global-palette8)\"><strong>\ud83d\udca1<\/strong> <strong>Note:<\/strong> Webhooks might not validate and work on some staging site domains!<\/p>\n\n\n\n<p>Setting up webhooks should be fairly simple. In the Stripe settings area, you\u2019ll find a webhook endpoint URL ready for you to copy and paste into your Stripe dashboard:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Head to <strong>Tickets &gt; Settings &gt; Payments &gt; Stripe &gt; Webhooks<\/strong> and copy the value of the &#8220;<strong>Webhooks URL<\/strong>&#8221; field.<\/li>\n\n\n\n<li>In your Stripe Dashboard go to <strong><a href=\"https:\/\/dashboard.stripe.com\/webhooks\" target=\"_blank\" rel=\"noreferrer noopener\">Developers &gt; Webhooks<\/a><\/strong> and click on &#8220;Add endpoint&#8221;.<\/li>\n\n\n\n<li>Paste the &#8220;Webhooks URL&#8221; value you&#8217;ve copied in step one in the &#8220;<strong>Endpoint URL<\/strong>&#8221; field. Add a description if you feel it&#8217;s necessary.<\/li>\n\n\n\n<li>Click the blue <strong>+ Select Events<\/strong> button and select the following events (at minimum)\n<ul class=\"wp-block-list\">\n<li>account.updated<\/li>\n\n\n\n<li>charge.expired<\/li>\n\n\n\n<li>charge.failed<\/li>\n\n\n\n<li>charge.succeeded<\/li>\n\n\n\n<li>charge.refunded<\/li>\n\n\n\n<li>payment_intent.canceled<\/li>\n\n\n\n<li>payment_intent.created<\/li>\n\n\n\n<li>payment_intent.payment_failed<\/li>\n\n\n\n<li>payment_intent.processing<\/li>\n\n\n\n<li>payment_intent.requires_action<\/li>\n\n\n\n<li>payment_intent.succeeded<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Select&nbsp;<strong>Latest API version<\/strong>&nbsp;from the&nbsp;<strong>Version<\/strong>&nbsp;section, if shown, and then \u201cAdd endpoint\u201d.<\/li>\n\n\n\n<li>From within your newly created Webhook endpoint page,&nbsp;copy&nbsp;the Webhook&nbsp;<strong>Signing secret&nbsp;<\/strong>(after clicking&nbsp;<strong>Reveal<\/strong>). Your Webhook Signing secret is prefixed with \u2018<strong>whsec_\u2019.<\/strong><\/li>\n\n\n\n<li>Back in <strong>Tickets &gt; Settings &gt; Payments &gt; Stripe &gt; Webhooks<\/strong> paste the value from the previous step into the &#8220;<strong>Signing secret<\/strong>&#8221; field.<\/li>\n<\/ul>\n\n\n\n<p>One important thing to have in mind is that the webhooks validation will not work while <a href=\"https:\/\/staging.theeventscalendar.com\/knowledgebase\/k\/tickets-commerce\/\" target=\"_blank\" rel=\"noreferrer noopener\">Tickets Commerce<\/a> is in test mode. If you are experiencing issues setting up Stripe, we recommend switching to <a href=\"https:\/\/staging.theeventscalendar.com\/knowledgebase\/k\/permalinks-best-practices\/\" target=\"_blank\" rel=\"noreferrer noopener\">Pretty Permalinks<\/a>, which you can find under <strong>WordPress Settings &gt; Permalinks<\/strong>.<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:var(--global-palette8)\"><strong>Note:<\/strong> Due to Stripe&#8217;s Single Platform Policy, you won&#8217;t be able to connect to multiple platforms using the same account at the same time. As a workaround, we recommend you create individual accounts under the same Stripe user login to connect to different platforms.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1016\" height=\"658\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2022\/10\/stripe-newaccount.gif\" alt=\"\" class=\"wp-image-1954406\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Automatic Webhook Creation for Stripe Starting with Event Tickets version 5.11.0, when you connect Stripe via Tickets Commerce, Event Tickets will now automatically create and configure the required webhook in your Stripe account. There\u2019s no need to manually create a webhook or select Stripe events \u2014 we handle it for you. This removes a key&#8230;<\/p>\n","protected":false},"author":3,"featured_media":1955565,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_swpsp_post_exclude":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"ep_exclude_from_search":false,"footnotes":""},"categories":[88,93],"tags":[],"stellar-product-taxonomy":[155],"class_list":["post-1952012","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tickets","category-errors","stellar-product-taxonomy-event-tickets"],"acf":[],"taxonomy_info":{"category":[{"value":88,"label":"Ticketing"},{"value":93,"label":"Troubleshooting"}],"stellar-product-taxonomy":[{"value":155,"label":"Event Tickets"}]},"featured_image_src_large":["https:\/\/images.theeventscalendar.com\/kb\/uploads\/2023\/02\/social-share-1024x538.png",1024,538,true],"author_info":{"display_name":"Jaime Marchwinski","author_link":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/author\/jaimetri-be\/"},"comment_info":0,"category_info":[{"term_id":88,"name":"Ticketing","slug":"tickets","term_group":0,"term_taxonomy_id":88,"taxonomy":"category","description":"","parent":61,"count":83,"filter":"raw","term_order":"0","cat_ID":88,"category_count":83,"category_description":"","cat_name":"Ticketing","category_nicename":"tickets","category_parent":61},{"term_id":93,"name":"Troubleshooting","slug":"errors","term_group":0,"term_taxonomy_id":93,"taxonomy":"category","description":"","parent":0,"count":67,"filter":"raw","term_order":"0","cat_ID":93,"category_count":67,"category_description":"","cat_name":"Troubleshooting","category_nicename":"errors","category_parent":0}],"tag_info":false,"_links":{"self":[{"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1952012","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/comments?post=1952012"}],"version-history":[{"count":7,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1952012\/revisions"}],"predecessor-version":[{"id":1964980,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1952012\/revisions\/1964980"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/media\/1955565"}],"wp:attachment":[{"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/media?parent=1952012"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/categories?post=1952012"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/tags?post=1952012"},{"taxonomy":"stellar-product-taxonomy","embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/stellar-product-taxonomy?post=1952012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}