class Paya::ApplicationService < ApplicationService
  def initialize(school)
    @school = school
  end

  private
    def paya
      @school.find_or_build_paya_config
    end

    def paya_secrets
      Rails.application.secrets.paya[paya.environment.to_sym]
    end

    def base_uri
      paya_secrets[:api_url]
    end

    def location_id
      paya.location_id
    end

    def developer_id
      paya_secrets[:developer_id]
    end

    def user_id
      paya.user_id || paya_secrets[:user_id]
    end

    def user_api_key
      paya.user_api_key || paya_secrets[:user_api_key]
    end

    def user_hash_key
      paya.user_hash_key || paya_secrets[:user_hash_key]
    end

    def headers
      @headers ||= {
        developer_id: developer_id,
        user_id: user_id,
        user_api_key: user_api_key
      }
    end
end
