If I have an instance of the extension for every product category, each one on a different page, this makes the cart lighter by only loading the list of products that I want to see, but if I choose products browsing different categories from different pages, they get added to the cart and checkout?

yes, products you added to the cart won't be removed from the list even in the case you navigate from/to different pages

In my website, I already have a catalog of chemical products organized by categories, in which I show the name and description of every product and a link to the full detail PDF file. If I use the "add to cart module", will I be able to add a button just below my description or PDF link and get the product added to the cart?. That would be great as I wouldn't need to create new pages with the same information.

yes, just remember that you cannot add items from the pdf itself

Having this in mind, if I add an "add to cart" button, which has the product details like price in it's properties, I guess I will need one button for every product presentation I have, for example, an "Add to cart" button with half gallon price and one button for 1 gallon price, etc?

yes, if you want to handle as different productsno, you can use "price variants" connecting with different "external objects" (like a combobox)

1. If I need the save the user information to keep their name, address, email, telephone, etc, I guess I should use CMS forms to he enters his info and then take him to the shop, right? or there's a way to use the same process "On Delivery payments" use in which the client should capture their data. Using php of course.

2. I guess there's no way for the user to save an order for later or to speed up the buying process when they buy the same products every month, right?

1. not cms forms, php; however this applies to on-delivery payments. using paypal you can prompt for a required address to deliver physical goods
2. both parties receive an email with the transactions details; paypal cares of, and if you are using on-delivery payments, the extension sends an email to both parties as well with the transaction details. each one is the responsible to store the information for later use

I want to give a gift when the purchase reaches a predefined amount. Is there a way to use the discount feature to know the purchase reached the amount and then allow the client to choose from a list of codes which belong to different gifts?.

Let's say if you buy $200, a predefined amount that grants you a free gift, then a combo box appears so you can choose from items KN234 Knife set, CC8923 Celular case or BS8234 Bluetooth Speaker. Like adding a discount coupon.

you can specify that percentage/flat-amount for global discounts in the checkout process or you can allow discounts in specific items, as for the current available version (1.4.1.1) items cannot be the discount itself

hi
prices and included features are listed here: www.magnawebstudio.com/shop (select the 'eCommerce' option from the menu)
for more detailed technical information visit the following link: www.magnawebstudio.com/developer (select the extensions you want from the left panel)
1. the extensions are a gateway to paypal (pay-on-delivery is included)
2. you can easily translate or adapt all the messages (that are the result of the interaction with the shopping modules)
3. just follow the previous links, read the information and then you decide what you want, if you have any further question/s feel free to get in contact again whenever you want
with regards