Delete payment method

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Overview

Delete a payment method. Soft-deletes the record.

Example: Remove a customer's expired credit card from their account.


Validation Constraints

ConditionResult
Payment method is associated with an active subscriptionReturns 400: "Cannot delete source already associated to a subscription"
Payment method does not exist or belongs to a different siteReturns 404

Side Effects by Payment Gateway

The delete behavior varies depending on the account's active payment gateway.

Stripe

BehaviorDetail
External API callDetaches the payment method from the Stripe customer
Local effectSoft-deletes the record
Event firedsource.deleted is dispatched asynchronously once Stripe webhook round-trip is received and processed

Braintree

BehaviorDetail
External API callDeletes the payment method from Braintree
Local effectSoft-deletes the record
Event firedsource.deleted is dispatched synchronously in the same request

Tap

BehaviorDetail
External API callExternal deletion is not yet implemented
Local effectSoft-deletes the record
Event firedsource.deleted is dispatched synchronously in the same request

Vantiv

BehaviorDetail
External API callExternal deletion is not yet implemented
Local effectSoft-deletes the record
Event firedsource.deleted is dispatched synchronously in the same request

Cybersource

BehaviorDetail
External API callExternal deletion is not yet implemented
Local effectSoft-deletes the record
Event firedsource.deleted is dispatched synchronously in the same request

Important Behaviors

  • Deleting a customer's default payment method does not automatically reassign another payment method as the new default. The default_source_id may reference a soft-deleted record.
  • The source.deleted event triggers connected webhook and integration listeners (e.g., MailChimp sync).
  • For Stripe accounts, the event is fired asynchronously via webhook, meaning integrations react after a short delay rather than within the API response.
Query Params
int32
required
Headers
string
required
Defaults to Bearer eyJ***
Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json