I want to display different price for same product per store. Like an attribute. These stores will have different currency, but will not be based on currency exchange rates. For eg if products of 1 USD= 2 Kr The another product of 10 usd may be of 30 Kr, so it is not dependent on exchange rates, but my own entries.
You can do this on a per website basis.
To do so, you need to go to
Then in the tab "Price", set price scope to Website instead of global.
On the product edit page, you can then set the scope on the upper left side to your website and then enter a per website price.
Magento does not allow setting a per store price. However, there are some extensions which will allow you a per store price, e.g. http://www.magentocommerce.com/magento-connect/store-view-pricing.html
Another way of approaching this would be to use your own custom currency exchange rates rather than basing them on actual foreign exchange rates. So you just set you Kr rate to 3 rather than 2 from System > Manage Currency > Rates.
The advantage to this is having a single website on your magento instance which will improve performance and also you will only have to manage one price and let your custom exchange rate handle the rest.
The drawbacks are your custom exchange rate may not suit all products pricing in kr. You also probably don't want your customers to see both currencies and your inflated rates, but you may be able to hide this from them with the help of this free extension GeoIP Currency/Store Switcher.
You need to change price scope 'Global' to 'website' (Sysytem->Configuration->Catalog->Catalog->Price)
you can use below code to update different price for different stores. (Magento SOAP v1)
$client = new SoapClient('http://your-web-site/api/soap/?wsdl'); $API_USER = 'your-api-user'; $API_KEY = 'your-api-key'; $result = $client->call($session, 'catalog_product.update', array('test-product', array('price' => '100'),'your-store-code')); print "<pre>"; print_r($result); print "</pre>";