defmodule Requests.Payments.Sources.Ideal do
@type t :: %__MODULE__{
type: String.t(),
description: String.t(),
bic: String.t(),
language: String.t()
}
@enforce_keys [:type, :description, :bic]
defstruct [
:type,
:description,
:bic,
:language
]
def build(%{type: type, description: description, bic: bic} = params) do
%{
type: type,
description: description,
bic: bic,
language: params[:language]
}
end
def build(%{"type" => type, "description" => description, "bic" => bic} = params) do
%{
type: type,
description: description,
bic: bic,
language: params["language"]
}
end
def build(_), do: nil
end