Returns a paginated list of MembershipCharges — the historical
record of every direct-debit, card or offline payment captured (or
attempted) against the recurring Memberships in the caller's
organisation.
Use this to power membership-billing reports, reconcile failed
payments before retry, or surface a charge history on a customer's
profile.
Filters cascade: omitting status returns non-pending,
non-refunded charges (the default reporting view). Pass
status=all to include every charge regardless of state, or pass
pending/overdue to scope to the corresponding billing window.
site_id is restricted server-side to the caller's accessible
sites; passing a site_id the caller cannot see returns an empty
result rather than 403.
Requesting the response as CSV (Accept: text/csv) elevates the
permission check to reports.download; use the companion
queueCustomerMembershipCharges
endpoint for asynchronous CSV exports beyond a few thousand rows.
Note: an earlier docs revision listed this operation under
/shop/membership-charges. The Laravel controller has always
lived in customer-api, so /customers/membership-charges is the
correct and canonical path.
Kicks off an asynchronous CSV export of MembershipCharges
matching the supplied filters. Returns immediately with a
QueuedJob envelope; poll
getCustomerQueuedJob until the
job transitions to complete or failed. On success, the job's
output contains a signed download URL for the generated CSV.
Use this in preference to the synchronous
listCustomerMembershipCharges
endpoint when the result set is large (more than a few thousand
rows) or when the export is intended to be emailed to the
requesting user — pass email=true to have the finished CSV
delivered as an email attachment instead of (or alongside) the
pollable download URL.
Requires the reports.download permission on every site whose
charges fall in scope.
Note: an earlier docs revision exposed this operation under
/shop/membership-charges/queue. The Laravel controller has
always lived in customer-api, so /customers/membership-charges/queue
is the correct and canonical path.
When true, the completed CSV is emailed to the requesting user
once the job finishes (in addition to being available via the
queued-job download URL). Defaults to false.