Go SDK · Idempotency
The IdempotencyKey field deduplicates retries:
rec.Record(ctx, event.Event{
Action: "subscription.created",
IdempotencyKey: stripeEvent.ID,
// ...
})
To opt every event into auto-keying — Event.ID is copied into IdempotencyKey at send time when the latter is empty — pass recorder.WithAutoIdempotencyKey() at construction. Caller-supplied keys always win.