Webhook simulator lets you send test webhooks to your endpoint without triggering real transactions. Use it to build and test your webhook integrations without going through the steps to trigger events in a real flow.
Send webhooks without affecting real data. Works in sandbox and production.
Trigger a sequence of related events, like all webhooks for subscription creation.
Create reusable simulations, then run them anytime with real payloads.
Billing scenarios involve multiple webhooks
Key subscription lifecycle events typically involve multiple webhooks. For example, when a customer signs up using checkout, Paddle:
- Creates and updates a customer, address, and business to hold customer information.
- Creates and updates a transaction to collect payment.
- Creates a subscription when checkout completes.
Each step of the process fires its own webhook. Webhook simulator lets you send single events or predefined groups of events, called scenarios, without going through the steps to make them occur yourself.
Single events vs. scenarios
A simulation is a reusable configuration of events that you want to test. There are two kinds of simulations:
- Single events simulate one webhook event. You can customize the payload after running to send specific data.
- Scenarios simulate a predefined sequence of events for a lifecycle flow, like a subscription creation or renewal. You can configure scenarios to populate payloads with real entities and test different flows.
Configuration
You can configure scenarios to match your real flows and test different scenarios. When configuring, you can include:
- Entities
Populate simulated webhook payloads with your real data. They map to your existing Paddle entities, like customers and subscriptions. - Options
Control what flow occurs in the scenario, including which webhooks are sent and the details they contain. Options relate to user actions or entity field values at the time the scenario takes place.
For example, you can:
- Provide a customer ID to populate simulated events with that customer's details.
- Set a payment outcome of
failedto simulate a subscription renewal where payment doesn't go through.
Providing entities only populates payload data. For example, providing a customer ID doesn't change which webhooks are sent. To change which webhooks are sent during a simulated flow, use options.
Simulation lifecycle
Once you've created and configured a simulation, you can run it as many times as you want as part of your testing workflows.
flowchart LR
A[Create simulation] --> B["Configure\n(scenarios only, optional)"]
B --> C[Run simulation]
C --> D[Work with events]
D -->|Run again| C
- Create a simulation
Tell Paddle which event or predefined sequence to simulate, and which notification destination to send events to. - Configure a simulation
For scenario simulations, optionally populate payloads with your real Paddle entities and choose which flow to simulate. - Run your simulation
Trigger the event or events. Paddle creates a simulation run entity for each run. - Work with simulated events
Inspect each event's payload, request, and your server's response. Paddle creates a simulation run event entity for each event sent.