An interactive map requires to save a lot of vector tiles for each zoom level and location. These tiles include, for example, information about streets or the terrain. As these vector tiles are available as open-source version I first planned to host them on my own server. However, due to the size of these tiles (hundreds of gigabytes), this would have required a lot of resources and computing power and exceeds the budget of any small project.
As I was looking for alternatives, I found several map services, which host these tiles and offer them over their API. I finally chose Mapbox, since it allows 50,000 free map loads per month, which is perfect for smaller/hobby projects. Furthermore, it offers a lot of additional features (e.g. dynamical data display, tooltips), which I was able to make use of.
Paypal offers an easy way to integrate payments into web applications. Anyone, with a paypal account, can use the developer tools and integrate this into a website.
There are different methods of integration available. For simple tasks, like donations or selling of single products, there is an online button generator available. The generated button lets a customer pay a certain amount and can be inserted into the HTML code of the website.
For more complex tasks, paypal offers APIs. There is a simple Name-Value Pair (over HTTP) based version and a SOAP based version available. For both there are is large amount of sample code in Java, PHP and .NET, as well as a detailed Reference available.
There are no monthly fees or setup fees to maintain a paypal account. For less than 2.500 EUR per month the transaction fees are 3.4%. If the sales volume increases, there are certain lower fees available.