Skip to navigation Skip to main content

Free Grow sales & stop fraud — Smart Cycle Discounts + TrustLens, free on WordPress.org Two free WooCommerce plugins

Explore both

Free Grow sales & stop fraud — Smart Cycle Discounts + TrustLens, free on WordPress.org Two free WooCommerce plugins

Explore both
  • WordPress
    WordPress Plugins
    View all
    Smart Cycle Discounts logo

    Smart Cycle Discounts

    Automate discount campaigns with scheduling, analytics, and smart product targeting.

    7 Discount Types Cycle AI
    Free Pro from $59
    TrustLens logo

    TrustLens

    Customer trust intelligence for WooCommerce. Score customers, spot abuse, protect revenue.

    Trust Scores Abuse Detection
    Free Pro from $79

    New Plugin

    Coming Soon

    Something exciting is in the works. Join the waitlist to be first to know.

    Get Notified
    Notify Me
    Secure Checkout
    WordPress.org
    14-Day Refund
    Resources
    Documentation Guides & tutorials
    Discount Calculator Plan your strategy
    Support Get help
    SCD Changelog Discount plugin updates
    TrustLens Changelog Trust intelligence updates
    Get notified on new releases
  • Affiliate
    Program
    Overview How the program works
    How It Works 4 steps from apply to earn
    Commission Details 30% · 60-day cookie · recurring
    Get Started
    Apply Now Open
    Takes ~2 minutes
    Earnings Calculator Estimate your monthly income
    FAQ Payouts, cookies, renewals
    Resources
    Brand Kit Logos, banners, copy, social
    Playbook Tactics that actually convert
    FTC Disclosure How to disclose properly
    Affiliate Terms Full program agreement
    Contact Team Open the contact form
    Earn 30% recurring on every sale Free to join · 60-day cookie · monthly PayPal payouts
    Apply Now
  • Blog
  • DOCS
    Docs & Resources

    Guides, references, and answers for every Webstepper plugin.

    Smart Cycle Discounts Automated WooCommerce discount campaigns
    Getting started › Discount types › Cycle AI ›
    TrustLens Customer trust & fraud intelligence
    Trust scoring › Detection modules › Card-testing defense ›
    Docs Home Guides FAQ Pricing Support
    WordPress tools that solve real problems
  • Contact Us
  • About
    Company

    Our Story

    Founded 2020

    Built by store owners, for store owners. We create WordPress tools that solve real problems.

    Learn more
    Built from Experience Real solutions we use ourselves
    Time is Precious Simple, intuitive tools
    Real Support Talk to the founders
    Legal & Contact
    Contact Us Privacy Policy Terms of Service Refund Policy
    14-Day Money-Back Guarantee No questions asked
Popular requests
  • smart cycle discounts
  • trustlens
  • chargeback protection
GET STARTED

Glossary

1
  • TrustLens Glossary

Detection Modules

9
  • Card Testing Defense
  • Chargeback Tracking
  • Shipping Anomalies
  • Linked Accounts Detection
  • Category Aware Risk
  • Coupon Abuse Detection
  • Order Pattern Analysis
  • Return Abuse Detection
  • Modules Overview

Card Testing Defense

9
  • Attack History
  • Allowlists
  • Geo Diversity
  • Auto Escalation
  • Fingerprinting
  • VIP Bypass
  • Panic Button
  • Velocity Thresholds
  • Overview

Chargeback Monitor

7
  • Ratio Email Alerts
  • Dispute Evidence Report
  • Chargeback Monitor
  • Manual Dispute Entry
  • Stripe WooPayments Ingestion
  • Card Network Thresholds
  • Chargeback Ratio Speedometer

Customer Management

7
  • Admin Notes
  • Checkout Enforcement
  • Order Trust Column
  • Bulk Actions
  • Blocking and Allowlisting
  • Customer Detail Profile
  • Customer List

Automation

7
  • Async Dispatch Retries
  • Webhooks and HMAC
  • Rule Inspector
  • Actions Reference
  • Conditions Reference
  • Triggers Reference
  • Automation Overview

Trust Scoring

5
  • Account Age Loyalty Bonus
  • Signals Explained
  • Six Customer Segments
  • The 0–100 Score
  • How Trust Scoring Works
View Categories
  • Home
  • Docs
  • Trustlens
  • Developer Documentation
  • Webhook Payloads

Webhook Payloads

3 min read

Outgoing webhook actions (automation rules and the global webhook) deliver JSON payloads with a consistent envelope and event-specific data. This page documents the payload structure for every trigger event so receivers can be implemented against a clear contract.


Common Envelope #

Every payload has the same top-level shape:

{
  "event": "...",
  "delivery_id": "...",
  "timestamp": 1710000000,
  "rule": {
    "id": 42,
    "name": "..."
  },
  "data": { ... }
}
Field Description
event Trigger event ID (e.g. chargeback_filed)
delivery_id UUID; same across retries of the same delivery
timestamp Unix timestamp at dispatch (changes on retry)
rule.id, rule.name The automation rule that triggered this webhook
data Event-specific payload (documented per-event below)

