GoCardlessClient.Resources.Customers (GoCardlessClient v2.0.0)

Copy Markdown View Source

GoCardlessClient Customers API.

Customers represent the people or organisations you collect payments from. Each customer can have multiple bank accounts and mandates.

Example

{:ok, customer} = GoCardlessClient.Resources.Customers.create(client, %{
  email: "alice@example.com",
  given_name: "Alice",
  family_name: "Smith",
  country_code: "GB"
})

Summary

Functions

Eagerly collects all customers into a list.

Creates a new customer. :email is required.

Retrieves a single customer by ID.

Returns a page of customers with optional filters (:email, :created_at[gte], etc.).

Removes (GDPR-erases) a customer. All associated mandates are cancelled.

Returns a lazy Stream over all pages of customers.

Updates a customer. All params are optional.

Functions

collect_all(client, params \\ %{}, opts \\ [])

@spec collect_all(GoCardlessClient.Client.t(), map(), keyword()) ::
  {:ok, [map()]}
  | {:error, GoCardlessClient.APIError.t() | GoCardlessClient.Error.t()}

Eagerly collects all customers into a list.

create(client, params, opts \\ [])

Creates a new customer. :email is required.

get(client, id, opts \\ [])

Retrieves a single customer by ID.

list(client, params \\ %{}, opts \\ [])

@spec list(GoCardlessClient.Client.t(), map(), keyword()) ::
  {:ok, %{items: [map()], meta: map()}}
  | {:error, GoCardlessClient.APIError.t() | GoCardlessClient.Error.t()}

Returns a page of customers with optional filters (:email, :created_at[gte], etc.).

remove(client, id, opts \\ [])

Removes (GDPR-erases) a customer. All associated mandates are cancelled.

stream(client, params \\ %{}, opts \\ [])

@spec stream(GoCardlessClient.Client.t(), map(), keyword()) :: Enumerable.t()

Returns a lazy Stream over all pages of customers.

update(client, id, params, opts \\ [])

Updates a customer. All params are optional.