lib/requests/payments/payment/billing_descriptor.ex

defmodule Requests.Payments.Payment.BillingDescriptor do
  @moduledoc false
  @type t() :: %{
          city: String.t(),
          name: String.t(),
          reference: String.t()
        }

  @enforce_keys [:city, :name]
  defstruct [
    :city,
    :name,
    :reference
  ]

  def build(params) when is_map(params) do
    %{
      city: params[:city],
      name: params[:name],
      reference: params[:reference]
    }
  end

  def build(_), do: nil
end