Skip to content

Sources ​

Source objects allow you to accept a variety of payment methods. They represent a customer’s payment instrument, and can be used with the Stripe API just like a Card object: once chargeable, they can be charged, or can be attached to customers.

Stripe doesn’t recommend using the deprecated Sources API. We recommend that you adopt the PaymentMethods API. This newer API provides access to our latest features and payment method types.

Related guides: Sources API and Sources & Customers.

Endpoints ​

Create a source ​

  • POST /v1/sources

Update a source ​

  • POST /v1/sources/:id

Retrieve a source ​

  • GET /v1/sources/:id

Attach a source ​

  • POST /v1/customers/:id/sources

Detach a source ​

  • DELETE /v1/customers/:id/sources/:id

Events ​

  • account.external_account.created Occurs whenever an external account is created.

  • account.external_account.deleted Occurs whenever an external account is deleted.

  • account.external_account.updated Occurs whenever an external account is updated.

  • customer.source.created Occurs whenever a new source is created for a customer.

  • customer.source.deleted Occurs whenever a source is removed from a customer.

  • customer.source.expiring Occurs whenever a card or source will expire at the end of the month. This event only works with legacy integrations using Card or Source objects. If you use the PaymentMethod API, this event won’t occur.

  • customer.source.updated Occurs whenever a source’s details are changed.

  • source.canceled Occurs whenever a source is canceled.

  • source.chargeable Occurs whenever a source transitions to chargeable.

  • source.failed Occurs whenever a source fails.

  • source.refund_attributes_required Occurs whenever the refund attributes are required on a receiver source to process a refund or a mispayment.

Stripe API Reference - Self-contained docs reference, refreshed 2026-05-18