1) You can even choose to accept payments by more than one method and leave it up to each buyer to pick which checkout method they prefer. These are the payment services we currently support:
PayPal Standard will usually offer buyers an option to pay with a credit card if they do not have a PayPal account; see details here:
2) This help page explains some approaches to package multiple files together as a single download product; note that a product can either have a single file upload of its own (which could be a single .zip file containing multiple files), or it can issue download links for files uploaded for other products, but it cannot issue both its own file and other products' files:
3) We have no built-in way to enforce whether buyers can purchase some product based on any criteria such as previous purchase of some other product; indeed, every buyer is "anonymous" to our system until AFTER they have already completed payment for their order. Any buyer who can access a purchase button for a product will be able to use that button, so you can only control who has access to which buttons on which purchase pages. E.g., if you only want to buyers of Product A to have access to purchase Product B, you could put the purchase button for B only on the post-checkout thank-you page for A, or put a link to your site's purchase page for B only on A's thank-you page and/or thank-you email message.
4) We have no way to restrict buyers according to zipcode. You can only limit your accepted shipping destination countries, which would apply to all tangible goods you sell across the board, but there'd be no way to prevent buyers simply lying about their location if they don't expect to receive any shipments of tangible goods. PayPal may provide some way of refusing or allowing checkout for buyers in specific locations.
5) You can create a discount code that you could provide in the thank-you/download page and/or thank-you email message for certain products. This help page explains our discount settings:
6) Just enable the "Shipping/Buyer's Address" option in the settings of each product that should trigger collection of a buyer's address during checkout. That's all you'd need to do if you want to offer free shipping; however, if you want our cart to calculate shipping charges, this help page explains our shipping settings: