APICenter
DocsBuildLearn
Guides & Tutorials

Google Pub/Sub Event Delivery

Asynchronous webhook and event delivery platform architecture.

APICenter delivers asynchronous state change events (such as payment.checkout.paid or payment.refunded) via APICenter-owned Google Pub/Sub.


Delivery Mechanism

  1. Outbox Pattern: apps/payments writes event payloads to shared_payment_outbox transactional tables.
  2. Pub/Sub Dispatcher: Published to GCP Pub/Sub topic apicenter.payment-events.test or apicenter.payment-events.live.
  3. Consumer Subscriptions: Google Pub/Sub pushes HTTPS requests directly to consumer service Cloud Run endpoints with GCP OIDC Bearer tokens.

Event Payload Envelope

{
  "eventId": "evt_99182a3b",
  "eventType": "payment.checkout.paid",
  "aggregateId": "chk_8f1a2b3c4d",
  "aggregateType": "checkout",
  "timestamp": "2026-07-29T00:55:00.000Z",
  "environment": "live",
  "ownerTribeId": "logistics",
  "consumerServiceId": "logistics-service",
  "data": {
    "checkoutId": "chk_8f1a2b3c4d",
    "referenceId": "ORDER-991204",
    "status": "paid",
    "amount": {
      "amountMinor": 49900,
      "currency": "PHP"
    }
  }
}

Retries & Dead Letter Queue (DLQ)

  • Max Attempts: 20 retries over 24 hours.
  • Dead Letter Topic: apicenter.payment-events.{env}.dead-letter.
  • Manual Replay: Available through APICenter Management Console (apps/management).