List MembershipCharges
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.
Query parameters
Filter results by the site they belong to
Filter customers that belong to the given organisation ID
Filters charges by the membership ID
Filters charges by the status
Filters charges to those with a 'billing period from' on or after the specified date
Filters charges to those with a 'billing period to' on or before the specified date
Filters charges to those with a 'created at' on or after the specified date
Filters charges to those with a 'created at' on or before the specified date
Filters charges to those with an amount greater than or equal to the specified value
Filters charges to those with an amount less than or equal to the specified value
Filters charges by the processor
The page to retrieve results from
The number of results to return per page
Response
The MembershipCharges were successfully retrieved
Example response
{
"links": {
"first": "http://example.com?page=1",
"next": "https://example.com?page=3",
"prev": "https://example.com?page=1",
"last": "https://example.com?page=4"
},
"meta": {
"from": 1,
"to": 2,
"total": 2,
"current_page": 1,
"last_page": 2,
"per_page": 15,
"path": "http://example.com/api"
},
"data": [
{
"membership": {
"membership_number": "00000014",
"type_name": "Gold Membership",
"customer_name": "Jane Jones"
},
"processor": "adyen",
"processor_data": {
"cardholder_name": "Mrs J Jones",
"processor_type": "Cash"
},
"amount": 3995,
"original_amount": 3995,
"currency": "gbp",
"status": "succeeded",
"refunds": [
{
"status": "succeeded",
"currency": "gbp",
"notes": "Gesture of good will",
"failure_reason": "invalid_details",
"refunded_by": {
"full_name": "Jane Jenkins"
},
"processor_data": {
"processor": "adyen",
"processor_id": "re_64301e0b2df9d11814010ea6"
}
}
]
}
]
}Changes
No recorded changes to this endpoint across all 1 revision of this API.