Headers also included:

  • Content-Type: application/json
  • X-TrustLens-Event: event ID
  • X-TrustLens-Signature: HMAC-SHA256 of raw body, format sha256=hex...
  • X-TrustLens-Delivery: same as delivery_id
  • X-TrustLens-Timestamp: same as timestamp

Customer Data Shape #

Many events include a customer object in data:

"customer": {
  "email_hash": "...",
  "email": "...",
  "trust_score": 47,
  "segment": "caution",
  "is_blocked": false,
  "is_allowlisted": false,
  "total_orders": 12,
  "total_refunds": 3,
  "return_rate": 25.0,
  "total_disputes": 0,
  "linked_accounts_count": 0,
  "first_order_date": "2023-04-15T10:30:00Z",
  "last_order_date": "2024-03-10T14:22:00Z"
}

Order Data Shape #

"order": {
  "id": 5432,
  "total": 159.99,
  "subtotal": 145.00,
  "shipping_total": 9.99,
  "tax_total": 5.00,
  "coupon_total": 0.00,
  "currency": "USD",
  "item_count": 3,
  "payment_method": "stripe",
  "shipping_country": "US",
  "billing_country": "US",
  "status": "processing",
  "created_at": "2024-03-15T12:00:00Z"
}

Per-Event Payloads #

score_changed #

"data": {
  "customer": { ... },
  "old_score": 55,
  "new_score": 47,
  "score_delta": -8
}

segment_changed #

"data": {
  "customer": { ... },
  "old_segment": "normal",
  "new_segment": "caution"
}

order_placed #

"data": {
  "customer": { ... },
  "order": { ... }
}

order_refunded #

"data": {
  "customer": { ... },
  "order": { ... },
  "refund": {
    "id": 5433,
    "amount": 49.99,
    "reason": "Customer didn't like item",
    "is_full_refund": false
  }
}

order_cancelled #

"data": {
  "customer": { ... },
  "order": { ... },
  "cancelled_by": "customer"
}

chargeback_filed #

"data": {
  "customer": { ... },
  "order": { ... },
  "dispute": {
    "id": 123,
    "dispute_id": "dp_xyz789",
    "brand": "visa",
    "amount": 99.00,
    "reason": "fraudulent",
    "status": "open",
    "source": "auto",
    "filed_at": "2024-03-10T08:00:00Z"
  }
}

dispute_status_changed #

"data": {
  "customer": { ... },
  "dispute": { ... },
  "old_status": "open",
  "new_status": "lost"
}

linked_accounts_detected #

"data": {
  "customer": { ... },
  "linked": [
    {
      "email_hash": "...",
      "segment": "critical",
      "link_types": ["shipping_address", "ip", "device"]
    }
  ],
  "total_linked_count": 3
}

fraud_ring_detected #

"data": {
  "customer": { ... },
  "linked_critical": [
    { "email_hash": "...", "segment": "critical" },
    { "email_hash": "...", "segment": "critical" }
  ]
}

card_testing_attack #

"data": {
  "fingerprint_hash": "...",
  "country": "DE",
  "decline_count_60s": 5,
  "decline_count_10m": 12,
  "lockout_duration_seconds": 90,
  "recent_decline_codes": {
    "insufficient_funds": 3,
    "invalid_expiry": 2
  }
}

auto_escalated #

"data": {
  "contributing_fingerprints": ["hash1", "hash2", "hash3"],
  "countries_represented": ["DE", "RU", "BR"],
  "single_country_max_share": 0.45,
  "panic_freeze_expires_at": 1710000900
}

panic_button_activated #

"data": {
  "source": "manual",
  "admin_user_id": 42,
  "admin_username": "[email protected]",
  "freeze_duration_seconds": 900,
  "freeze_expires_at": 1710000900
}

shipping_anomaly #

"data": {
  "customer": { ... },
  "anomaly_type": "address_hopping",
  "details": {
    "distinct_addresses_30d": 4
  }
}

coupon_applied #

"data": {
  "customer": { ... },
  "order": { ... },
  "coupon": {
    "code": "WELCOME10",
    "is_first_order": true,
    "discount_amount": 5.00
  }
}

coupon_abuse #

"data": {
  "customer": { ... },
  "abuse_type": "first_order_repeat",
  "details": {
    "first_order_coupons_count": 3
  }
}

chargeback_ratio_threshold_crossed #

"data": {
  "brand": "visa",
  "current_ratio": 0.87,
  "threshold": 0.90,
  "warn_percent": 80,
  "total_disputes_month": 105,
  "total_orders_month": 12000
}

Field Type Notes #

  • Timestamps: ISO 8601 UTC for human-readable fields; Unix epoch for the envelope timestamp
  • Monetary amounts: Decimal numbers (not strings); use receiver’s currency-handling logic
  • Hashes: 32-character lowercase hex strings (SHA-256 truncated)
  • Enums: Lowercase strings matching the database enum values

Backward Compatibility #

Receivers should:

  • Ignore unknown fields (forward-compatible)
  • Not depend on field order (JSON objects are unordered)
  • Handle missing fields gracefully (some events may add fields in future versions)

