Products with different prices in an order
Below is my take on it: 


Have two separate price columns, once for $ and the other for €. If in some stage in the future you will start taking payments in more currencies, you will likely use one of the prices as the base price and do a currency conversion calculation.
Depending on the complexity of the rules you have two choices:


a. Add "bundles" and "bundled products" tables which will store information about discount prices and what product combinations are eligible.
Pros:
You can easily implement functionality to manage bundles in the front end.
Cons:
Complex ad-hoc rules cannot be implemented this way.
b. Implement order price calculation rules in code (either database side or front end side, which will calculate final order price based on the products added.
Pros:
This approach allows for any number of complex rules specified.
Cons:
Requires program changes to change the rules.
The rules are not transparent to administrators / customers.