バックエンド連携 & 開発デバッグ

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
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));
}