lib/requests/payments/senders/identification.ex
defmodule Requests.Payments.Senders.Identification do
@type t :: %__MODULE__{
type: String.t(),
number: String.t(),
issuing_country: String.t(),
date_of_expiry: String.t()
}
@enforce_keys [:number, :type]
defstruct [
:type,
:number,
:issuing_country,
:date_of_expiry
]
def build(%{type: type, number: number} = params) when is_map(params) do
%{
type: type,
number: number,
issuing_country: params[:issuing_country],
date_of_expiry: params[:date_of_expiry]
}
end
def build(_), do: nil
end