lib/requests/payments/sources/eps.ex

defmodule Requests.Payments.Sources.Eps do
    @moduledoc false
  @type t :: %__MODULE__{
          type: String.t(),
          purpose: String.t()
        }

  @enforce_keys [:type, :purpose]
  defstruct [
    :type,
    :purpose
  ]

  def build(%{type: type, purpose: purpose}) do
    %{
      type: type,
      purpose: purpose
    }
  end

  def build(%{"type" => type, "purpose" => purpose}) do
    %{
      type: type,
      purpose: purpose
    }
  end

  def build(_), do: nil
end