Breaking changes to payloads are rare and announced in changelog. Minor additions happen routinely.


Testing #

For testing receivers without waiting for real events, use the “Send Test Webhook” feature in Settings → Webhooks. It dispatches a synthetic payload with realistic test data so you can verify your receiver’s parsing and signature verification.

Updated on June 4, 2026

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Extending with Custom ModulesDatabase Schema
Table of Contents
  • Common Envelope
  • Customer Data Shape
  • Order Data Shape
  • Per-Event Payloads
    • score_changed
    • segment_changed
    • order_placed
    • order_refunded
    • order_cancelled
    • chargeback_filed
    • dispute_status_changed
    • linked_accounts_detected
    • fraud_ring_detected
    • card_testing_attack
    • auto_escalated
    • panic_button_activated
    • shipping_anomaly
    • coupon_applied
    • coupon_abuse
    • chargeback_ratio_threshold_crossed
  • Field Type Notes
  • Backward Compatibility
  • Testing
Newsletter

Insights that grow your business

Join thousands of WooCommerce store owners who get actionable tips, plugin updates, and industry news every week.

We respect your privacy. Unsubscribe at any time.

Weekly updates — Fresh content every Tuesday
Exclusive content — Tips you won't find on our blog
Early access — Be first to know about new plugins
Webstepper
Weekly WooCommerce Tips
Just now
This week: 5 proven strategies to boost your average order value using smart discount campaigns...
New issue!
Webstepper

Tools for store owners who'd rather grow than grind.

Simple, powerful plugins that help WooCommerce store owners sell more — without the learning curve.

500+ happy stores

Products

  • Smart Cycle Discounts
  • TrustLens
  • Discount Calculator
  • Sale Calendar

Company

  • About Us
  • Blog
  • Contact
  • Affiliates

Resources

  • Help Center
  • Guides
  • Affiliate Program
  • Become a Partner

Questions? We actually answer.

Real humans, real help. No bots, no runaround. Usually within a few hours.

Get in touch
Operated by Setmood LLC · 7901 4th St N, St Petersburg, FL 33702 · United States

© 2026 Webstepper. All rights reserved.

Privacy Terms Refunds
Visa Mastercard PayPal Apple Pay Google Pay & more
Limited Time Offer

Save 15% on
SCD, TrustLens & the Bundle

Smart Cycle Discounts and TrustLens — buy either plugin or grab both in the bundle. Use code at checkout.

WELCOME15
23 hours
:
59 minutes
:
59 seconds
Claim My Discount

Just want one? Smart Cycle Discounts · TrustLens

  • WordPress
    Back
    WordPress Plugins
    View all
    Smart Cycle Discounts logo

    Smart Cycle Discounts

    Automate discount campaigns with scheduling, analytics, and smart product targeting.

    7 Discount Types Cycle AI
    Free Pro from $59
    TrustLens logo

    TrustLens

    Customer trust intelligence for WooCommerce. Score customers, spot abuse, protect revenue.

    Trust Scores Abuse Detection
    Free Pro from $79

    New Plugin

    Coming Soon

    Something exciting is in the works. Join the waitlist to be first to know.

    Get Notified
    Notify Me
    Secure Checkout
    WordPress.org
    14-Day Refund
    Resources
    Documentation Guides & tutorials
    Discount Calculator Plan your strategy
    Support Get help
    SCD Changelog Discount plugin updates
    TrustLens Changelog Trust intelligence updates
    Get notified on new releases
  • Affiliate
    Back
    Program
    Overview How the program works
    How It Works 4 steps from apply to earn
    Commission Details 30% · 60-day cookie · recurring
    Get Started
    Apply Now Open
    Takes ~2 minutes
    Earnings Calculator Estimate your monthly income
    FAQ Payouts, cookies, renewals
    Resources
    Brand Kit Logos, banners, copy, social
    Playbook Tactics that actually convert
    FTC Disclosure How to disclose properly
    Affiliate Terms Full program agreement
    Contact Team Open the contact form
    Earn 30% recurring on every sale Free to join · 60-day cookie · monthly PayPal payouts
    Apply Now
  • Blog
  • DOCS
    Back
    Docs & Resources

    Guides, references, and answers for every Webstepper plugin.

    Smart Cycle Discounts Automated WooCommerce discount campaigns
    Getting started › Discount types › Cycle AI ›
    TrustLens Customer trust & fraud intelligence
    Trust scoring › Detection modules › Card-testing defense ›
    Docs Home Guides FAQ Pricing Support
    WordPress tools that solve real problems
  • Contact Us
  • About
    Back
    Company

    Our Story

    Founded 2020

    Built by store owners, for store owners. We create WordPress tools that solve real problems.

    Learn more
    Built from Experience Real solutions we use ourselves
    Time is Precious Simple, intuitive tools
    Real Support Talk to the founders
    Legal & Contact
    Contact Us Privacy Policy Terms of Service Refund Policy
    14-Day Money-Back Guarantee No questions asked
We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.
More info More info Accept