バックエンド連携 & 開発デバッグ
Shopify Webhook ペイロード &
HMAC署名検証 デバッグツール
API直結・OMS/WMS連携開発に必須のShopify公式Webhookスキーマ(JSON)と、改ざん防止用HMAC-SHA256署名検証コードを即座にコピーできます。
Webhookトピックを選択
ヘッダー仕様 (HTTP Header)
X-Shopify-Topic: orders/create
X-Shopify-Hmac-Sha256: [BASE64_HASH]
X-Shopify-Shop-Domain: store.myshopify.com
X-Shopify-Hmac-Sha256: [BASE64_HASH]
X-Shopify-Shop-Domain: store.myshopify.com
orders/create JSON Payload (Mock)
{
"id": 820982911946154500,
"email": "customer@example.jp",
"created_at": "2026-08-20T10:00:00+09:00",
"currency": "JPY",
"total_price": "12800.00",
"subtotal_price": "11636.00",
"total_tax": "1164.00",
"financial_status": "paid",
"fulfillment_status": null,
"line_items": [
{
"id": 148989130071852000,
"title": "プレミアム オーガニック Tシャツ",
"quantity": 2,
"price": "6400.00",
"sku": "ORG-TSHIRT-BLK-M",
"variant_title": "Black / M"
}
],
"shipping_address": {
"name": "山田 太郎",
"province": "東京都",
"city": "渋谷区",
"address1": "神宮前1-2-3",
"zip": "150-0001",
"country_code": "JP"
}
} HMAC-SHA256 署名検証スニペット (TypeScript)
// Node.js (Express / Fastify) でのHMAC-SHA256署名検証コード
import crypto from 'crypto';
export function verifyShopifyWebhook(rawBody: string, hmacHeader: string, secretKey: string): boolean {
const hash = crypto
.createHmac('sha256', secretKey)
.update(rawBody, 'utf8')
.digest('base64');
return crypto.timingSafeEqual(Buffer.from(hash), Buffer.from(hmacHeader));
}