Mostly, in response of a Stripe webhook, one would want to do something based on the id. For instance, for a charge failed event, one would like to retrieve the customer for which the charge has failed and would retrieve the customer details from Stripe. Dummy values will not help here.
Just thinking aloud, how would one use this? I have been in need for something to test Stripe webhooks.
StripeTester.create_event(:charge_failed, {"id" => "your_customer_id"})
This will overwrite the first occurrence of the key. I'm working towards solving this issue. Maybe have the user specify which parent object the key is in. Anyway, pull requests are welcome.
We have a complex application that heavily interacts with webhooks - that's what prompted us to create StripeTester. We can now easily spec out the interactions and set expectations when a webhook is received. A side benefit is that this can be used without connectivity and really cleans up our test suite.
Previously, we used Requestbin for manual webhook testing, and made heavy use of Mocha for stubbing. This required us to maintain fixtures and test data to simulate Stripe's.
There's also https://github.com/mindeavor/stripe-ruby-mock that provides some testing hooks (although repo says it's incomplete). We're planning on keeping the webhook data up-to-date when Stripe releases newer versions.