class Threoze::Payjunction::ApplicationService < ApplicationService
  def initialize(school, action=nil, params={})
    @school = school
    @action = action
    @params = params
  end

  private
    def payjunction_secrets
      Rails.application.secrets.payjunction[:sycamore]
    end

    def base_uri
      payjunction_secrets[:url]
    end

    def key
      Base64.urlsafe_encode64("#{payjunction_secrets[:username]}:#{payjunction_secrets[:password]}")
    end

    def headers
      {
        Authorization: "Basic #{key}",
        'X-PJ-Application-Key': payjunction_secrets[:key],
        'Content-Length': 0,
        'Content-Type': 'application/x-www-form-urlencoded'
      }
    end

    def url
      "#{base_uri}/#{endpoint}"
    end
end
