For 1), there may be some plugins or some such thing for a CMS that you use. I am not big on CMS and know not much about them. Simple and easy are subjective. When you’re dealing with dynamic web applications there tends to be a limit to simple and easy.
For 2), you’re asking for quite a bit. That’s probably a surprise to you. To have 100% control of the appearance of the payment page you will have to use an integration method with substantial PCI compliance requirements. This of course assumes that the shopping cart you want is also where payment takes place. If you just want an electronic goods basket which passes the transaction amount to a 3rd party payment page then you can have whatever you want.
If you wish to have a payment page with a large degree of control over the appearance your best option may be a java version of the souped up iframe accept hosted integration that is on github. You won’t have 100% control but will have much more than other solutions with the same compliance burden.
The remaining option would be to use an integration method that would result in SAQ A-EQ or SAQ-D PCI scope, or some hybrid of those scopes. If you’re looking for free and easy that’s not going to work at all. The SAQ D compliance document is 86 pages, with list after list of requirements. SAQ A-EQ is much less than that, but you’re still looking at dozens of requirements, many of which are very involved.
For 3), you can get that with everything that authorize offers that I am aware of. I haven’t studied some of the simpler integrations, like for instance those where you just copy and paste code on your web page (I an pretty sure they have something like this), but for all of the API based integrations I know of you can get everything about the transaction back, both manually and automated. No CC info of course, except the last 4 of the PAN.
For 4) that would be entirely on your end. The payment processor/gateway would have nothing to do with that in any circumstance that I am aware of. You could find a prebuilt product that would do that, but I’m not thinking free is likely. Inventory control would have a lot of backend dB interaction and programming involved.
5), quite sorry but I’ve yet to learn hardly anything about java. I would wager there are options out there that are compatible.
Got to go my friend, but I hope this helps you in some way.