StarlingBank.Cards (StarlingBank v1.0.0)

Copy Markdown View Source

Cards — list cards on an account and manage their controls (freeze, spending limits, geographic/channel restrictions).

Required scopes: card:read, card-control:edit.

Summary

Functions

Gets the current spending/channel controls for a card.

Disables (freezes) a card.

Lists all cards on the account holder's accounts.

Enables/disables a specific channel control (e.g. :atm, :online, :mobile_wallet, :contactless, :pos, :gambling).

Sets a per-transaction spending limit control on a card.

Types

t()

@type t() :: %StarlingBank.Cards{
  card_type: String.t() | nil,
  card_uid: String.t(),
  enabled: boolean(),
  name_on_card: String.t() | nil
}

Functions

controls(card_uid, client \\ nil)

@spec controls(String.t(), StarlingBank.Client.t() | keyword() | nil) ::
  {:ok, map()} | {:error, StarlingBank.Error.t()}

Gets the current spending/channel controls for a card.

disable(card_uid, client \\ nil)

@spec disable(String.t(), StarlingBank.Client.t() | keyword() | nil) ::
  {:ok, nil} | {:error, StarlingBank.Error.t()}

Disables (freezes) a card.

enable(card_uid, client \\ nil)

@spec enable(String.t(), StarlingBank.Client.t() | keyword() | nil) ::
  {:ok, nil} | {:error, StarlingBank.Error.t()}

Enables a card.

list(client \\ nil)

@spec list(StarlingBank.Client.t() | keyword() | nil) ::
  {:ok, [t()]} | {:error, StarlingBank.Error.t()}

Lists all cards on the account holder's accounts.

set_channel_control(card_uid, channel, enabled, client \\ nil)

@spec set_channel_control(
  String.t(),
  atom(),
  boolean(),
  StarlingBank.Client.t() | keyword() | nil
) ::
  {:ok, nil} | {:error, StarlingBank.Error.t()}

Enables/disables a specific channel control (e.g. :atm, :online, :mobile_wallet, :contactless, :pos, :gambling).

set_spending_limit(card_uid, minor_units, client \\ nil)

@spec set_spending_limit(
  String.t(),
  pos_integer(),
  StarlingBank.Client.t() | keyword() | nil
) ::
  {:ok, nil} | {:error, StarlingBank.Error.t()}

Sets a per-transaction spending limit control on a card.