Unit.API.Cards (Unit v1.0.0)

Copy Markdown View Source

API module for Unit Cards (debit and credit, physical and virtual).

Card types

  • individualDebitCard / individualVirtualDebitCard
  • businessDebitCard / businessVirtualDebitCard
  • businessCreditCard / businessVirtualCreditCard

Sensitive operations

Card PAN, CVV, and PIN management require a Cardholder Token or Customer Token with 2FA. See Unit.API.Tokens.

Summary

Functions

Activate a physical card before first use.

Close (permanently deactivate) a card.

Issue a business physical credit card.

Issue a business physical debit card.

Issue a business virtual credit card.

Issue a business virtual debit card.

Issue an individual physical debit card.

Issue an individual virtual debit card.

Freeze a card.

Get a card by ID.

Get card spending limits.

Get PIN status (whether a PIN is set and if change is required).

Get card sensitive data as a secure display URL.

List cards.

Replace a card (lost/damaged). The old card is closed and a new one issued.

Report a card as lost.

Report a card as stolen.

Unfreeze a card.

Update a card's tags or limits.

Functions

activate(id, opts \\ [])

@spec activate(
  String.t(),
  keyword()
) :: {:ok, Unit.Resource.Card.t()} | {:error, term()}

Activate a physical card before first use.

close(id, opts \\ [])

@spec close(
  String.t(),
  keyword()
) :: {:ok, Unit.Resource.Card.t()} | {:error, term()}

Close (permanently deactivate) a card.

create_business_credit(params, opts \\ [])

@spec create_business_credit(
  map(),
  keyword()
) :: {:ok, Unit.Resource.Card.t()} | {:error, term()}

Issue a business physical credit card.

create_business_debit(params, opts \\ [])

@spec create_business_debit(
  map(),
  keyword()
) :: {:ok, Unit.Resource.Card.t()} | {:error, term()}

Issue a business physical debit card.

create_business_virtual_credit(params, opts \\ [])

@spec create_business_virtual_credit(
  map(),
  keyword()
) :: {:ok, Unit.Resource.Card.t()} | {:error, term()}

Issue a business virtual credit card.

create_business_virtual_debit(params, opts \\ [])

@spec create_business_virtual_debit(
  map(),
  keyword()
) :: {:ok, Unit.Resource.Card.t()} | {:error, term()}

Issue a business virtual debit card.

create_individual_debit(params, opts \\ [])

@spec create_individual_debit(
  map(),
  keyword()
) :: {:ok, Unit.Resource.Card.t()} | {:error, term()}

Issue an individual physical debit card.

create_individual_virtual_debit(params, opts \\ [])

@spec create_individual_virtual_debit(
  map(),
  keyword()
) :: {:ok, Unit.Resource.Card.t()} | {:error, term()}

Issue an individual virtual debit card.

freeze(id, opts \\ [])

@spec freeze(
  String.t(),
  keyword()
) :: {:ok, Unit.Resource.Card.t()} | {:error, term()}

Freeze a card.

get(id, opts \\ [])

@spec get(
  String.t(),
  keyword()
) :: {:ok, Unit.Resource.Card.t()} | {:error, term()}

Get a card by ID.

get_limits(id, opts \\ [])

@spec get_limits(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Get card spending limits.

get_pin_status(id, opts \\ [])

@spec get_pin_status(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Get PIN status (whether a PIN is set and if change is required).

get_secure_data(id, opts \\ [])

@spec get_secure_data(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Get card sensitive data as a secure display URL.

Returns a URL for use in an <iframe> or <webview> so the PAN never passes through your server. Requires a Cardholder Token with cards scope.

list(opts \\ [])

@spec list(keyword()) :: {:ok, [Unit.Resource.Card.t()], map()} | {:error, term()}

List cards.

Filter options

  • :customer_id, :account_id, :status, :type

replace(id, params \\ %{}, opts \\ [])

@spec replace(String.t(), map(), keyword()) ::
  {:ok, Unit.Resource.Card.t()} | {:error, term()}

Replace a card (lost/damaged). The old card is closed and a new one issued.

Params

  • :shipping_address — (physical cards) new shipping address
  • :design, :additional_embossed_text, :tags

report_lost(id, opts \\ [])

@spec report_lost(
  String.t(),
  keyword()
) :: {:ok, Unit.Resource.Card.t()} | {:error, term()}

Report a card as lost.

report_stolen(id, opts \\ [])

@spec report_stolen(
  String.t(),
  keyword()
) :: {:ok, Unit.Resource.Card.t()} | {:error, term()}

Report a card as stolen.

unfreeze(id, opts \\ [])

@spec unfreeze(
  String.t(),
  keyword()
) :: {:ok, Unit.Resource.Card.t()} | {:error, term()}

Unfreeze a card.

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

@spec update(String.t(), map(), keyword()) ::
  {:ok, Unit.Resource.Card.t()} | {:error, term()}

Update a card's tags or limits.