Duplicate payment webhooks
Every payment provider has its own webhook format, and they all share the same failure modes.
Press Send it again with each setting below and watch whether the order gets fulfilled twice.
Stripe webhook
Peanut webhook
One shape same fields for every provider
Fulfillment acts on every callbackkeyed on the event ID
Event IDs seen (not checked)
Orders
- Payments
- 0
- Fulfillments
- 0
- Duplicates skipped
- 0
- Fulfilled twice
- 0
- Wrong status
- 0
At JobStash I integrated Stripe, Peanut and several other providers into one billing path. Providers send duplicates, deliver out of order, and some report success before the money settles.
The integration layer maps every provider’s events to one internal shape. Fulfillment is keyed on the provider’s event ID, and we reconcile against the provider’s own records. The callback only says where to look.