GoCardless Payer Authorisations API (Legacy).
This is a legacy API. New integrations should use
GoCardlessClient.Resources.BillingRequests instead, which supports
Open Banking, fallback flows, and custom UIs.
Payer Authorisations collect mandate authorisation in a single object. They do not support Open Banking.
States
created → submitted → completed / failed
Example
{:ok, pa} = GoCardlessClient.Resources.PayerAuthorisations.create(client, %{
payer: %{email: "alice@example.com"},
bank_account: %{
account_holder_name: "Alice Smith",
account_number: "55779911",
branch_code: "200000",
country_code: "GB"
},
mandate: %{scheme: "bacs"}
})
{:ok, _} = GoCardlessClient.Resources.PayerAuthorisations.submit(client, pa["id"])
{:ok, _} = GoCardlessClient.Resources.PayerAuthorisations.confirm(client, pa["id"])
Summary
Functions
Eagerly collects all Payer Authorisations into a list.
Confirms a Payer Authorisation after the customer has approved.
Creates a Payer Authorisation with customer, bank account, and mandate details.
Retrieves a single Payer Authorisation by ID.
Returns a page of Payer Authorisations with optional filters.
Returns a lazy Stream over all pages of Payer Authorisations.
Submits a Payer Authorisation for customer approval.
Updates a Payer Authorisation with revised customer, bank account, or mandate details.
Functions
@spec collect_all(GoCardlessClient.Client.t(), map(), keyword()) :: {:ok, [map()]} | {:error, GoCardlessClient.APIError.t() | GoCardlessClient.Error.t()}
Eagerly collects all Payer Authorisations into a list.
@spec confirm(GoCardlessClient.Client.t(), String.t(), map(), keyword()) :: {:ok, map()} | {:error, GoCardlessClient.APIError.t() | GoCardlessClient.Error.t()}
Confirms a Payer Authorisation after the customer has approved.
@spec create(GoCardlessClient.Client.t(), map(), keyword()) :: {:ok, map()} | {:error, GoCardlessClient.APIError.t() | GoCardlessClient.Error.t()}
Creates a Payer Authorisation with customer, bank account, and mandate details.
@spec get(GoCardlessClient.Client.t(), String.t(), keyword()) :: {:ok, map()} | {:error, GoCardlessClient.APIError.t() | GoCardlessClient.Error.t()}
Retrieves a single Payer Authorisation by ID.
@spec list(GoCardlessClient.Client.t(), map(), keyword()) :: {:ok, %{items: [map()], meta: map()}} | {:error, GoCardlessClient.APIError.t() | GoCardlessClient.Error.t()}
Returns a page of Payer Authorisations with optional filters.
@spec stream(GoCardlessClient.Client.t(), map(), keyword()) :: Enumerable.t()
Returns a lazy Stream over all pages of Payer Authorisations.
@spec submit(GoCardlessClient.Client.t(), String.t(), map(), keyword()) :: {:ok, map()} | {:error, GoCardlessClient.APIError.t() | GoCardlessClient.Error.t()}
Submits a Payer Authorisation for customer approval.
@spec update(GoCardlessClient.Client.t(), String.t(), map(), keyword()) :: {:ok, map()} | {:error, GoCardlessClient.APIError.t() | GoCardlessClient.Error.t()}
Updates a Payer Authorisation with revised customer, bank account, or mandate details.