{"id":11963,"date":"2023-08-05T09:06:16","date_gmt":"2023-08-05T09:06:16","guid":{"rendered":"https:\/\/wooshpay.com\/?post_type=docs&#038;p=11963"},"modified":"2023-08-05T09:06:16","modified_gmt":"2023-08-05T09:06:16","password":"","slug":"webhook-signatures","status":"publish","type":"docs","link":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/docs\/webhook-signatures\/","title":{"rendered":"V\u00e9rifier les signatures des webhooks"},"content":{"rendered":"<h2 class=\"wp-block-heading\" id=\"h-overview\">Vue d'ensemble<\/h2>\n\n\n\n<p>V\u00e9rifiez les \u00e9v\u00e9nements que Wooshpay envoie \u00e0 vos points de terminaison webhook.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-wooshpay-signature-header\">En-t\u00eate de signature Wooshpay<\/h3>\n\n\n\n<p>Le <code>Wooshpay-Signature<\/code> inclus dans chaque \u00e9v\u00e9nement sign\u00e9 contient un horodatage et une signature.<\/p>\n\n\n\n<p>L'horodatage est pr\u00e9fix\u00e9 par <code>t=<\/code>et chaque signature est pr\u00e9fix\u00e9e par <code>v1<\/code>.<\/p>\n\n\n\n<p><strong><em>Par exemple :<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Wooshpay-Signature:t=1492774577,v1=6fdfb9c357542b8ee07277f5fca2c6f728bae2dce9be2f91412f4de922c1bae4<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-webhook-secret-key\">Cl\u00e9 secr\u00e8te du webhook<\/h3>\n\n\n\n<p>Wooshpay g\u00e9n\u00e8re un <strong>cl\u00e9 secr\u00e8te<\/strong> pour chaque webhook. <code>whsec_<\/code><\/p>\n\n\n\n<p>Avant de v\u00e9rifier les signatures, vous devez r\u00e9cup\u00e9rer le secret de votre webhook \u00e0 partir de <code>webhook.secret<\/code> dans l'objet webhook.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/api.apifox.cn\/api\/v1\/projects\/1296482\/resources\/388595\/image-preview\" alt=\"cl\u00e9 secr\u00e8te du webhook\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-verifying-signatures\">V\u00e9rification des signatures<\/h2>\n\n\n\n<p>En comparant les <strong>signature dans l'en-t\u00eate<\/strong> \u00e0 la <strong>signature attendue<\/strong>Vous pouvez v\u00e9rifier que les messages ont \u00e9t\u00e9 envoy\u00e9s par Wooshpay et non par un tiers.<\/p>\n\n\n\n<p>Pour v\u00e9rifier la signature \u00e9tape par \u00e9tape, vous pouvez suivre le guide ci-dessous :<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-1-extract-the-timestamp-and-signatures-from-the-header\">\u00c9tape 1 : Extraire l'horodatage et les signatures de l'en-t\u00eate<\/h3>\n\n\n\n<p>Fractionner l'en-t\u00eate, en utilisant la fonction <code>,<\/code> comme s\u00e9parateur, pour obtenir une liste d'\u00e9l\u00e9ments. Il faut ensuite diviser chaque \u00e9l\u00e9ment, \u00e0 l'aide de la fonction <code>=<\/code> comme s\u00e9parateur, pour obtenir une paire pr\u00e9fixe\/valeur.<\/p>\n\n\n\n<p>La valeur du pr\u00e9fixe <code>t<\/code> correspond \u00e0 l'horodatage, et <code>v1<\/code> correspond \u00e0 la signature. Vous pouvez \u00e9carter tous les autres \u00e9l\u00e9ments.<\/p>\n\n\n\n<p><strong><em>Par exemple :<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>t=1687845304,v1=6fdfb9c357542b8ee07277f5fca2c6f728bae2dce9be2f91412f4de922c1bae4<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-2-prepare-the-signed-payload-string\">\u00c9tape 2 : Pr\u00e9parer le <code>charge de paiement sign\u00e9e<\/code> cha\u00eene de caract\u00e8res<\/h3>\n\n\n\n<p>Le <code>charge de paiement sign\u00e9e<\/code> est cr\u00e9\u00e9e par concat\u00e9nation :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L'horodatage (sous forme de cha\u00eene de caract\u00e8res)<\/li>\n\n\n\n<li>Le personnage <code>.<\/code><\/li>\n\n\n\n<li>La charge utile JSON proprement dite (le corps de la demande)<\/li>\n<\/ul>\n\n\n\n<p><strong><em>Par exemple :<\/em><\/strong><\/p>\n\n\n\n<p><em><code>1687845304<\/code><strong>+<\/strong><code>.<\/code><strong>+<\/strong><code>Charge utile JSON<\/code><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1687845304.{\n  \"id\" : \"evt_1NNUrjL6kclEVx6Mb1x5dKJ3\",\n  \"object\" : \"event\",\n  \"api_version\" : \"2022-11-15\",\n  \"created\" : 1687845303,\n  \"data\" : {\n    \"object\" : {\n      \"id\" : \"prod_O9oUVgsSaordCT\",\n      \"objet\" : \"produit\",\n      \"active\" : true,\n      \"livemode\" : true,\n      \"name\" : \"test\",\n      \"type\" : \"service\",\n  \"livemode\" : true,\n  \"pending_webhooks\" : 1,\n  \"type\" : \"product.created\"\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-3-determine-the-expected-signature\">\u00c9tape 3 : D\u00e9terminer la signature attendue<\/h3>\n\n\n\n<p>Calculer un HMAC avec la fonction de hachage SHA256.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Utilisez le secret du webhook du point de terminaison comme valeur de l'attribut <strong>cl\u00e9<\/strong>que vous pouvez obtenir aupr\u00e8s de <code>webhook.secret<\/code> dans l'objet webhook<\/li>\n\n\n\n<li>Utiliser le <code>charge de paiement sign\u00e9e<\/code> en tant que cha\u00eene de caract\u00e8res <strong>message<\/strong> que vous avez d\u00e9j\u00e0 pr\u00e9par\u00e9 \u00e0 l'\u00e9tape 2.<\/li>\n<\/ul>\n\n\n\n<p>Gr\u00e2ce \u00e0 la <strong>cl\u00e9<\/strong> + <strong>message<\/strong>vous pouvez calculer une cha\u00eene HMAC, qui est <strong>signature attendue<\/strong><\/p>\n\n\n\n<p><strong><em>Par exemple :<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> public static void main(String[] args) {\n        String webhookSecret = \"whsec_261V2mfsXt1BsOjJbHaQOxnTzhWZKrUE\" ;\n        String timestamp = \"1687845304\" ;\n        String requestBody = \"{\\\"id\\\":\\\"evt_1NNUrjL6kclEVx6Mb1x5dKJ3\\\",\\\"object\\\":\\\"event\\\",\\\"api_version\\\":\\\"2022-11-15\\\",\\\"created\\\":1687845303,\\\"data\\\":{\\\"object\\\":{\\\"id\\\":\\\"prod_O9oUVgsSaordCT\\\",\\\"object\\\":\\\"product\\\",\\\"active\\\":true,\\\"livemode\\\":true,\\\"name\\\":\\\"test\\\",\\\"type\\\":\\\"service\\\",\\\"livemode\\\":true,\\\"pending_webhooks\\\":1,\\\"type\\\":\\\"product.created\"}\" ;\n        String signedPayload = timestamp+\". \"+requestBody ;\n        String signature = hmacSha256(webhookSecret,signedPayload) ;\n        String WooshpaySignature = \"t=\"+timestamp+\",v1=\"+signature ;\n    }\n\n    \/**\n     * HMAC-SHA256\n     *\/\n    public static String hmacSha256(String secret, String message) {\n        Cha\u00eene res ;\n        try {\n            Mac mac = Mac.getInstance(\"HmacSHA256\") ;\n            SecretKey secretKey = new SecretKeySpec(secret.getBytes(), \"HmacSHA256\") ;\n            mac.init(secretKey) ;\n            byte[] hash = mac.doFinal(message.getBytes()) ;\n            res = Hex.encodeHexString(hash) ;\n        } catch (Exception e) {\n            renvoie null ;\n        }\n        return res ;\n    }<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-4-compare-the-signatures\">\u00c9tape 4 : Comparer les signatures<\/h3>\n\n\n\n<p>Comparez les <strong>signature dans l'en-t\u00eate<\/strong> \u00e0 la <strong>signature attendue<\/strong>.<\/p>\n\n\n\n<p>Pour une correspondance d'\u00e9galit\u00e9, calculez la diff\u00e9rence entre le <strong>l'heure actuelle<\/strong> et le <strong>horodatage de la r\u00e9ception<\/strong>Ensuite, d\u00e9cidez si la diff\u00e9rence est dans les limites de votre tol\u00e9rance.<\/p>\n\n\n\n<p>Pour vous prot\u00e9ger contre les attaques temporelles, vous pouvez utiliser une comparaison de cha\u00eenes \u00e0 temps constant pour comparer la signature attendue \u00e0 chacune des signatures re\u00e7ues.<\/p>","protected":false},"excerpt":{"rendered":"<p>Overview Verify the events that Wooshpay sends to your webhook endpoints. Wooshpay signature header The Wooshpay-Signature header included in each signed event contains a timestamp and signature. The timestamp is prefixed by t=, and each signature is prefixed by v1. For example: Webhook secret key Wooshpay generates a unique secret key for each webhook. whsec_ [&hellip;]<\/p>","protected":false},"author":1,"featured_media":11965,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","footnotes":""},"doc_category":[316],"doc_tag":[324,323,319],"class_list":["post-11963","docs","type-docs","status-publish","has-post-thumbnail","hentry","doc_category-after-the-payments","doc_tag-open-api","doc_tag-payment","doc_tag-payment-flow"],"year_month":"2026-04","word_count":520,"total_views":"2212","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"wooshpaysite\u7ba1\u7406\u5458","author_nicename":"wooshpaysiteadmin","author_url":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/author\/wooshpaysiteadmin\/"},"doc_category_info":[{"term_name":"After the payments","term_url":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/docs-category\/after-the-payments\/"}],"doc_tag_info":[{"term_name":"open api","term_url":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/docs-tag\/open-api\/"},{"term_name":"payment","term_url":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/docs-tag\/payment\/"},{"term_name":"Payment Flow","term_url":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/docs-tag\/payment-flow\/"}],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.8 (Yoast SEO v24.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Check the webhook signatures - WooshPay<\/title>\n<meta name=\"description\" content=\"Verify the events that Wooshpay sends to your webhook endpoints.Wooshpay signature headerThe Wooshpay-Signature header included in each signed event contains a timestamp and signature.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Check the webhook signatures\" \/>\n<meta property=\"og:description\" content=\"Verify the events that Wooshpay sends to your webhook endpoints.Wooshpay signature headerThe Wooshpay-Signature header included in each signed event contains a timestamp and signature.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/\" \/>\n<meta property=\"og:site_name\" content=\"WooshPay\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1016\" \/>\n\t<meta property=\"og:image:height\" content=\"1036\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/\",\"url\":\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/\",\"name\":\"Check the webhook signatures - WooshPay\",\"isPartOf\":{\"@id\":\"https:\/\/www.wooshpay.com\/zh\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png\",\"datePublished\":\"2023-08-05T09:06:16+00:00\",\"description\":\"Verify the events that Wooshpay sends to your webhook endpoints.Wooshpay signature headerThe Wooshpay-Signature header included in each signed event contains a timestamp and signature.\",\"breadcrumb\":{\"@id\":\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#primaryimage\",\"url\":\"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png\",\"contentUrl\":\"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png\",\"width\":1016,\"height\":1036,\"caption\":\"webhook signatures\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.wooshpay.com\/zh\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docs\",\"item\":\"https:\/\/wooshpay.com\/fr\/docs\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Check the webhook signatures\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wooshpay.com\/zh\/#website\",\"url\":\"https:\/\/www.wooshpay.com\/zh\/\",\"name\":\"WooshPay\",\"description\":\"One-stop payment platform\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wooshpay.com\/zh\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"V\u00e9rifier les signatures des webhooks - WooshPay","description":"V\u00e9rifiez les \u00e9v\u00e9nements que Wooshpay envoie \u00e0 vos points de terminaison webhook.En-t\u00eate de signature WooshpayL'en-t\u00eate Wooshpay-Signature inclus dans chaque \u00e9v\u00e9nement sign\u00e9 contient un horodatage et une signature.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/","og_locale":"fr_FR","og_type":"article","og_title":"Check the webhook signatures","og_description":"Verify the events that Wooshpay sends to your webhook endpoints.Wooshpay signature headerThe Wooshpay-Signature header included in each signed event contains a timestamp and signature.","og_url":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/","og_site_name":"WooshPay","og_image":[{"width":1016,"height":1036,"url":"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/","url":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/","name":"V\u00e9rifier les signatures des webhooks - WooshPay","isPartOf":{"@id":"https:\/\/www.wooshpay.com\/zh\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#primaryimage"},"image":{"@id":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#primaryimage"},"thumbnailUrl":"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png","datePublished":"2023-08-05T09:06:16+00:00","description":"V\u00e9rifiez les \u00e9v\u00e9nements que Wooshpay envoie \u00e0 vos points de terminaison webhook.En-t\u00eate de signature WooshpayL'en-t\u00eate Wooshpay-Signature inclus dans chaque \u00e9v\u00e9nement sign\u00e9 contient un horodatage et une signature.","breadcrumb":{"@id":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wooshpay.com\/docs\/webhook-signatures\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#primaryimage","url":"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png","contentUrl":"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png","width":1016,"height":1036,"caption":"webhook signatures"},{"@type":"BreadcrumbList","@id":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.wooshpay.com\/zh\/"},{"@type":"ListItem","position":2,"name":"Docs","item":"https:\/\/wooshpay.com\/fr\/docs\/"},{"@type":"ListItem","position":3,"name":"Check the webhook signatures"}]},{"@type":"WebSite","@id":"https:\/\/www.wooshpay.com\/zh\/#website","url":"https:\/\/www.wooshpay.com\/zh\/","name":"WooshPay","description":"Plate-forme de paiement unique","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wooshpay.com\/zh\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"}]}},"uagb_featured_image_src":{"full":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png",1016,1036,false],"thumbnail":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945-150x150.png",150,150,true],"medium":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945-294x300.png",294,300,true],"medium_large":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945-768x783.png",768,783,true],"large":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945-1004x1024.png",1004,1024,true],"1536x1536":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png",1016,1036,false],"2048x2048":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png",1016,1036,false],"trp-custom-language-flag":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945-12x12.png",12,12,true]},"uagb_author_info":{"display_name":"wooshpaysite\u7ba1\u7406\u5458","author_link":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/author\/wooshpaysiteadmin\/"},"uagb_comment_info":0,"uagb_excerpt":"Overview Verify the events that Wooshpay sends to your webhook endpoints. Wooshpay signature header The Wooshpay-Signature header included in each signed event contains a timestamp and signature. The timestamp is prefixed by t=, and each signature is prefixed by v1. For example: Webhook secret key Wooshpay generates a unique secret key for each webhook. whsec_\u2026","_links":{"self":[{"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/wp-json\/wp\/v2\/docs\/11963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/wp-json\/wp\/v2\/comments?post=11963"}],"version-history":[{"count":0,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/wp-json\/wp\/v2\/docs\/11963\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/wp-json\/wp\/v2\/media\/11965"}],"wp:attachment":[{"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/wp-json\/wp\/v2\/media?parent=11963"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/wp-json\/wp\/v2\/doc_category?post=11963"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/fr\/wp-json\/wp\/v2\/doc_tag?post=11963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}