Events
Event contracts for the Subscription Service: what it publishes and what it consumes. Flow behavior lives on the domain pages linked from each row.
Published Events
subscription-updated (Kinesis)
Published to the site-subscriptions Kinesis stream by the kinesis-feeder Lambda, triggered by the DynamoDB Stream on billing-activity. Every INSERT or MODIFY record is forwarded as a wrapped FMSDK event; REMOVE records are skipped.
| Field | Value |
|---|---|
Stream |
|
Event source / version |
|
Event type |
|
Payload |
Full |
usio_error carries a block reason instead of a processor error code when a pinless submit was blocked (Retry-Limit Blocks).
Downstream consumers subscribe to the stream independently; the Subscription Service does not manage them.
Notification and attribution events
| Event | Emitted by | Destination | Trigger |
|---|---|---|---|
|
ach-handler |
Segment |
|
|
ach-handler |
Iterable |
|
|
ach-handler |
AppsFlyer |
|
|
ach-handler |
AppsFlyer |
|
|
notifier-worker |
Iterable |
Billing date in the three-day window — user_id, billing_date |
AppsFlyer events are dispatched per mobile platform (separate iOS and Android clients) and silently dropped when the user has no appsflyer_id. Iterable events are keyed by the user’s email.
Consumed Events
| Source | Transport | Handled by | Contract |
|---|---|---|---|
User Service membership lifecycle events |
Kinesis |
memberships |
Routed by |
Payments Service ACH callbacks ( |
Kinesis |
ach-handler |
Event → status mapping: ACH Callbacks |
Transactions Service balance-detected events |
EventBridge |
webhook-balance-worker |
Balance-triggered collection: Webhook Balance Collection |