{"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\/zh\/docs\/webhook-signatures\/","title":{"rendered":"\u68c0\u67e5\u7f51\u7edc\u94a9\u5b50\u7b7e\u540d"},"content":{"rendered":"<h2 class=\"wp-block-heading\" id=\"h-overview\">\u6982\u8ff0<\/h2>\n\n\n\n<p>\u9a8c\u8bc1 Wooshpay \u53d1\u9001\u5230 webhook \u7aef\u70b9\u7684\u4e8b\u4ef6\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-wooshpay-signature-header\">Wooshpay \u7b7e\u540d\u5934<\/h3>\n\n\n\n<p>\"(\u300a\u4e16\u754c\u4eba\u6743\u5ba3\u8a00\u300b) <code>Wooshpay-Signature<\/code> \u6bcf\u4e2a\u7b7e\u540d\u4e8b\u4ef6\u4e2d\u7684\u6807\u5934\u90fd\u5305\u542b\u4e00\u4e2a\u65f6\u95f4\u6233\u548c\u7b7e\u540d\u3002<\/p>\n\n\n\n<p>\u65f6\u95f4\u6233\u524d\u7f00\u4e3a <code>t=<\/code>\uff0c\u6bcf\u4e2a\u7b7e\u540d\u7684\u524d\u7f00\u662f <code>v1<\/code>.<\/p>\n\n\n\n<p><strong><em>\u4f8b\u5982<\/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\">Webhook \u5bc6\u94a5<\/h3>\n\n\n\n<p>Wooshpay \u4f1a\u751f\u6210\u4e00\u4e2a\u552f\u4e00\u7684 <strong>\u79d8\u94a5<\/strong> \u4e3a\u6bcf\u4e2a\u7f51\u7edc\u94a9\u5b50 <code>whsec_<\/code><\/p>\n\n\n\n<p>\u5728\u9a8c\u8bc1\u7b7e\u540d\u4e4b\u524d\uff0c\u60a8\u9700\u8981\u4ece <code>webhook.secret<\/code> \u5728 webhook \u5bf9\u8c61\u4e2d\u3002<\/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=\"webhook-secret-key\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-verifying-signatures\">\u9a8c\u8bc1\u7b7e\u540d<\/h2>\n\n\n\n<p>\u901a\u8fc7\u6bd4\u8f83 <strong>\u6807\u9898\u4e2d\u7684\u7b7e\u540d<\/strong> \u5230 <strong>\u9884\u671f\u7b7e\u540d<\/strong>\u60a8\u53ef\u4ee5\u9a8c\u8bc1\u5373\u4f7f\u662f\u7531 Wooshpay \u53d1\u9001\u7684\uff0c\u800c\u4e0d\u662f\u7531\u7b2c\u4e09\u65b9\u53d1\u9001\u7684\u3002<\/p>\n\n\n\n<p>\u8981\u9010\u6b65\u9a8c\u8bc1\u7b7e\u540d\uff0c\u60a8\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6307\u5357\u8fdb\u884c\u64cd\u4f5c\uff1a<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-1-extract-the-timestamp-and-signatures-from-the-header\">\u6b65\u9aa4 1\uff1a\u4ece\u6587\u4ef6\u5934\u63d0\u53d6\u65f6\u95f4\u6233\u548c\u7b7e\u540d<\/h3>\n\n\n\n<p>\u4f7f\u7528 <code>,<\/code> \u5b57\u7b26\u4f5c\u4e3a\u5206\u9694\u7b26\uff0c\u5f97\u5230\u4e00\u4e2a\u5143\u7d20\u5217\u8868\u3002\u7136\u540e\u4f7f\u7528 <code>=<\/code> \u5b57\u7b26\u4f5c\u4e3a\u5206\u9694\u7b26\uff0c\u4ee5\u83b7\u5f97\u524d\u7f00\u548c\u503c\u5bf9\u3002<\/p>\n\n\n\n<p>\u524d\u7f00\u7684\u503c <code>t<\/code> \u5bf9\u5e94\u4e8e\u65f6\u95f4\u6233\uff0c\u800c <code>v1<\/code> \u4e0e\u7b7e\u540d\u76f8\u5bf9\u5e94\u3002\u60a8\u53ef\u4ee5\u820d\u5f03\u6240\u6709\u5176\u4ed6\u5143\u7d20\u3002<\/p>\n\n\n\n<p><strong><em>\u4f8b\u5982<\/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\">\u6b65\u9aa4 2\uff1a\u51c6\u5907 <code>\u7b7e\u540d\u652f\u4ed8\u8d1f\u8f7d<\/code> \u5b57\u7b26\u4e32<\/h3>\n\n\n\n<p>\"(\u300a\u4e16\u754c\u4eba\u6743\u5ba3\u8a00\u300b) <code>\u7b7e\u540d\u652f\u4ed8\u8d1f\u8f7d<\/code> \u5b57\u7b26\u4e32\u662f\u901a\u8fc7\u8fde\u63a5\u521b\u5efa\u7684\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u65f6\u95f4\u6233\uff08\u5b57\u7b26\u4e32\uff09<\/li>\n\n\n\n<li>\u89d2\u8272 <code>.<\/code><\/li>\n\n\n\n<li>\u5b9e\u9645\u7684 JSON \u6709\u6548\u8d1f\u8f7d\uff08\u8bf7\u6c42\u6b63\u6587\uff09<\/li>\n<\/ul>\n\n\n\n<p><strong><em>\u4f8b\u5982<\/em><\/strong><\/p>\n\n\n\n<p><em><code>1687845304<\/code><strong>+<\/strong><code>.<\/code><strong>+<\/strong><code>JSON \u6709\u6548\u8d1f\u8f7d<\/code><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1687845304.{\n  \"id\"\uff1a\"evt_1NNUrjL6kclEVx6Mb1x5dKJ3\",\n  \"\u5bf9\u8c61\"\uff1a\"\u4e8b\u4ef6\"\u3001\n  \"api_version\"\uff1a\"2022-11-15\"2022-11-15\",\n  \"\u521b\u5efa\"\uff1a1687845303,\n  \"\u6570\u636e\"\uff1a{\n    \"\u5bf9\u8c61\"\uff1a{\n      \"id\"\uff1a\"prod_O9oUVgsSaordCT\"\u3001\n      \"\u5bf9\u8c61\"\uff1a\"\u4ea7\u54c1\"\u3001\n      \"active\": true\u3001\n      \"livemode\": true\u3001\n      \"\u540d\u79f0\"\uff1a\"test\"\u3001\n      \"\u7c7b\u578b\"\uff1a\"\u670d\u52a1\"\u3001\n  \"livemode\": true\u3001\n  \"pending_webhooks\"\uff1a1,\n  \"type\"\uff1a\"product.created\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-3-determine-the-expected-signature\">\u6b65\u9aa4 3\uff1a\u786e\u5b9a\u9884\u671f\u7b7e\u540d<\/h3>\n\n\n\n<p>\u4f7f\u7528 SHA256 \u54c8\u5e0c\u51fd\u6570\u8ba1\u7b97 HMAC\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528\u7aef\u70b9\u7684\u7f51\u7edc\u94a9\u5b50\u79d8\u5bc6\u4f5c\u4e3a <strong>\u5bc6\u94a5<\/strong>\u60a8\u53ef\u4ee5\u4ece\u4ee5\u4e0b\u7f51\u7ad9\u83b7\u53d6 <code>webhook.secret<\/code> \u5728\u7f51\u7edc\u94a9\u5b50\u5bf9\u8c61\u4e2d<\/li>\n\n\n\n<li>\u4f7f\u7528 <code>\u7b7e\u540d\u652f\u4ed8\u8d1f\u8f7d<\/code> \u5b57\u7b26\u4e32\u4f5c\u4e3a <strong>\u4fe1\u606f<\/strong> \u8fd9\u662f\u60a8\u5728\u7b2c 2 \u6b65\u4e2d\u5df2\u7ecf\u51c6\u5907\u597d\u7684\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u901a\u8fc7 <strong>\u5bc6\u94a5<\/strong> + <strong>\u4fe1\u606f<\/strong>\uff0c\u5c31\u53ef\u4ee5\u8ba1\u7b97\u51fa\u4e00\u4e2a HMAC \u5b57\u7b26\u4e32\uff0c\u5373 <strong>\u9884\u671f\u7b7e\u540d<\/strong><\/p>\n\n\n\n<p><strong><em>\u4f8b\u5982<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> public static void main(String[] args) {\n        String webhookSecret = \"whsec_261V2mfsXt1BsOjJbHaQOxnTzhWZKrUE\"\uff1b\n        String timestamp = \"1687845304\"\uff1b\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\\\"}\"\uff1b\n        String signedPayload = timestamp+\". \"+requestBody\uff1b\n        String signature = hmacSha256(webhookSecret,signedPayload)\uff1b\n        String WooshpaySignature = \"t=\"+timestamp+\",v1=\"+signature\uff1b\n    }\n\n    \/**\n     * HMAC-SHA256\n     *\/\n    public static String hmacSha256(String secret, String message) {\n        \u5b57\u7b26\u4e32 res\uff1b\n        try {\n            Mac mac = Mac.getInstance(\"HmacSHA256\")\uff1b\n            SecretKey secretKey = new SecretKeySpec(secret.getBytes(), \"HmacSHA256\")\uff1b\n            mac.init(secretKey)\uff1b\n            byte[] hash = mac.doFinal(message.getBytes())\uff1b\n            res = Hex.encodeHexString(hash)\uff1b\n        } catch (Exception e) {\n            return null\uff1b\n        }\n        return res\uff1b\n    }<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-4-compare-the-signatures\">\u6b65\u9aa4 4\uff1a\u6bd4\u8f83\u7b7e\u540d<\/h3>\n\n\n\n<p>\u6bd4\u8f83 <strong>\u6807\u9898\u4e2d\u7684\u7b7e\u540d<\/strong> \u5230 <strong>\u9884\u671f\u7b7e\u540d<\/strong>.<\/p>\n\n\n\n<p>\u5bf9\u4e8e\u76f8\u7b49\u5339\u914d\uff0c\u8ba1\u7b97 <strong>\u5f53\u524d\u65f6\u95f4\u6233<\/strong> \u548c <strong>\u6536\u5230\u7684\u65f6\u95f4\u6233<\/strong>\u7136\u540e\u518d\u51b3\u5b9a\u5dee\u5f02\u662f\u5426\u5728\u60a8\u7684\u627f\u53d7\u8303\u56f4\u4e4b\u5185\u3002<\/p>\n\n\n\n<p>\u4e3a\u4e86\u9632\u6b62\u5b9a\u65f6\u653b\u51fb\uff0c\u53ef\u4ee5\u4f7f\u7528\u6052\u5b9a\u65f6\u95f4\u5b57\u7b26\u4e32\u6bd4\u8f83\u6cd5\uff0c\u5c06\u9884\u671f\u7b7e\u540d\u4e0e\u6536\u5230\u7684\u6bcf\u4e2a\u7b7e\u540d\u8fdb\u884c\u6bd4\u8f83\u3002<\/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\/zh\/author\/wooshpaysiteadmin\/"},"doc_category_info":[{"term_name":"After the payments","term_url":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/zh\/docs-category\/after-the-payments\/"}],"doc_tag_info":[{"term_name":"open api","term_url":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/zh\/docs-tag\/open-api\/"},{"term_name":"payment","term_url":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/zh\/docs-tag\/payment\/"},{"term_name":"Payment Flow","term_url":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/zh\/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=\"zh_CN\" \/>\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=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data1\" content=\"2\u5206\" \/>\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\":\"zh-CN\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-CN\",\"@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\":\"zh-CN\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Check the webhook signatures - WooshPay","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.","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":"zh_CN","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":{"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"2\u5206"},"schema":{"@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":"zh-CN","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wooshpay.com\/docs\/webhook-signatures\/"]}]},{"@type":"ImageObject","inLanguage":"zh-CN","@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":"\u4e00\u7ad9\u5f0f\u652f\u4ed8\u5e73\u53f0","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":"zh-CN"}]}},"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\/zh\/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_&hellip;","_links":{"self":[{"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/zh\/wp-json\/wp\/v2\/docs\/11963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/zh\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/zh\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/zh\/wp-json\/wp\/v2\/comments?post=11963"}],"version-history":[{"count":0,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/zh\/wp-json\/wp\/v2\/docs\/11963\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/zh\/wp-json\/wp\/v2\/media\/11965"}],"wp:attachment":[{"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/zh\/wp-json\/wp\/v2\/media?parent=11963"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/zh\/wp-json\/wp\/v2\/doc_category?post=11963"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/zh\/wp-json\/wp\/v2\/doc_tag?post=11963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}