Skip to content

Payment Source

A Payment Source is a card, bank debit or wallet a Customer saves with a Startup, held at Stripe and charged for Orders and Invoices.

Properties

PropertyTypeRequiredDescription
kindstringrequiredHow it pays: a card, a bank debit from the Customer’s account, or a wallet on the Customer’s phone or browser.
labelstringrequiredWhat the Customer sees, such as the card brand and last four digits; never the full number.
expiresOndateWhen a card expires; the billing portal asks for a new one 30 days before.
defaultbooleanTrue for the one Payment Source that new Invoices and renewals charge.
removedAtdatetimeWhen the Customer removed it; nothing charges it after, and the record stays.

Object

JSON
{
  "$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"
}

Relationships

Verbs

  1. getReturns one Payment Source by id.
    GET /{namespace}/payment-sources/{id}readNo Event
  2. listReturns Payment Sources, newest first, one page at a time.
    GET /{namespace}/payment-sourcesreadNo Event
  3. updateChanges the given properties of a Payment Source.
    PATCH /{namespace}/payment-sources/{id}doPaymentSource.updated
  4. addAdd saves a new Payment Source for a Customer through Stripe’s embedded form on the Startup’s Domain, and can make it the default.
    POST /{namespace}/payment-sources/adddoPaymentSource.added
  5. removeRemove detaches a saved Payment Source so nothing charges it again, and keeps the record.
    POST /{namespace}/payment-sources/{paymentSource}/removedoPaymentSource.removed

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
PaymentSource.getYesYesYesYes
PaymentSource.listYesYesYesYes
PaymentSource.updateYesYesYesNo
PaymentSource.addYesYesYesNo
PaymentSource.removeYesYesYesNo

Call it

Text
Add the latest payment source with a customer.

Example

A clinic on shiftnote.app saves a card ending 4242 as its default Payment Source and a bank debit as a backup. When the card expires, its renewal fails, and adding a new card in the Portal pays the open Invoice at once.