ChargebeeAPI

Delete a customer

Idempotency Supported
Try in API Explorer

Deletes a specified customer.

This operation schedules the customer resource for deletion, and it is permanently deleted after a few minutes.

If you wish to retain the customer data but stop further subscription renewals, consider canceling or pausing the subscriptions instead.

Prerequisites & Constraints

  • The customer must not be part of an account hierarchy (neither a parent nor a child).
  • The customer record must not have any linked gift subscriptions (neither gifter nor recipient).
  • None of the customer's invoices may be paid by a different customer.
  • None of the customer's credit notes may be allocated to an invoice that belongs to a different customer.

Impacts

Subscriptions

  • All the subscriptions belonging to the customer are deleted.
  • See Delete a subscription API for more details on the impacts of deleting a subscription.

Invoices

  • All the invoices belonging to the customer are deleted.
  • See Delete an invoice API for more details on the impacts of deleting an invoice.

Credit notes

  • All the credit notes belonging to the customer are deleted.

Payment sources

The payment sources linked to the customer are deleted and also removed from the payment gateway. To retain payment gateway records, pass delete_payment_method = false.

Reports

  • The numbers in the following reports are modified when a customer is deleted: Payments, New Revenue, Signups, Activations, Cancellations, and Refunds.

Implementation Notes

Before deleting a customer, ensure the following:

  • Check and remove account hierarchy linkage:
    1. Use the Get hierarchy API to check if the customer is part of an account hierarchy.
    2. If the customer is part of an account hierarchy, use the Unlink a customer from its parent account API to remove the customer from the hierarchy.
  • Remove any payments by other customers:
    1. Use the List invoices API to retrieve all the invoices for this customer.
    2. For each invoice, look up all the linked payments (invoice.linked_payments[]).
    3. For each linked payment, check if the payer (transaction.customer_id) is this customer.
    4. If not, use the Remove payment from an invoice API to remove the payment from the invoice.
  • Remove credit note allocations to other customers:
    1. Use the List credit notes API to retrieve all the credit notes for this customer.
    2. For each credit note, look up all the invoice allocations (credit_note.allocations.invoice_id).
    3. For all such invoices, check if the associated customer (invoice.customer_id) is this customer.
    4. If not, use the Remove credit note from an invoice API to remove the allocation.
  • Remove credit note allocations from other customers:
    1. Use the List invoices API to retrieve all the invoices for this customer.
    2. For each invoice, look up all the applied credit notes (credit_note.applied_credits.cn_id).
    3. For all such credit notes, check if the associated customer (credit_note.customer_id) is this customer.
    4. If not, use the Remove credit note from an invoice API to remove the credit note allocation.

Sample Request

URL Format

POST https://[site].chargebee.com/api/v2/customers/{customer-id}/delete

Input Parameters

delete_payment_method
optional, boolean, default=true

Deletes the Payment Method from the gateway/vault.

Returns

customerCustomer object
Resource object representing customer
cardCard object
Resource object representing card