MembershipCharges

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.

get/customers/membership-charges

Query parameters

site_idstring

Filter results by the site they belong to

organisation_idstring uuid

Filter customers that belong to the given organisation ID

membership_idstring

Filters charges by the membership ID

statusstring
Example:processing

Filters charges by the status

billing_period_from_startstring date
Example:2020-01-01

Filters charges to those with a 'billing period from' on or after the specified date

billing_period_from_endstring date
Example:2020-01-01

Filters charges to those with a 'billing period to' on or before the specified date

created_at_startstring date
Example:2020-01-01

Filters charges to those with a 'created at' on or after the specified date

created_at_endstring date
Example:2020-01-01

Filters charges to those with a 'created at' on or before the specified date

amount_fromnumber

Filters charges to those with an amount greater than or equal to the specified value

amount_tonumber

Filters charges to those with an amount less than or equal to the specified value

processorstring
Example:stripe

Filters charges by the processor

pageinteger

The page to retrieve results from

per_pageinteger

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.