class Quickbooks::Service::AccessToken

def disconnect

https://developer.intuit.com/docs/0025_quickbooksapi/0053_auth_auth/oauth_management_api#Disconnect
def disconnect
  connection = Faraday.new(headers: { 'Content-Type' => 'application/json' }) do |f|
    f.adapter(::Quickbooks.http_adapter)
    if Gem.loaded_specs['faraday'].version >= Gem::Version.create('2.0')
      f.request(:authorization, :basic, oauth.client.id, oauth.client.secret)
    else
      f.basic_auth(oauth.client.id, oauth.client.secret)
    end
  end
  url = "#{DISCONNECT_URL}?minorversion=#{Quickbooks.minorversion}"
  response = connection.post(url) do |request|
    request.body = JSON.generate({ token: oauth.refresh_token || oauth.token })
  end
  if response.success?
    Quickbooks::Model::AccessTokenResponse.new(error_code: "0")
  else
    Quickbooks::Model::AccessTokenResponse.new(
      error_code: response.status.to_s, error_message: response.reason_phrase
    )
  end
end