PaymentSource.added
Emitted each time a Payment Source is added.
PaymentSource.add emits PaymentSource.added when it completes on a Payment Source.
| Property | Value |
|---|---|
| Emitted by | PaymentSource.add |
| Noun | Payment Source |
| Wakes | None. |
Payload
Each delivery is an Event record. data holds what PaymentSource.add returns.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | required | PaymentSource.added. |
at | datetime | required | When it happened. |
seq | integer | Its position in the namespace, one more than the Event before; any seq is a cursor into the history. | |
data | json | required | The Thing as the Action left it. |
data.paymentSource | Payment Source | required | The saved Payment Source; Stripe holds its details. |
data.paymentSource.kind | string | required | How it pays: a card, a bank debit from the Customer’s account, or a wallet on the Customer’s phone or browser. |
data.paymentSource.label | string | required | What the Customer sees, such as the card brand and last four digits; never the full number. |
data.paymentSource.expiresOn | date | When a card expires; the billing portal asks for a new one 30 days before. | |
data.paymentSource.default | boolean | True for the one Payment Source that new Invoices and renewals charge. | |
data.paymentSource.removedAt | datetime | When the Customer removed it; nothing charges it after, and the record stays. |
Example
{
"$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
}