Docs

Event payload examples

Copyable full event envelopes for app webhooks and optional XRPC receivers.

Closed beta@atmosphere-money/app-nodeSDK beta: 0.0.0-beta.3ATM API beta: 2026-0672 lexicons

Compatible with the closed-beta ATM app APIs and versioned ATM event headers. Check atm-api-version on every webhook or XRPC receiver event.

How to read examples

These are complete app event envelopes. HTTP webhooks and XRPC receiver callbacks use the same JSON body. Only the transport auth changes.

idDelivery id (whd_...). Matches the Atm-Delivery-Id header. Use for idempotency before side effects, logs, and support.
apiVersionWire-format version (currently 2026-07). Pin to it and treat unknown fields as additive.
environmenttest or live. Never mix fulfillment state across environments.
dataTyped payload for the event type (carries a $type lexicon ref). Store the ATM id beside your app order id.

Payment completed

json
{
  "id": "whd_pay_completed_01",
  "type": "payment.completed",
  "createdAt": "2026-06-05T14:00:00.000Z",
  "apiVersion": "2026-07",
  "environment": "test",
  "data": {
    "$type": "money.atmosphere.event.receive#paymentCompleted",
    "paymentId": "pay_01HZYATM0001",
    "amount": 2500,
    "currency": "usd",
    "paymentType": "shop",
    "status": "succeeded",
    "recipientDid": "did:plc:creator",
    "recipientHandle": "creator.example",
    "payerDid": "did:plc:buyer",
    "payerHandle": "buyer.example",
    "listing": {
      "uri": "at://did:plc:creator/money.atmosphere.product/abc",
      "cid": "bafy..."
    },
    "appOrderId": "ord_123",
    "checkoutToken": "atm_checkout_123"
  }
}

Payment refunded

json
{
  "id": "whd_pay_refunded_01",
  "type": "payment.refunded",
  "createdAt": "2026-06-05T15:30:00.000Z",
  "apiVersion": "2026-07",
  "environment": "test",
  "data": {
    "$type": "money.atmosphere.event.receive#paymentRefunded",
    "paymentId": "pay_01HZYATM0001",
    "refundId": "refund_01HZYATM0002",
    "amountRefunded": 2500,
    "currency": "usd",
    "reason": "requested-by-customer",
    "appOrderId": "ord_123"
  }
}

Subscription updated

json
{
  "id": "whd_sub_updated_01",
  "type": "subscription.updated",
  "createdAt": "2026-06-05T16:00:00.000Z",
  "apiVersion": "2026-07",
  "environment": "test",
  "data": {
    "$type": "money.atmosphere.event.receive#subscriptionUpdated",
    "subscriptionId": "sub_01HZYATM0003",
    "status": "active",
    "amount": 1000,
    "previousAmount": 500,
    "currency": "usd",
    "cadence": "month",
    "payerDid": "did:plc:buyer",
    "recipientDid": "did:plc:creator",
    "appSubscriptionRef": "support:creator.example"
  }
}

Product archived

json
{
  "id": "whd_product_archived_01",
  "type": "product.archived",
  "createdAt": "2026-06-05T17:00:00.000Z",
  "apiVersion": "2026-07",
  "environment": "test",
  "data": {
    "$type": "money.atmosphere.event.receive#productArchived",
    "product": {
      "uri": "at://did:plc:creator/money.atmosphere.product/abc",
      "cid": "bafy..."
    },
    "creatorDid": "did:plc:creator"
  }
}

Tickets issued

json
{
  "id": "whd_tickets_issued_01",
  "type": "tickets.issued",
  "createdAt": "2026-06-05T18:00:00.000Z",
  "apiVersion": "2026-07",
  "environment": "test",
  "data": {
    "$type": "money.atmosphere.event.receive#ticketsIssued",
    "eventUri": "at://did:plc:organizer/community.lexicon.calendar.event/abc",
    "holdId": "hold_01HZYATM0004",
    "paymentId": "pay_01HZYATM0005",
    "issuedCount": 2,
    "buyerDid": "did:plc:buyer",
    "appOrderId": "ticket_order_123",
    "tickets": [
      {
        "ticketId": "ticket_01HZYATM0006",
        "tierId": "tier_general",
        "status": "issued"
      }
    ]
  }
}

Ticket checked in

json
{
  "id": "whd_ticket_checked_in_01",
  "type": "ticket.checked-in",
  "createdAt": "2026-06-05T19:00:00.000Z",
  "apiVersion": "2026-07",
  "environment": "test",
  "data": {
    "$type": "money.atmosphere.event.receive#ticketCheckedIn",
    "ticketId": "ticket_01HZYATM0006",
    "eventUri": "at://did:plc:organizer/community.lexicon.calendar.event/abc",
    "checkInListId": "list_main_gate",
    "checkedInAt": "2026-06-05T19:00:00.000Z",
    "scannerDid": "did:plc:scanner",
    "repeat": false
  }
}
Event payload examples - Atmosphere Money Docs