Skip to content

PaymentSource.added

Emitted each time a Payment Source is added.

PaymentSource.add emits PaymentSource.added when it completes on a Payment Source.

PropertyValue
Emitted byPaymentSource.add
NounPayment Source
WakesNone.

Payload

Each delivery is an Event record. data holds what PaymentSource.add returns.

FieldTypeRequiredDescription
namestringrequiredPaymentSource.added.
atdatetimerequiredWhen it happened.
seqintegerIts position in the namespace, one more than the Event before; any seq is a cursor into the history.
datajsonrequiredThe Thing as the Action left it.
data.paymentSourcePayment SourcerequiredThe saved Payment Source; Stripe holds its details.
data.paymentSource.kindstringrequiredHow it pays: a card, a bank debit from the Customer’s account, or a wallet on the Customer’s phone or browser.
data.paymentSource.labelstringrequiredWhat the Customer sees, such as the card brand and last four digits; never the full number.
data.paymentSource.expiresOndateWhen a card expires; the billing portal asks for a new one 30 days before.
data.paymentSource.defaultbooleanTrue for the one Payment Source that new Invoices and renewals charge.
data.paymentSource.removedAtdatetimeWhen the Customer removed it; nothing charges it after, and the record stays.

Example

JSON
{
  "$id": "https://api.sb/kilnbakery.com/events/event_1",
  "$type": "Event",
  "name": "PaymentSource.added",
  "at": "2026-10-22T12:00:00Z",
  "data": {
    "paymentSource": {
      "$id": "https://api.sb/kilnbakery.com/payment-sources/payment_source_1",
      "$type": "PaymentSource",
      "kind": "card",
      "label": "Visa 4242",
      "expiresOn": "2026-10-22",
      "default": true,
      "removedAt": "2026-10-22T12:00:00Z"
    }
  },
  "seq": 1
}