View Source QRNBU.Validators.FunctionCode (NBU payment QR v0.3.3)

Validator for payment function codes.

Validates function codes that specify the type of payment transaction.

Summary

Functions

Returns list of valid function codes.

Validates function code.

Functions

@spec valid_functions() :: [atom()]

Returns list of valid function codes.

@spec validate(atom()) :: {:ok, atom()} | {:error, String.t()}

Validates function code.

Valid Codes

  • :uct - Ukrainian Credit Transfer (default)
  • :ict - International Credit Transfer
  • :xct - Cross-border Credit Transfer

Examples

iex> QRNBU.Validators.FunctionCode.validate(:uct)
{:ok, :uct}

iex> QRNBU.Validators.FunctionCode.validate(:ict)
{:ok, :ict}

iex> QRNBU.Validators.FunctionCode.validate(:xct)
{:ok, :xct}

iex> QRNBU.Validators.FunctionCode.validate(:invalid)
{:error, "Invalid function code. Must be one of: uct, ict, xct"}

iex> QRNBU.Validators.FunctionCode.validate("uct")
{:error, "Function code must be an atom"}